Jag har efter några år med Mac OS och diverse skrivbordsmiljöer blivit motiverad att sitta med en tiling window manager igen, och betämde mig för att ta litet inspiration från r/unixporn för att lägga litet kärlek på utseendet.
Jag var själv osäker på vad ricing betyder, så här kommer en definition:
The term ‘rice’ is used to describe a person’s unix deskton where ‘ricing’ is when someone is custom their desktop such as the icons, panels, or system interface. When it comes to ricing a tiling window manager though, the ricing of a user’s system becomes much more involved. Basic things such as the panel bar and application launcher must be configured by the user.
Tack så mycket, Jie Fang.
Vad som behövs¶
Jag kör Arch, så nedanstående exempel använder pacman
, men alla dessa program finns gissningsvis i alla andra linuxdistar.
Först, några paket som finns i de officiella repositorierna.
pacman -Syu
pacman -S \
i3 \
polybar \
rofi \
scrot \
xclip \
kitty \
zsh \
starship \
tmux \
picom
Därefter, några fler paket från AUR.
paru python-pywal
paru joshuto
Tiling window manager: i3¶
Jag är bekant med i3
sedan tidigare, och är för bekväm för att lära mig att konfigurera en annan fönsterhanterare.
Jag gillar däremot det luftiga och konfigurerbara som forken i3-gaps
ger. Denna fork är default vid installationen med pacman
.
Jag kör i3
med hjälp av lightdm
, med lightdm-gtk-greeter
. I dessa dyker i3
upp automatiskt i valet mellan befintliga skrivbord.
Paneler: Polybar¶
Vanilla i3
har en helt okej panel, men nu handlar det om nästa nivå. :)
Jag letade reda på en polybar
-konfiguration jag gillade, och kopierade det jag ville ha från den och ändrade saker efter eget tycke.
- left:
i3
workspaces 1-10. - center:
xwindow
, visar titeln på fokuserat fönster. - right: Muteknapp för Pulse audio, växlare för tangentbordslayout, klocka och datum.
För grundläggande tips och hur att sätta upp polybar med i3
, se Polybar på Arch Wiki. För inspiration, se Polybars webbplats.
Launcher: Rofi¶
Jag gillar s.k. launchers - att kunna trycka ett tangentbordskommando och som öppnar en textruta för att ge mig förslag på program att öppna när jag börjar skriva.
i3 har förvisso dmenu, men jag vill egentligen ha något mer tjusigt.
Det finns flera launchers att välja på, men mitt val föll på Rofi. Jag kör en combi-box, och valde ett tema här.
rofi-theme-selector
Jag valde ett standardtema, med fonten Fira Sans.
Bakgrundsbild och matchande terminalfärger: pywal¶
Ingen rice är komplett utan ett snyggt skrivbord!
feh
är förvisso precis vad jag behöver, men verktyget pywal
ser också till att matcha färger i terminaler med aktuell bakgrund.
Därefter krävs en katalog med bakgrundsbilder för att skapa en karusell.
*/30 * * * wal -i /backups/Rahvin/allpapers/$(ls /backups/Rahvin/allpapers | shuf -n 1)
Detta läggs i en crontab som kör scriptet en gång i halvtimmen.
Fades och annat ögongodis: picom¶
Då det här är en ambitiös rice så vill jag ha litet mjuka övergångar mellan workspaces och fönster. För detta används compositors, och då jag kör i3
kan en standalone compositor användas. Som exempelvis [picom]]pc!
picom
har trevliga defaults, så jag ändrade inte särskilt mycket.
Filbläddrare: Joshuto¶
Normalt sätt brukar jag låna Thunar eller liknande från en existerande DE, men denna gång vill jag gå all in utan sådana beroenden.
Då det är bekvämt för mig att browsa kataloger i träd med piltangenter, snarare än att använda ag
eller ls
, vill jag därför ha en CLI-optimerad filbläddrare.
En klon av ranger, skriven i Rust. Denna kopplade jag till ett snabbkommando för att snabbt öppna en filutforskare.
Screenshots: Scrot + i3¶
Jag gillar hur MacOS hanterar skärmklipp, så jag kopierade en rad ifrån en tråd på reddit och kopplade till PrintScr
.
- Gå till vyn som ska skärmdumpas.
- Tryck
PrintScr
, muspekaren byts till ett kors. - Ruta in en yta att skärmdumpa, avsluta med klick.
- Öppna filen, som nu sparats med
screenshot_<timestamp>.png
.
För det mesta övrigt: kitty, tmux och starship¶
En av de mest lockande sakerna med tiling window managers är att kunna göra allt med CLI. Jag kör tmux sedan lång tid, och har inte haft skäl att byta ut den mot något annat.
Jag kör den i sin tur i Kitty, som låter grafikkortet ta litet av rendering.
För att få litet annat blandat smågodis för terminalbruk, kör jag sedan en tid Starship för att ha ett likartat skifte mellan Windows, Mac och linux.
# aktivera Starship i Bash
eval "$(starship init bash)"
# Aktivera Starship i ZSH
eval "$(starship init zsh)"
dotfiles¶
Alla dotfiles för detta finns på Github.