Plik menu

From FluxboxPL.org

Spis treści

Wstęp

Personalizacja menu we Fluxboksie jest zwykle rzeczą nieuniknioną, gdyż większość systemów nie potrafi poprawnie umieścić w menu skrótów do wszystkich zainstalowanych programów. Na szczęście nie ma się czego obawiać, gdyż nie jest to zbyt trudne - polega na modyfikacji pliku ~/.fluxbox/menu (domyślnie - można zmienić w pliku init) o bardzo prostej budowie, przypominającej nieco HTML. Poszczególne pozycje menu dodawane są za pomocą znaczników, a komentarze rozpoczynają się od znaku "#".


Generowanie menu

W większości systemów (oraz w przypadku kompilacji ze źródeł) dostępny jest skrypt, dzięki któremu można bardzo szybko wygenerować sobie menu. Skrypt uruchamia się poleceniem fluxbox-generate_menu, a jako parament można podać:

-g - dodaje menu GNOME, w którym znajdą się jego programy
-k - dodaje menu KDE, w którym znajdą się jego programy
-m - ustala tytuł menu
-r - nie usuwa grup, do których nic nie dodał
-o - wybiera plik, w którym zostanie zapisane menu
-t - wybiera terminal, który ma być domyślnym
-b - wybiera przeglądarkę, która ma być domyslną
-w - wybiera stronę, która będzie ustawiana jako startowa w konsolowych przeglądarkach

-h - pomoc
-a - wyświetla informację o autorach

przykład :

 fluxbox-generate_menu -gk -m "mój fluxbox" -t xterm -b firefox -w http://www.fluxboxpl.org/

Sprawdzenie czy Fluxbox posiada obsługę ikon

Wpierw należy wydać polecenie

fluxbox -i

które wyświetla przydatne informacje o Fluxboksie. W sekcji Skompilowano z opcjami: interesują nas linijki

IMLIB2
XPM

Pierwsza z nich odpowiada za obsługę ikon w formacie png oraz jpg, druga za obsługę ikon w formacie xpm. Jeżeli którąś z nich poprzedza minus (-) oznacza to, że Fluxbox nie został skompilowany z daną opcją (a co za tym idzie nie będzie można wykorzystać ikonek w danym formacie.

Większość ikon możemy odnaleźć w /usr/share/icons/ oraz /usr/share/pixmaps/

Modyfikowanie menu

Graficzne

Dla mniej zaawansowanych użytkowników dostępne są graficzne narzędzia do modyfikowania menu Fluxboksa. Jednym z nich jest fluxMenu.

Ręczne

Ponieważ plik menu jest zwykłym plikiem tekstowym, można go także modyfikować przy pomocy dowolnego edytora tekstu. Aby jednak to robić, konieczna jest wiedza zawarta w poniższych punktach ;) .

Budowa pliku menu

Wiekszość linii w pliku menu wygląda następująco:

[etykieta] (nazwa) {komenda lub lokalizacja} <lokalizacja ikony>

[etykieta] – polecenia specyficzne dla Fluxboksa, opisane poniżej.

(nazwa) – nazwa, pod jaką wyświetlana będzie dana linijka w menu. Znaki specjalne (np. nawiasy - ()) należy unieważnić odwróconym ukośnikiem (\).

{komenda lub lokalizacja} – komenda wykonywana po kliknięciu na daną pozycję. Może być ścieżką, chociaż ma to sens tylko, gdy nie znajduje się ona w zmiennej $PATH. Przynajmniej potoki (|) są zrozumiałe dla Fluxboksa, jednak należy uważać na wykorzystaywanie funkcji specyficznych dla użwyanej powłoki.

<lokalizacja ikony> - bezwzględna ścieżka do ikony, która zostanie wyświetlona na lewo od pozycji w menu; zazwyczaj wykorzystuje się ikony o rozmiarach 16x16 px; np. <usr/share/pixmaps/gsame.xpm>


Podstawowe znaczniki

[begin] (nazwa)

Rozpoczyna menu i jest niezbędne do jego poprawnego działania. W nawiasie znajduje się napis umieszczony w nagłówku menu. Standardowo jest to słowo Fluxbox.

Przykład:

[begin] (Mój Fluxbox)


[end]

Zamyka menu lub podmenu.

Przykład:

[begin] (Fluxbox)
 (tutaj znajduje się menu)
[end]
Uwaga! Plik menu musi rozpoczynać się [begin] i kończyć [end] (nie licząc komentarzy oraz [encoding]).


[exec] (nazwa) {komenda} <ikona>

Po kliknięciu wykona polecenie (patrz wyżej).

Przykłady:

