firefox Ridurre Firefox nella System Traykde Ridurre Firefox nella System Traylinux Ridurre Firefox nella System TrayRidurre Firefox nella System Tray

Di deepred | Nov 10, 2008
Stampa questo post Stampa questo post Articolo originale

Era da un po’ di tempo che cercavo il modo migliore per riuscire a inserire firefox nella system tray (per chi non lo sapesse, la system tray è quella porzione di barra, di solito vicino all’orologio, dove sono presenti le icone di alcuni programmi, come per esempio quelli di chat: un programma aperto nella system tray, oltre a non riempire la barra delle applicazioni fa anche sì che tali programmi occupino meno memoria, essendo messi in una sorta di stato stand-by).

Infatti all’origine fu… FireTray, un add-on per Firefox e Thunderbird che si occupava di fare ciò. Ma questa estensione da un po’ di tempo a questa parte ha smesso di funzionare sulla mia KDE e neanche i successivi aggiornamenti ottennero effetti migliori.

Dopodiché provai AllTray, una applicazione opensource che permetteva di ridurre nella tray qualsiasi applicazione si voglia. Per avviare direttamente una qualsiasi applicazione già ridotta bastava dare il comando:

alltray -s -na "nome_applicazione"

Questa funzionava perfettamente anche con Firefox, ma… Ma la mia configurazione di Firefox, fa sì che prima dell’apertura della finestra principale Firefox, mi appaia la finestra per l’inserimento della password e questo fa sì che questa finestra fosse ridotta nella system tray e non la finestra principale. (La stessa cosa accade ogniqualvolta c’è una finestra secondaria che si apre prima di quella principale: per esempio quando ci sono aggiornamenti delle estensioni, dopo una chiusura forzata di Firefox, etc.).

A questo punto, scartato AllTray, ho provato ksystraycmd, una applicazione di KDE che ha lo stesso obiettivo di AllTray. Infatti lanciando

ksystraycmd --hidden "nome applicazione"

si ottiene lo stesso risultato del precedente comando. E ovviamente si ottiene anche lo stesso risultato per quanto riguarda finestre secondarie e finestre principali. Tuttavia, questa applicazione ha una interessante opzione --wid <int>, che permette di ridurre nella system tray una finestra già aperto indicando l’id della finestra. E come facciamo a conoscere qual’è l’id della finestra? Installando l’applicazione xwininfo (in Gentoo è presente nel Portage). A questo punto sono riuscito nel mio obiettivo creando questi 3 script:

firefox.sh

#!/bin/bash

/usr/bin/firefox
PID=`ps -C ksystraycmd -F | grep "ksystraycmd --wid" | awk '{ print $2 }'`
if [ -n $PID ]; then
kill -9 $PID
fi

fire_tray.sh

#!/bin/bash

PID=`ps -C ksystraycmd -F | grep "ksystraycmd --title Mozilla Firefox" | awk '{ print $2 }'`
WID=`xwininfo -root -all | grep Mozilla\ Firefox | awk '{ print $1 }' | sort -r | head`
kill -9 $PID
ksystraycmd --wid $WID --hidden

fire_tray_script.sh

#!/bin/bash

FIRE_TRAY=/path/to/fire_tray.sh
FIREFOX=/path/to/firefox.sh

$FIREFOX &
ksystraycmd --title Mozilla\ Firefox --caption Mozilla\ Firefox --icon "/usr/share/pixmaps/firefox-icon.png" --hidden --startonshow --quitonhide --ownicon $FIRE_TRAY

E a questo punto si potrebbe usare quest’ultimo script per avviare Firefox. Sostanzialmente, questo script avvia normalmente Firefox (senza tray icon) e avvia nella system tray un’altra applicazione (fire_tray.sh), associandogli però l’icona di firefox. L’opzione --startonshow fà sì che l’applicazione fire_tray.sh si avvii effettivamente solo quando cerchiamo di chiudere firefox nella system tray. A questo punto fire_tray.sh elimina la sua tray icon dalla system tray e inserisce al suo posto quella di Firefox. Infine quando si chiude Firefox, lo script firefox.sh provvederà ad eliminare la tray icon corrispondente dalla system tray, se ancora presente.

Spero che questo sia chiaro ed utile. Per qualsiasi domanda non esitate a commentare…

Tags: Firefox, KDE, Linux

Post correlati

Lascia un commento

Se vuoi inserire un commento, per favore completa il form sottostante.

Nome (obbligatorio)

Email (obbligatorio)

Sito Web

Commenti

© 2008 - 2009 Tuttolinux - novità ed articoli dal mondo del pinguino !
Tutti i contenuti © dei rispettivi autori. Leggi questo per ulteriori informazioni.
Creative Commons LicenseIl contenuto di questo sito web è pubblicato sotto una Licenza Creative Commons.

Warning: stristr() [function.stristr]: Empty delimiter in /home/.nine/luckylinux/tutto-linux.com/wp-content/plugins/wassup/wassup.php on line 2093