Skip to content

su8/hellxcb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hellxcb

→ tiny(!) and monsterous!

This is xcb port of monsterwm tiling window manager. For more detailed README refer to monsterwm

The code editor in the picture above is Microsoft Visual Code Editor -- not Studio Editor

Installation

Open up config.h and edit to suit your needs. Build and install.

$ $EDITOR_OF_CHOICE config.h
$ make -j8 # where 8 are CPU cores
# make install

To have mouse cursor, open up .xinitrc and append somewhere before the case label the following xsetroot -cursor_name left_ptr

The statusline in the picture above is made of https://github.com/su8/doomy . You can use sed to make a named tag/workspace from /tmp/hellxcb.txt , just use cat /tmp/hellxcb.txt | sed -E 's/tag: 1/tag: web/g; s/tag: 2/tag: dev/g; s/tag: 3/tag: misc/g; s/tag: 4/tag: float/g; s/tag 1/web/g; s/tag 2/dev/g; s/tag 3/misc/g; s/tag 4/float/g;' and redirect it /tmp/doomy.txt if you use https://github.com/su8/doomy

To hide/show some windows, you can have drop down terminal:

// config.h
// AppRule rules[] add your terminal and make it floating
{  MOD4,             XK_z,          hide_show,             {NULL}},

// hellxcb.c
static void hide_show(const Arg *arg) {
    (void)arg;
    static unsigned int show = 0U;
    static xcb_window_t curwin;
    if (!current) return;
    if (show = !show) { curwin = head->win; xcb_unmap_window(dis, curwin); }
    else { xcb_map_window(dis, curwin); xcb_move_resize(dis, curwin, 0, 0, 0, 0); }
}

The packages needed for example would be libxcb xcb-util xcb-util-wm xcb-util-keysym gcc make xorg [ pkg-config or pkgconfigor pkgconf ]

The packages in Debian are: libxcb-randr0 libxcb-randr0-dev libxcb-ewmh libxcb-ewmh2 xorg-dev xserver-xorg-dev libxcb-icccm4 libxcb-icccm4-dev gcc make xorg pkg-config git libxcb-keysyms1 libxcb-keysyms1-dev libxcb-util-wm libxcb-util-dev xcb-util libxcb1-deb libxcb-dev

If on Debian,

$(CC) $(CFLAGS) $(INCS) $(LDFLAGS) -o $(PACKAGE) $(PROG)
-- must become $(CC) -o $(PACKAGE) $(PROG) $(CFLAGS) $(INCS) $(LDFLAGS) , just cut and paste -o $(PACKAGE) $(PROG) right after $(CC)

For FreeBSD the packages are gcc xorg gmake chromium git gawk libxcb xcb-util xcb-util-wm xcb-util-keysyms pkgconf

For NetBSD the packages are clang gmake firefox git gawk xcb xcb-util xcb-util-wm xcb-util-keysyms pkg-config and full desktop with X11 installed on your system.

Bugs

I have fixed - Cloudef/monsterwm-xcb#8 . When closing pop-up dialogs you must use alt + z to bring the focusing back to normal.

Fill bugs only on hellxcb, when you are sure the bug doesn't occur on monsterwm.

monsterwm issues

Thanks

Cloudef for monsterwm-xcb, the suckless team for dwm, moetunes for dminiwm, pyknite for catwm, c00kiemonster for monsterwm

About

Tiling WM, port of monsterwm to xcb

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published