[exec] (Gedit) {gedit} </usr/share/pixmaps/gedit-icon.xpm>
[exec] (Mój skrypt) {/home/user/skrypt.sh} </home/user/obrazy/ikonki/moja ikonka.xpm>

W przypadku programów działających w terminalu zaleca się uruchomienie przez $TERM -e (gdzie oczywiście $TERM należy zastąpić nazwą ulubionego terminala), dzięki czemu program zostanie uruchomiony w nowej konsoli, a gdy zostanie zamknięty, również konsola, w której działał, zostanie zamknięta.

Przykład:

[exec] (menuedit) {xterm -e vim $HOME/.fluxbox/menu}

Wygodnie jest dodać program fbrun, który służy do uruchamiania programów.

[exec] (Uruchom) {fbrun}


[submenu] (tytuł) {tytuł wyświetlany po rozwinięciu}

Tworzy podmenu o podanej nazwie. Napis w nawiasach klamrowych ({} jest opcjonalny (jego pominięcie spowoduje, że użyty zostanie (tytuł)).

Przykład:

[submenu] (Moje programy)
  (tutaj znajdują się wpisy uruchamiające przeróżne programy)
[end]


[encoding] {kodowanie}
[endencoding]

Określa kodowanie użyte w pliku menu pomiędzy [encoding] a [endencoding].

Przykład:

[encoding] {UTF-8}
  (menu)
[endencoding]

Dodatkowe znaczniki

Oprócz podstawowych znaczników umieścić można również:

[exit] (nazwa)

Wyłącza Fluxboksa.

Przykład:

[exit] (LogOut)


[include] (ścieżka do pliku)

Dołącza do menu zawartość pliku (traktuje ją tak, jakby była wpisana w pliku menu). Plik powinien zaczynać się od [begin] a kończyć na [end].

Przykład:

[include] (~/.fluxbox/moje_podmenu)


[nop] (nazwa)

Wstawia tekst lub pusty wiersz, jeśli nie będzie określone (nazwa).

Przykłady:

[nop]
[nop] (************)


[separator]

Wstawia separator w postaci linii do menu. Przydatny do dzielenia menu na odpowiednie sekcje.

Przykład:

[separator]


[style] (nazwa) {ścieżka}

Zmienia styl na podany w {ścieżka}. Rzadko używane, gdyż wydajniejsze jest [stylesdir].

Przykład:

[style] (White) {~/.fluxbox/styles/White}


[stylesmenu] (nazwa) {ścieżka}

Tworzy podmenu o nazwie (nazwa) i umieszcza w nim pliki stanowiące zawartość {ścieżka} (katalogi są ignorowane) zakładając, że są to poprawne pliki stylu. Kliknięcie na którąkolwiek z pozycji spowoduje zmianę aktualnego stylu Fluxboksa.

Przykład:

[stylesmenu] (Style) {~/.fluxbox/styles}


[stylesdir] (ścieżka)

Podobne do [stylesmenu], tylko nie tworzy podmenu, przed wypisaniem zawartości katalogu.

Przykład:

[stylesdir] (~/.fluxbox/styles)


[reconfig] (nazwa)

Ponownie czyta zawartość pliku ~/.fluxbox/init.

Przykład:

[reconfig] (Re-konfiguracja)


[restart] (nazwa) {komenda}

Wyłącza Fluxboksa i wykonuje {komenda} (zazwyczaj jest to polecenie uruchamiające innego menedżera okien). Jeżeli {komenda} zostanie pominięte, uruchomiony zostanie ponownie Fluxbox.

Przykład:

[restart] (Restart fb)


[config] (nazwa)

Umieszcza menu konfiguracyjne Fluxboksa w podmenu o nazwie {nazwa}. Przy pomocy tego menu można zmienić podstawowe zachowania Fluxboksa bez konieczności modyfikowania ~/.fluxbox/init

Przykład:

[config] (Konfiguracja)


[wallpapers] (ścieżka) {komenda}

Powoduje wypisanie wszystkich plików w (ścieżka) jako pozycji w menu, po kliknięciu na którą uruchomiona zostanie {komenda} z plikiem jako ostatnim argumentem.

Jak wskazuje nazwa, wg założenia twórców opcja powinna być wykorzystywana do zmiany tapety już uruchomionego Fluxboksa przy pomocy menu, jednak ma znacznie dalej idące zastosowanie.

Przykład:

[wallpapers] ($HOME/wallpapers) {feh --bg-scale}


[workspaces] (nazwa)

Dodaje menu przestrzeni roboczych (domyślnie widoczne po wciśnięciu 3 (zazwyczaj środkowego) przycisku myszy na pulpicie) jako podmenu o nazwie (nazwa).

Przykład:

[workspaces] (Przestrzenie robocze)