6.7 KiB
Rofi
Rofi non è solo un lanciatore di applicazioni, ma permette di fare molte più cose, tra cui:
- aprire file;
- eseguire comandi bash;
- navigare tra le finestre aperte;
- ...
Modalità
Rofi ha diverse modalità integrate che implementano casi d'uso comuni e possono essere estese da vari script o plugin.
Di seguito è riportato un elenco delle diverse modalità:
- run: permette di lanciare eseguibili nel terminale, a partire dal loro
$PATH
; - drun: avvia le applicazioni installate nel sistema;
- window: permette di passare tra le varie finestre aperte;
- ssh: avvia il collegamento a un host remoto via ssh;
- combi: combina più modalità.
Installazione su Debian e derivate
sudo apt update && sudo apt install -y rofi
Configurazione
Per generare il file di configurazione predefinito:
mkdir -p ~/.config/rofi
rofi -dump-config > ~/.config/rofi/config.rasi
Questo comando crea un file chiamato config.rasi
nel seguente percorso: ~/.config/rofi/
. È possibile modificare questo file per personalizzare rofi, anche graficamente con dei temi personalizzati.
Eccone un esempio: config.rasi
Abilitare le varie modalità
È sufficiente specificare un elenco ordinato e separato da virgole delle modalità da abilitare. Ecco un esempio, con abilitate solo le modalità run
e ssh
:
rofi -modes "run,ssh" -show run
Per ottenere una visione combinata di due o più modalità:
rofi -show combi -combi-modes "window,run,ssh" -modes combi
Temi personalizzati
Qui si trovano moltissimi temi:
https://github.com/adi1090x/rofi
Dopo aver installato rofi
, clonare il precedente repository:
git clone --depth=1 https://github.com/adi1090x/rofi.git
cd rofi
chmod 755 setup.sh
./setup.sh
Quindi, per scegliere lo stile, modificare il file ~/.config/rofi/launchers/type-X/launcher.sh
, dove X
è un numero da 1 a 7, inserendo lo stile prescelto.
Nell'esempio:
theme='style-10'
Ecco il file in questione:
davide@piccihud:~$ cat ~/.config/rofi/launchers/type-4/launcher.sh
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
#
## Available Styles
#
## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10
dir="$HOME/.config/rofi/launchers/type-4"
theme='style-10'
## Run
rofi \
-show drun \
-theme ${dir}/${theme}.rasi
Come prima, per cambiare i colori predefiniti del tema, modificare il seguente file:
davide@piccihud:~$ cat ~/.config/rofi/launchers/type-4/shared/colors.rasi
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
*
* Available Colors Schemes
*
* adapta catppuccin everforest navy paper
* arc cyberpunk gruvbox nord solarized
* black dracula lovelace onedark yousai
*
**/
/* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/dracula.rasi" #Inserire il colore prescelto
Questo è tutto. Ora basta inserire nel file config.rasi
la seguente riga, una volta scelto lo stile del tema:
davide@piccihud:~$ cat .config/rofi/config.rasi
@theme "~/.config/rofi/launchers/type-4/style-10.rasi"
Alcune aggiunte al tema
~/.config/rofi/launchers/type-4/style-10.rasi
10 /*****----- Configuration -----*****/
11 configuration {
12 modi: "drun,window,run"; /*aggiunte alcune modalità, come quella per mostrare le finestre attive o per eseguire comandi da terminale*/
13 show-icons: true; /*le icone sono visibili*/
14 display-drun: " Apps";
15 display-run: "";
16 display-filebrowser: "";
17 display-window: "";
18 /* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]"; */
19 drun-display-format: "{name}"; /*solo il nome dell'applicazione diventa visibile, senza descrizione, come sopra*/
20 window-format: "{w} · {c} · {t}";
21 }
[..]
53 /*****----- Main Window -----*****/
54 window {
55 /* properties for window widget */
56 transparency: "real";
57 location: south; /*rofi è posizionato in basso*/
58 anchor: south;
59 fullscreen: false;
60 width: 100%;
61 x-offset: 0px;
62 y-offset: 0px;
Quindi modificare il file .config/rodi/config.rasi
:
1 configuration {
3 terminal: "konsole";
4 run-command: "{cmd}";
5 run-list-command: "";
6 run-shell-command: "{terminal} -e {cmd}"; /*Questa è la sintassi del comando*/
7 kb-select-1: "Super+1";
8 kb-select-2: "Super+2";
9 kb-select-3: "Super+3";
10 kb-select-4: "Super+4";
11 kb-select-5: "Super+5";
12 kb-select-6: "Super+6";
13 kb-select-7: "Super+7";
14 kb-select-8: "Super+8";
15 kb-select-9: "Super+9";
16 kb-select-10: "Super+0";
17 }
18 @theme "~/.config/rofi/launchers/type-4/style-10.rasi"
In questo modo, è possibile lanciare comandi bash direttamente da rofi, tramite la seguente sintassi:
terminal_name command
konsole ncdu
oppure passare tra le finestre attive, infine selezionare i risultati con delle scorciatoie (Alt+X
), dove X
indica un numero maggiore o uguale a 1, corrispondente al risultato dell'applicazione che si desidera avviare.
Il risultato finale:
Gestire le connessioni di rete
Rofi può essere esteso tramite plugin. Eccone uno per poter controllare la connessione ad intenet:
git clone https://github.com/ericmurphyxyz/rofi-wifi-menu.git
cd rofi-wifi-menu
mv rofi-wifi-menu.sh ~/bin
È possibile richiamare lo script dopo aver assegnato una scorciatoria da tastiera: $HOME/bin/rofi-wifi-menu.sh