Tworzenie menu dla Docka

Jak już każdy wie (przynajmniej powinien) dock w Unity pod prawym przyciskiem myszy ma ukryte rozwijane menu dla każdej ikony znajdującej się na bocznym pasku. Jeżeli znamy dość dobrze system operacyjny Ubuntu, to możemy pokusić się o stworzenie własnego takiego menu. W tym artykule pokażę trzy przykładowe skrypty poszerzające możliwości docka.

Dla tych co nie zrozumieli wstępu :-)

Pierwszy skrypt zwiększa możliwości ikony katalogu domowego:

[Desktop Entry]
 Name=File Manager
 Exec=nautilus
 Icon=system-file-manager
 Terminal=false
 Type=Application
 StartupNotify=true
 NoDisplay=true
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=nautilus
 X-GNOME-Bugzilla-Component=general
 X-GNOME-Bugzilla-Version=2.32.2
 X-GNOME-Autostart-Phase=computer:///
 X-GNOME-Autostart-Notify=true
 X-GNOME-AutoRestart=true
 X-GNOME-Provides=filemanager
 X-Ubuntu-Gettext-Domain=nautilus

 X-Ayatana-Desktop-Shortcuts=Home;Pulpit;Dokumenty;Muzyka;Obrazy;Wideo;Pobrane;Komputer;Kosz

 [Home Shortcut Group]
 Name=Folder domowy
 Exec=nautilus
 TargetEnvironment=Unity

 [Pulpit Shortcut Group]
 Name=Pulpit
 Exec=nautilus Pulpit
 TargetEnvironment=Unity

 [Dokumenty Shortcut Group]
 Name=Dokumenty
 Exec=nautilus Dokumenty
 TargetEnvironment=Unity

 [Muzyka Shortcut Group]
 Name=Muzyka
 Exec=nautilus Muzyka
 TargetEnvironment=Unity

 [Obrazy Shortcut Group]
 Name=Obrazy
 Exec=nautilus Obrazy
 TargetEnvironment=Unity

 [Wideo Shortcut Group]
 Name=Wideo
 Exec=nautilus Wideo
 TargetEnvironment=Unity

 [Pobrane Shortcut Group]
 Name=Pobrane
 Exec=nautilus Pobrane
 TargetEnvironment=Unity

 [Komputer Shortcut Group]
 Name=Komputer
 Exec=nautilus computer:///
 TargetEnvironment=Unity

 [Kosz Shortcut Group]
 Name=Kosz
 Exec=nautilus trash:///
 TargetEnvironment=Unity

Nie wygląda jakoś bardzo skomplikowanie. Efekty wygląda tak:

Drugi skrypt dodaje „masę” Synaptic-owi:

[Desktop Entry]
 Name=Synaptic Package Manager
 GenericName=Package Manager
 Comment=Install, remove and upgrade software packages
 Exec=gksu --description /usr/share/applications/synaptic.desktop /usr/sbin/synaptic
 Icon=synaptic
 Terminal=false
 Type=Application
 Categories=PackageManager;GTK;System;Settings;UpdateAtStartup
 NotShowIn=KDE;
 X-Ubuntu-Gettext-Domain=synaptic

 X-Ayatana-Desktop-Shortcuts=Upgrade;DistUpgrade;UpdateAtStartup;NonInteractive;AddCdrom

 [Upgrade Shortcut Group]
 Name=Wykonaj aktualizacje i pokaż zmiany
 Exec=gksu synaptic --upgrade-mode
 TargetEnviroment=Unity

 [DistUpgrade Shortcut Group]
 Name=Wykonaj aktualizacje dystrybucji i pokaż zmiany
 Exec=gksu synaptic --dist-upgrade-mode
 TargetEnviroment=Unity

 [UpdateAtStartup Shortcut Group]
 Name=Odśwież bazę danych pakietów po uruchomieniu
 Exec=gksu synaptic --update-at-startup
 TargetEnviroment=Unity

 [NonInteractive Shortcut Group]
 Name=Bez wymagania od użytkownika wprowadzania czegokolwiek
 Exec=gksu synaptic --non-interactive
 TargetEnviroment=Unity

 [AddCdrom Shortcut Group]
 Name=Dodaj nowy cdrom po uruchomieniu
 Exec=gksu synaptic --add-cdrom
 TargetEnviroment=Unity

Trzeci dodaje całą paletę aplikacji pakiety LibreOffice pod przycisk na Docku:

#!/usr/bin/env xdg-open
 [Desktop Entry]
 Version=1.0
 Terminal=false
 Icon=libreoffice-startcenter
 Type=Application
 Categories=Office;
 Exec=libreoffice %U
 MimeType=application/vnd.openofficeorg.extension;
 Name=LibreOffice
 Comment=The office productivity suite compatible to the open and standardized ODF document format. Supported by The Document Foundation.
 X-Ayatana-Desktop-Shortcuts=Writer;Calc;Impress;Draw;Math

 [Writer Shortcut Group]
 Name=Edytor tekstu
 Exec=libreoffice -writer %U
 TargetEnvironment=Unity

 [Calc Shortcut Group]
 Name=Arkusz kalkulacyjny
 Exec=libreoffice -calc %U
 TargetEnvironment=Unity

 [Impress Shortcut Group]
 Name=Prezentacja
 Exec=libreoffice -impress %U
 TargetEnvironment=Unity

 [Draw Shortcut Group]
 Name=Rysunek
 Exec=libreoffice -draw %U
 TargetEnvironment=Unity

 [Math Shortcut Group]
 Name=Edytor równań
 Exec=libreoffice -calc %U
 TargetEnvironment=Unity

Zapis i uruchomienie

No dobra. Teraz co zrobić z tymi skryptami, aby one działały ? Na początku uruchamiamy gedit i wklejamy jeden z powyższych skryptów. Niech będzie to np. ostatni:

Teraz zapisujemy plik z rozszerzenie .desktop (rozszerzenie jest tutaj najważniejsze) w dowolnym miejscu np. na pulpicie.

Po zapisaniu pliku zamykamy gedit-a i przeciągamy nowo utworzony plik na docka.

Gdy ikona się „zaczepi” sprawdzamy efekt działania klikają na nią prawym przyciskiem myszy.

Wszystko działa :-)

Jak widzimy, pisanie takich aktywatorów nie jest ciężkim zadaniem, trzeba tylko w odpowiednim stopniu znać budowę systemu.

UWAGA !!!

Jeżeli już przeciągniemy plik na dock i ikona się pojawi, to nie możemy usunąć pliku źródłowego. Wraz z usnięciem pliku źródłowego usunie się nam ikona z docka.

Porada zaczerpnięta z stąd