Jul 20, 2023

Minimalistic tiling and stacking window manager

uhwm is a minimalistic tiling and stacking window manager for X. It shares some similarities with dwm and wmii, but is written in ruby so you can configure and extend features directly with ruby code.

rubygem-uh-wm is an extraordinary FreeBSD port in the category of x11-wm that provides an incredibly efficient and adjustable window manager tool that is ideal for FreeBSD users. It is a minimalist dynamic window manager DWM for X11 which follows the Unix philosophy closely and retains a small footprint both in the disk and memory.

To start, you require a FreeBSD system and root privileges or ability to use sudo. If not already done, install the Ports Collection by executing the following command

# portsnap fetch extract

With the Ports Collection installed, navigate to the /usr/ports/x11-wm/rubygem-uh-wm directory. Inside it, issue the following command to install the rubygem-uh-wm port

# make install clean

The make install clean command will download rubygem-uh-wm source code, compile it, and install binary on your FreeBSD system.

After successful installation, you can run the window manager by executing uh-wm in your terminal.

To make it as the default window manager, add the following line to your ~/.xinitrc or ~/.xsession file

exec uh-wm

Now, let’s dive into its usage and advantages!

rubygem-uh-wm is a life-saver for those who work in a multi-window environment. The primary focus of rubygem-uh-wm is usability. It helps you manage your windows in a way that increases productivity, even when you’ve got dozens of applications and browser windows open.

It provides multiple key-features like binary space partitioning, it supports multi-monitor setups, and it is highly customizable. With rubygem-uh-wm, your windows can be split both vertically and horizontally, with every module holding one window.

Just like the Unix philosophy, rubygem-uh-wm believes in ‘doing one thing and doing it well’. This is why all non-core functionalities are offloaded to other tools, resulting in a well-focused, efficient, and hugely powerful window manager.

For example, it doesn’t handle status bars, instead, it allows you to use any status bar of your choice, such as dzen2, or any other status bar that can read from the standard input.

Understanding keybindings

  • To spawn a terminal window, press Mod + Return.

  • To focus the window to the left, right, up, or down, press Mod + h/j/k/l.

  • To swap window with the adjacent one to the left, right, up, or down, press Mod + Shift + h/j/k/l.

  • To resize the window, press Mod + Control + h/j/k/l.

If you’re interested in more sophisticated and feature-rich tools, consider having a look at the [Openbox]https//, another FreeBSD port that provides a highly configurable window manager with extensive support for Standards. Furthermore, there are numerous other ports in the [x11-wm category]https// that might interest you.

While we’re at it, if you’re dealing with IT Security, [nmap]https// falls into one of those go-to tools. It can be used to discover hosts and services on a computer network, thus mapping the network.

rubygem-uh-wm, being a minimalist dynamic window manager follows the Unix philosophy of “doing one thing and doing it well”. This allows you to manage your windows in a fast, efficient and effortless way, boosting your productivity to the limit. If you’re working on FreeBSD and dealing with loads of windows and applications, rubygem-uh-wm can certainly be your best friend!

Checkout these related ports:
  • Yeahwm - Minimal X11 window manager with BeOS-like tabbed titles
  • Xfce4 - Meta-port for the Xfce Desktop Environment
  • Xfce4-wm - Xfce's window manager
  • Xfce4-session - Xfce's session manager
  • Xfce4-panel - Xfce's panel
  • Xfce4-panel-profiles - Xfce's panel multiple layouts manager
  • Xfce4-desktop - Xfce's desktop manager
  • Xdgmenumaker - Generates XDG menus for several window managers
  • Xcompmgr - Sample X compositing manager
  • Wmx - Simple window manager based on wm2
  • Wmname - Prints/sets the window manager name property of the root window
  • Wmii - Dynamic, minimalist window manager for X11
  • Wmii-devel - Dynamic, minimalist window manager for X11
  • Wmconfig - Menu generation tool for X window managers
  • Wmanager - X11 window manager selector