In the next parts of the FreeBSD Desktop series I would like to describe key components of self made custom desktop environment such as:
- Window Manager
- Status Bar
- Task Bar
- Wallpaper Handling
- Application Launcher
- Keyboard/Mouse Shortcuts
- Locking Solution
- Blue Light Spectrum Suppress
To not make the posts huge today’s article would focus on the first component – the Window Manager. In the next series each of these components configuration would also be described along with eventual needed scripts.
You may also check earlier/other articles of the FreeBSD Desktop series:
- FreeBSD Desktop – Part 1 – Simplified Boot
- FreeBSD Desktop – Part 2 – Install
- FreeBSD Desktop – Part 3 – X11 Window System
- FreeBSD Desktop – Part 4 – Key Components – Window Manager
- FreeBSD Desktop – Part 5 – Key Components – Status Bar
- FreeBSD Desktop – Part 6 – Key Components – Task Bar
- FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling
- FreeBSD Desktop – Part 8 – Key Components – Application Launcher
- FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts
- FreeBSD Desktop – Part 10 – Key Components – Locking Solution
- FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress
- FreeBSD Desktop – Part 12 – Configuration – Openbox
- FreeBSD Desktop – Part 13 – Configuration – Dzen2
- FreeBSD Desktop – Part 14 – Configuration – Tint2
Window Manager
We will use Openbox, it was already installed in previous part of the series. Why Openbox and not something else? I do not have any exact answer that will make you feel that its the best possible choice. The arguments for it are:
- It has good official documentation.
- Lots of online materials/howtos/blogs about it.
- Used as Window Manager in many Desktop Environments.
- Very fast and very low on resources (written in C language).
- Can support tiling with external utilities like tile.sh or pytyle.
- Fully compliant with EWMH (Extended Window Manager Hints) Standard.
- Fully compliant with ICCCM (Inter-Client Communication Conventions Manual) Standard.
- Allows generating dynamic menus with scripts.
- Chosen as Window Manager of the Year by LinuxQuestions.org Members Choice Awards.
- Can look really awesome, several examples below.
The Axonkolorish Openbox theme.

The Mint Openbox theme.

The TWM Openbox theme.

The Violetgrey Openbox theme.

You may also want to check other categories of the LinuxQuestions.org Members Choice Awards from the last 3 years. You may find solutions and applications that You never knew existed.
- LinuxQuestions.org Members Choice Awards 2015
- LinuxQuestions.org Members Choice Awards 2016
- LinuxQuestions.org Members Choice Awards 2017
Resources
The Openbox memory usage on my system is about 25 MB of RAM. The total CPU usage is also very low as these 45 seconds are from more then one day of using system along with suspend/resume usage.
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 50467 vermaden 1 20 0 37724K 26116K select 0 0:45 0.00% openbox
Configuration
I will not describe here all possible Openbox configuration options, the future series would contain setup that seems to work best for daily use (at least for me). If You would like to increase your knowledge about Openbox then check the official documentation and other online resources such as these:
- Openbox Documentation
- Openbox FAQ
- Urukrama Openbox Guide
- Urukrama Openbox FAQ
- WIKI Gentoo Linux Openbox Guide
- WIKI Arch Linux Openbox Guide
- WIKI Debian Linux Openbox Guide
- WIKI Ubuntu Linux Openbox Guide
- HOWTO Minimal FreeBSD Desktop
- HOWTO Building Custom Linux Environment With Openbox
If somehow you will not find Openbox usable then You can try Fluxbox or PekWM. I have used Fluxbox for years and it also served very well all that time.
Pingback: FreeBSD desktop (4) | 0ddn1x: tricks with *nix
Pingback: FreeBSD Desktop – Part 6 – Key Components – Task Bar | vermaden
Pingback: FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling | vermaden
Pingback: FreeBSD Desktop – Part 8 – Key Components – Application Launcher | vermaden
Pingback: FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts | vermaden
Pingback: FreeBSD Desktop – Part 5 – Key Components – Status Bar | vermaden
Pingback: FreeBSD Desktop – Part 10 – Key Components – Locking Solution | vermaden
Pingback: In Other BSDs for 2018/06/23 – DragonFly BSD Digest
Pingback: FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress | vermaden
Pingback: FreeBSD Desktop – Part 12 – Configuration – Openbox | vermaden
Pingback: FreeBSD Desktop – Part 13 – Configuration – Dzen2 | vermaden
Pingback: FreeBSD Desktop – Part 14 – Configuration – Tint2 | vermaden
Pingback: FreeBSD Desktop – Part 1 – Simplified Boot | vermaden
Pingback: FreeBSD Desktop – Part 15 – Configuration – Fonts & Frameworks | vermaden
Pingback: FreeBSD Desktop – Part 2 – Install | vermaden
Pingback: FreeBSD Desktop – Part 3 – X11 Window System | vermaden