Desktop Customization
Introduction to Desktop Customization in Linux/BSD.
Click download in:
[PDF],
[Impress]
All slides in:
[slides]
About Me ππ»ββοΈ!
Yet, another underachiever π».
But hey, I have my own dotfiles repository π.
About This Material π€
After watching this, you will understand:
- The difference between GUI in linux or BSD.
- What customization can be done in linux or BSD.
- Choices to leverage your desktop appealing.
So that you can pick what customization suitable
for you for daily basis usage.
ππ½
This material contain a bunch of terminal screenshots.
It does not mean that your daily desktop is all about terminal.
How Modular is Linux π€?
- Package Manager:
APT, ALPM, DNF, XBPS, Zypper, Portage
- Init:
SysV, systemd, openRC, runit, S6.
- Filesystem:
ext4, XFX Reiserfs, BTRFS, ZFS.
- Standard C library in OS:
glibc or musl.
- DE (Desktop Environment):
GTK+ based, QT based, enlightenment.
- WM (Window Manager):
Stacking, Tiling, Dynamic, Compositor.
How Modular Linux isπ€
Dive into Linux Subsystem
for Personal Educational Purpose.
[Learning Linux Diversity]
Yet Another Presentation.
What Customization π€?
- DE/WM Customization:
window manager, panel, notification and the most ingredient called wallpaper.
- Terminal Customization:
shell, prompt, pixel-art, and multiplexer.
Terminal ricing along with CLI application,
are part of desktop ricing.
The Difference: DE or WM π€?
- Desktop Environment:
Full Experience: Panel, File Manager, Application.
- Stacking Window Manager:
Stripped Down Version of Desktop Environment
- Tiling Window Manager:
Non-overlapping screen real estate.
When you customize a Window Manager,
you are basically making your own Desktop Environment.
Desktop Environment Example π€
The good Cinnamon (GTK+3) based.
DE/WM Categorization π€
- GTK+ based Desktop Environment:
XFCE4, Gnome shell, Cinnamon, Mate, Budgie
- QT based Desktop Environment:
KDE Plasma, LXQT, Deepin
- DE with Other Library:
Enlightenment, Lumina, or such.
- Stacking Window Manager:
Openbox, Fluxbox.
- Tiling Window Manager:
AwesomeWM, XMonad, i3wm (gaps), BSPWM, HerbsluftWM, DWM, or many others.
- Compositor:
KWin, Compiz.
The separation is not very clear, sometimes overlapped.
[The Difference Between DE, Shell, WM and Compositor]
Desktop Customization Step by Step?:
- Install Linux Distribution:
Pick your favorite distribution.
Debian Based, Arch Family, Void, or others.
- Desktop Environment:
Plasma, Gnome, XFCE4, and such.
Explore Theming.
- Terminal Customization:
Terminal, shell, prompt, multiplexer (tmux), pixel art,
compositor (picom), CLI app (neofetch), editor (ViM).
- Stacking Window Manager:
Configuration: Openbox, Fluxbox.
Explore Panel (task bar), and Tools.
- Tiling Window Manager:
i3wm, AwesomeWM, BSPWM,
DWM, XMonad, HerbstluftWM.
Learn how to google, make a screenshot (scrot),
read documentation, and english.
DE Customization π€
LXQT with Windowish Looks, No Kidding
[LXQT with Windowish Looks]
You can switch to any looks with parts from internet.
DE Customization π€
What can I do with my DE π€?
- Theming: Taskbar and Border
- Color Scheme
- Window Animation
- Cursor and Icon Collection
- Context Menu in File Manager
- Wallpaper:
The most ingredient for success.
- Other Stuff: Font, Conky, or such.
DE Customization π€
Example: Custom XFCE4 Theme: SVG Inkscape Source
The previous window icon was designed easily using inskcape.
UI/UGM (User Interface/ Unified Graphic Material)
Window Layout π€?
What Layout is Available with Your DE/WM?
- Stacking:
Suitable for ricing.
- Tiling:
For masochist desktoper.
Avoid n00b.
- Floating:
Enable stacking in tiling.
Window Layout π€
Tiling Layout Example: HerbstluftWM
Window Layout π€
Floating Layout Example: AwesomeWM
Ricing Guidance π€?
- Aesthetic is First class:
It is a work of art.
- Technical Difficulty is Appreciated:
Basic knowledge is a must.
- Everyone has their own personal character:
Yes, there is culture.
Many factions blended in,
such as dark mode, or weebs, or flat color vs transparency.
- Ricing people prefer WM over DE:
More customization to avoid hardcoded looks.
- Be creative, be different:
Beautiful.
Tips: Find your own style!
Ricing π€
Is it worth it ?
- Socially: you need to show of, and get some votes.
- Technically: You need a good screenshot
while communicating your issue on social media,
or publishing your work in a blog or other media.
- Learning: A fun case while studying OS, and also coding.
- Community: Give a fun direction for n00b
that showing of ricing screenshot can be a better life,
instead of just showing of illegal hacking.
Window Manager Customization π€?
- Window Manager itself:
Choose your WM.
- Panel:
Polybar, dzen2, Lemonbar, or others.
- Notification:
Dunst, or others.
- Launcher:
dmenu, rofi, or others.
- Original Wallpaper:
Ricing Culture: Mostly Anime.
- Make your own authentic stuff.
Tips: There is no wrong or right. It is all about choices.
Window Manager Customization π€
Optional tools π€?
Why Stacking Window Manager π€?
- More on Customization:
Configuration in Text Editor (suitable for coder),
Shareable with dotfiles
- Lightweight:
Small Memory Footprint.
Install only what I need.
- The Looks:
Avoid hardcoded looks or just be simple.
Stacking Window Manager π€
Example: openbox
Stacking Window Manager π€
More Articles about Stacking WM
Stacking Window Manager π€
Example: Fluxbox
Why Tiling Window Manager π€?
- Efficient:
Non-overlapping screen real estate.
- Scaling:
With Workspace or Tags.
- Customizable:
Most parts can be automated.
- Keyboard-driven workflow:
For masochist-desktoper.
- Lightweight:
Compared to DE.
What Tiling Window Manager π€?
- i3wm:
Simple configuration, suitable for beginner.
- HerbstluftWM:
Challenging technical difficulties.
The extra frame almost make me cry for happiness.
- XMonad:
I can config, but weird, I still don't understand Haskell.
- BSPWM
Tips: do not let the blackscreen intimidate you.
Dynamic Window Manager π€?
It is a kind of Tiling WM, with presets layouts.
- Awesome WM:
Easy to use for beginner, but very long config.
Built in menu, systray, notification.
- DWM:
First install for any minimalist distro.
You have to compile to change the behaviour.
Dynamic Window Manager π€
Example of presets layout: AwesomeWM.
Tiling Window Manager π€
More about AwesomeWM
Tiling Window Manager π€
Solving HerbstluftWM Technical Difficulties
Tiling Window Manager π€
WM customization can be combined with Specific Panel Bar.
Example: Dzen2 in XMonad
Other DE/WM issue π€
Xorg and Wayland
Terminal Ricing π€?
Main Parts.
- Terminal:
urxvt, xfce4-terminal, termite.
- Shell:
bash, zsh, fish.
Prompt: powerline, oh-my-bash, oh-my-zsh, oh-my-fish.
- Multiplexer:
tmux, gnu screen.
wrapper: teamocil, byobu.
- Background Decoration:
Wallpaper.
[Terminal Ricing]
Terminal Ricing π€?
Additional Parts.
- Compositor Decoration:
Picom or Compton.
- Padding Decoration:
gtk.css.
- Example CLI application:
neofetch, htop, cava.
- Special CLI application:
ViM Text Editor.
- Pixel Art
[Terminal Ricing]
Where to find resources π€?
Dotfiles π€?
Configuration files on linux can be shared between hobbyist.
Configuration mostly lies under .config directory.
Or single files with name started with dot.
Dotfiles π€
Sharing Resources require good folder management.
What is Next π€?
- Make your own custom Statusbar Panel!
- Make your own custom Window Manager!
- Port old tools to a better programming language!
ππ½
Leverage Coding Skills!
Questions π€?
Don't be shy ππ»ββοΈ!
The End
ππ»
Thank You for Your Time.