| Egen bakgrund på varje arbetsyta | E-post |
|
På min dator har jag från och med idag olika bakgrundsbild på mina fyra workspaces. Jag kör Gnome men det är inte någon python-applikation som sköter finessen utan systemkommandon anropade från bash. Så här går det till : Att växla bakgrundsbild från prompten är inte svårare än att anropa gconftool : Ex: gconftool-2 -t string -s /desktop/gnome/background/picture_filename "wallpaper.jpg" Att växla arbetsyta (workspace) från prompten var klurigare. Det går att se vilken yta som används genom att anropa xprop, eller närmare bestämt 'exprop -root'. Där anges arbetsytan efter _NET_CURRENT_DESKTOP(CARDINAL). Så att hämta siffran kräver inte mer än ett : xprop -root | grep '_NET_CURRENT_DESKTOP(CARDINAL)' | cut -d= -f2 Men att byta arbetsyta från prompten var marigare. Till slut installerade jag wmctrl - installeras med kommandot sudo aptitude install wmctrlDet är ett litet program som kan interagera med fönsterhanteraren. Det har en del små funktioner som jag nog kommer att ha nytta av senare. Nu är bara funktionen att växla arbetsyta intressant. Såhär byter man till arbetsyta 1 : wmctrl -s 0. Den första arbetsytan heter alltså 0, den andra 1 osv. Har man programmerat något så är det inget man lyfter på ögonbrynen åt.
Så! Byta bakgrund är klart; få fram aktuell arbetsyta är klart; växla arbetsyta är klart. Det är dags att börja koda. Jag skapar filen swapper som jag lägger i min hemkatalogs bin-katalog (/home(marwal/bin). #!/bin/bash current_workspace=$(xprop -root | \ grep '_NET_CURRENT_DESKTOP.CARDINAL.' | \ cut -d= -f2) # Ange den katalog där bakgrunds- # bilderna finns här wallpaperdir=$HOME # Ange filnamnet på bakgrunds- # bilderna här wallpaper[0]=debian_wallpaper.jpg wallpaper[1]=ubuntu_wallpaper.jpg wallpaper[2]=drawing.jpg wallpaper[3]=drawing-1.jpg if [ "$1" = "-b" ]; then let "current_workspace=$current_workspace-1"; fi if [ "$1" = "-f" ]; then let "current_workspace=$current_workspace+1"; fi if [ $current_workspace = -1 ]; then current_workspace=3; fi if [ $current_workspace = 4 ]; then current_workspace=0; fi gconftool-2 -t string -s /desktop/gnome/background/picture_filename \ "$wallpaperdir/${wallpaper[$current_workspace]}" wmctrl -s $current_workspace Så sparas filen och görs körbar med kommandot chmod u+x swapper. Men att en körbar fil som ändrar bakgrund och växlar arbetsyta fyller ju ingen funktion om den inte är kopplad till snabbtangenter. Och i Gnome går det väl inte att ställa in egna snabbkommandon? Jo, tänk för att det gör det! Kör kommandot gconf-editoroch bläddra fram apps->metacity->global_keybindings. Dubbelklicka på 'disabled' bredvid run_command_1 och ange värdet <Ctrl><Alt>v Ange sedan värdet <Ctrl><Alt>z bredvid run_command_10. Alldeles under 'global_keybindings' ligger 'keybinding_commands'. Ange sökvägen till swapper med växeln -b för nyckeln command_1 och likadant fast med växeln -f för nyckeln command_10. I mitt fall blev det /home/marwal/bin/swapper -brespektive /home/marwal/bin/swapper -f. Well, svårare än så var det inte. Nu går det att växla arbetsyta med CTRL+ALT+v och CTRL+ALT+z och varje arbetsyta har en egen bakgrundsbild. P.S. anledningen till att jag valde 'v' och 'z' är att jag har DVORAK-layout på mitt tangentbord. Det kanske inte alla har och väljer då lämpligare tangenter. D.S. Kommentarer (1)
![]() skriven av A Jackson, november 26, 2007
Går ju att kolla: http://burtonini.com/blog/computers/devilspie
Skriv kommentar
|
| < Föregående | Nästa > |
|---|





