Qualche tempo fa ho scritto di TopMenu, un plugin per pannello che fornisce supporto per menu globali (AppMenu) per MATE , includendo anche il supporto per Xfce e LXDE.
Il problema con TopMenu è che supporta solo parzialmente GTK3, non supporta LibreOffice e, non supporta le applicazioni Qt (4 o 5).
Ecco dove entra in gioco Vala Panel AppMenu .
Vala Panel AppMenu è un’applet del pannello menu globale per i pannelli Xfce, MATE e Vala, che usa unity-gtk-module come backend e funziona con tutte le applicazioni supportate da AppMenu di Unity.
Di conseguenza, Vala Panel AppMenu fornisce supporto per menu globali per applicazioni GTK2, GTK3, Qt4 e Qt5, nonché per applicazioni come Firefox, Thunderbird, Google Chrome / Chromium e LibreOffice .
Per MATE, Vala Panel AppMenu richiede MATE Panel compilato con GTK3 (quindi per Ubuntu, richiede Ubuntu MATE 16.10 e successivi). Il suo README menziona anche che per compilare Vala Panel AppMenu, avrai bisogno di GTK 3.12 o successivi, GLib 2.40 o successivi, valac 0.24 o successivi e libbamf 0.5.0 o successivi.
Ecco Vala Panel AppMenu in azione con Chromium, Firefox, Gedit (GTK3), LibreOffice, VLC (Qt5) e Thunar (GTK2):
Ecco anche uno screenshot di Ubuntu MATE 16.10:
Tuttavia, Vala Panel AppMenu non è perfetto e ho riscontrato alcuni problemi durante il mio test:
- quando nessuna finestra è focalizzata / il desktop è vuoto, un menu contenente "Desktop" e "Files" viene visualizzato dall’applet Vala AppMenu. Queste voci di menu non funzionano, almeno in Ubuntu, e il loro utilizzo può causare il crash del pannello Xfce / MATE;
- Qt5 supporta la funzionalità AppMenu di default, senza usare pacchetti aggiuntivi (non sono sicuro di quale versione abbia introdotto questa funzionalità), tuttavia, c’è un bug con questo e Vala AppMenu che fa sì che il menu globale per le applicazioni Qt5 venga visualizzato per alcuni secondi dopo la chiusura dell’app. Questo non si verifica se è installato il pacchetto appmenu-qt5 ;
- Solo MATE: le applicazioni GTK2 hanno il menu visualizzato sia sul pannello che nella finestra dell’applicazione. Se qualcuno riesce a trovare un modo per risolvere questo problema, per favore fatecelo sapere nei commenti!;
- Solo MATE: non esiste un modo semplice per spostare l’applet nella posizione desiderata, ma è possibile farlo utilizzando Dconf Editor;
- non c’è modo di cambiare il colore del font del menu globale, e questo può essere problematico con alcuni temi. Ad esempio, il font del menu è scuro su uno sfondo scuro del pannello usando il tema predefinito di Xubuntu 16.04 (Greybird). Questo non si verifica con il tema Numix GTK (che è installato di default in Xubuntu) o Greybird in Xubuntu 16.10.
Potrebbe anche interessarti la pagina dei problemi di Vala Panel AppMenu su GitHub .
Installa e configura Vala AppMenu in Ubuntu (MATE/Xubuntu) o Linux Mint (Xfce) tramite PPA
Se non usi Ubuntu o Linux Mint, puoi prendere il codice sorgente di Vala Panel AppMenu da GitHub . Gli utenti
Arch Linux possono installare Vala Panel AppMenu tramite AUR .
Per Ubuntu o Linux Mint, vedi le istruzioni sottostanti.
1. Installa Vala AppMenu.
Vala AppMenu è disponibile nei PPA WebUpd8 MATE e Xfce.
Per Ubuntu MATE, il plugin è disponibile solo per Ubuntu 16.10 , perché richiede il pannello MATE compilato con GTK3, e questo vale solo per Ubuntu 16.10 e versioni successive.
Per Xfce, il plugin Vala AppMenu è disponibile per Xubuntu 16.10 e 16.04, nonché per Linux Mint Xfce 18.x.
Per aggiungere WebUpd8 MATE e Xfce PPA e aggiornare le sorgenti del software, utilizzare i seguenti comandi:
sudo add-apt-repository ppa:webupd8team/mate
sudo apt update
Quindi, installa il plugin/applet Vala AppMenu:
– per Xfce (Xubuntu 16.10, 16.04 / Linux Mint Xfce 18.x):
sudo apt install xfce4-vala-appmenu-plugin unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
– per MATE (Ubuntu MATE 16.10):
sudo apt install mate-applet-vala-appmenu unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
2. Disattiva la visualizzazione del menu nelle finestre dell’applicazione (in modo che venga visualizzato solo nel pannello; senza questa opzione, verranno visualizzati doppi menu, sia nel pannello che nelle finestre dell’applicazione).
2.A. Per Xfce, eseguire semplicemente il comando seguente:
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true
2.B. per MATE , dovrai modificare il file ~/.config/gtk-3.0/settings.ini (se questo file non esiste, crealo) e in questo file, aggiungere quanto segue in "[Impostazioni]":
gtk-shell-shows-app-menu=true
gtk-shell-shows-menubar=true
Ecco le istruzioni passo passo per farlo. Innanzitutto, crea la cartella ~/.config/gtk-3.0/ nel caso in cui non esista, usando il seguente comando:
mkdir -p ~/.config/gtk-3.0/
Quindi apri ~/.config/gtk-3.0/settings.ini con l’editor di testo Pluma:
pluma ~/.config/gtk-3.0/settings.ini
Se questo file ha una sezione "[Impostazioni]", incollare sotto quanto segue:
gtk-shell-shows-app-menu=true
gtk-shell-shows-menubar=true
Se il file è vuoto, incolla quanto segue in questo file:
[Settings]
gtk-shell-shows-app-menu=true
gtk-shell-shows-menubar=true
… e salva il file.
Sfortunatamente, per MATE, questo non impedirà la visualizzazione del menu nelle finestre delle app per GTK2 (l’ho menzionato nella sezione dei problemi sopra).
3. Riavvia la sessione (disconnetti, quindi accedi di nuovo).
4. Aggiungi l’applet Vala AppMenu al pannello (e come cambiare la sua posizione sul pannello MATE).
4.A. Per Xfce , fai clic con il pulsante destro del mouse sul pannello a cui vuoi aggiungere Vala AppMenu e seleziona Pannello > Preferenze pannello (preferisco questa opzione piuttosto che aggiungere direttamente l’applet al pannello, perché consente anche di spostarla nella posizione desiderata) e nella scheda Elementi , fai clic su "+" e aggiungi "AppMenu Plugin" al pannello :
È possibile spostare Vala AppMenu nella posizione desiderata sul pannello tramite la scheda Elementi dalle Preferenze del pannello Xfce4.
Se hai installato TopMenu, assicurati di non mischiare le due applicazioni!
4.B. Per MATE , fare clic con il pulsante destro del mouse sul pannello, selezionare "Aggiungi al pannello", quindi cercare "Menu applicazione globale" e fare clic su "Aggiungi":
Sfortunatamente non c’è un modo semplice per spostare l’applet nella posizione desiderata sul pannello. Questo perché il Vala Panel AppMenu risponde allo stesso modo sia al clic sinistro che a quello destro, e non c’è un’area per accedere al suo menu contestuale.
Per modificare la posizione del menu globale nel pannello MATE , è necessario Dconf Editor, che può essere installato utilizzando il seguente comando:
sudo apt install dconf-editor
Quindi, avvia Dconf Editor, vai su org > mate > panel > objects e nell’albero "objects" dovresti vedere alcuni elementi chiamati "object-1", "object-2" e così via. Inizia dall’ultimo oggetto e guarda quale ha il valore "applet-iid" impostato su "AppMenuAppletFactory:AppMenuApplet".
Nota: potresti avere più applet ("object-1", "object-2", ecc.) con il valore "applet-iid" di "AppMenuApplet…" – in quel caso dovrai modificare le impostazioni per l’ultimo (il numero più alto).
Il valore "posizione" rappresenta il numero di pixel tra il lato sinistro del pannello e la posizione dell’applet. Quindi, una volta trovata l’applet giusta, modifica il suo valore di posizione in base alle tue esigenze (prova ad approssimarlo, se gli altri applet sono bloccati, un valore inferiore alla posizione effettiva funzionerà in alcuni casi).
Nel mio caso, ho un menu, un launcher di Firefox e un separatore e voglio spostare il menu globale accanto a essi, quindi ho impostato il valore "posizione" su "100":
Dopo aver cambiato la posizione, dovrai riavviare il pannello MATE per applicare le modifiche (o effettuare il logout/login). Per farlo, apri un terminale e digita:
mate-panel --replace &
5. Opzionale: abilita Vala Appmenu (menu globale) per Firefox e Thunderbird.
Per impostazione predefinita, Vala AppMenu visualizzerà solo le azioni Thunderbird e Firefox Unity (elenchi rapidi) sul pannello. Per abilitare il menu completo di Firefox e Thunderbird sul pannello, devi avviare Firefox e Thunderbird con "UBUNTU_MENUPROXY=0".
Puoi farlo automaticamente (copiando i file .desktop di Firefox e Thunderbird da /usr/share/applications a ~/.local/share/applications/ in modo che non vengano sovrascritti quando ricevono aggiornamenti e modificando i file .desktop lì) sia per Firefox che per Thunderbird, utilizzando i comandi seguenti:
mkdir -p ~/.local/share/applications/
cp /usr/share/applications/firefox.desktop ~/.local/share/applications/
sed -i 's/^Exec=/Exec=env UBUNTU_MENUPROXY=0 firefox %u/' ~/.local/share/applications/firefox.desktop
cp /usr/share/applications/thunderbird.desktop ~/.local/share/applications/
sed -i 's/^Exec=/Exec=env UBUNTU_MENUPROXY=0 thunderbird %u/' ~/.local/share/applications/thunderbird.desktop
Annulla le modifiche
Di seguito troverai i passaggi esatti necessari per annullare le modifiche apportate seguendo le istruzioni sopra menzionate.
1. Rimuovi Vala AppMenu:
sudo apt purge xfce4-vala-appmenu-plugin mate-applet-vala-appmenu
Se sei sicuro (importante! non rimuovere questi pacchetti se utilizzi anche Unity) che il modulo Unity GTK e i pacchetti AppMenu non siano utilizzati da altri pacchetti sul tuo sistema, eliminali anche utilizzando il seguente comando:
sudo apt purge unity-gtk3-module unity-gtk2-module appmenu-qt appmenu-qt5
2. Annullare le impostazioni di disabilitazione del menu MATE/Xfce
2.A. Per Xfce , utilizzare i seguenti comandi:
xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s false
xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s false
2.B. Per MATE , aprire ~/.config/gtk-3.0/settings.ini con un editor di testo: il comando seguente utilizza Pluma per aprire questo file:
pluma ~/.config/gtk-3.0/settings.ini
E da questo file, rimuovi le due righe seguenti:
gtk-shell-shows-app-menu=true
gtk-shell-shows-menubar=true
Se questo file è stato creato seguendo le istruzioni contenute in questo articolo (era vuoto o non esisteva prima), puoi semplicemente rimuoverlo utilizzando il seguente comando:
rm ~/.config/gtk-3.0/settings.ini
3. Riavvia la sessione (disconnetti, quindi accedi nuovamente)
4. Se hai applicato le modifiche opzionali di Thunderbird e Firefox menzionate sopra, puoi annullare questo passaggio semplicemente rimuovendo i loro file .desktop da ~/.local/share/applications/ . Per farlo da un terminale, usa i seguenti comandi:
rm ~/.local/share/applications/firefox.desktop
rm ~/.local/share/applications/thunderbird.desktop