bug.
n – dynamic window manager (dwm)
Launching
Instructions for launching bug.n can be found here: Installation.
Introduction
Using bug.n can be done in pure keyboard control or through some extra mouse handling. See the
Default_hotkeys for what are the default bindings. They are used in this tutorial.
Window model
For this tutorial, we will use git-bash (https://git-for-windows.github.io/), since the target audience is
programmers and most programmers are already very familiar with VIM and git. Git bash comes
with VIM installed, so you can try it out for yourself. Further a lot of users work with terminals and
lots of them, and it directly shows a use case which will be helpful to a lot of us. Start bug.n by
executing the bug.n exe file, and then launch git bash. It will look something like this:
Picture of command prompt and bug.n at startup
Now lets open VIM installed in git bash in the git-bash window, as we will use that for
demonstration of the windowing capabilities.
Picture of VIM opened up showing title bar
Lets open a second Window (Window_2) and see what happens.
Picture of 2 VIM windows opened
Existing windows are pushed upon a stack to the right of the screen. We will come back to the
meaning of stack, and master later. For now just assume that the Window on the right is Master
and the window on the left is stack. If you open more windows, the newest window will become
the master. The previous windows will be put on the stack. As a result, in this current configuration,
you will have only 1 large master Window, and several smaller windows in stack, looking
something like this:
Two Windows opened:
Picture of 2 VIM windows opened
Three Windows opened:
Picture of 3 VIM windows opened
Four Windows opened:
Picture of 4 VIM windows opened
Part of the window
In the default configuration, bug.n hides the default title bar of any window currently opened as
best as possible. As a result, you can use the maximum screen real estate possible. It displays a
thin bar at the top, which in turn consists of 4 main parts:
1. Tags: Tags are like virtual desktop, and each tag can hold multiple windows together.
2. Current tiling mode: This displays the current configuration (Monocole). bug.n has a
number of other modes, that we will discuss in upcoming tutorials.
3. Title bar: This displays the name of the application, as well as the name of the current file.
4. Info bar: displays the time, and date.
different parts of the bug.n title bar
Resetting and quitting
As you learn the ins and outs of how bug.n works, if you have a lot of applications/ fancy GUIs
opened and as we work to make bug.n resolve edge cases better, and make it more stable, you
may find that its not behaving as expected. The easiest way to get it working is to reset bug.n to its
default configuration.
To reset bug.n cleanly use the following hotkey: Win Ctrl R
To quit bug.n cleanly use the following hotkey: Win Ctrl Q
Sources
Tutorial: github.com/alphaCTzo7G/bug.n
Basic documentation: github.com/fuhsjr00/bug.n/doc