You are not logged in.

#1 2008-11-06 11:44:06

ArchGh0ul
Member
Registered: 2008-10-23
Posts: 96

[beta] Gh0ulWM

This is my own WM that I wrote a few months back.
It started out as a test project (I was starting to learn Xlib fiddling with TinyWM) but it turned out into an usable application.
It does not follow standars and it's in no way a WM I would encourage anyone to use for more than 1 hour but it does work so I thought I'd share it.
Plans are for me to rewrite it but not that much free time at the moment.
I was also going to implement a configuration file but I shelved the project so for now you just need to edit the source to change settings(at the end of the
source).

Features:
1. No window decoration apart from a border (yes..for me that's a feature smile ). Border size can be modified in the config
2. 9 Virtual workspaces (names can be set in the source)
3. GhoulBAR (displays workspaces, list of window class names and a status wich can be piped from a shell script (see at the bottom of the post)
4. Screen padding (you can set how many pixels should the wm ignore on each of the four screen sides)
5. Floating rules (set what applications to NOT start fullscreen wich is the default behaviour)
6. Internal messaging system (displays workspace names and a startup message for now)

Take notice that it has lots of bugs especially when dealing with GTK applications. Also the screenshot is a bit older. A few modifications were made since then (replaced window titles with class names etc)

Keybindings

Mod4 + click/hold/drag      : Move window
Mod4 + rightclick/hold/drag : Scale window
Mod4 + t                    : Spawn terminal
Mod4 + m                    : Maximize window
Mod4 + c                    : Kill selected window
Mod4 + p                    : Spawn menu application (set to use dmenu)
Mod4 + TAB                  : Cycle windows
Mod4 + 1..9                 : Switch to coresponding workspace

Configurables

GhoulCONFIG.TERMINAL        Terminal to start (Mod4 + t)
GhoulCONFIG.FONT            The font Gh0ulWM uses to display everything
GhoulCONFIG.FGCOLOR         Default foreground color
GhoulCONFIG.BGCOLOR         Default background color
GhoulCONFIG.SELCOLOR        Selected window border color
GhoulCONFIG.USELCOLOR       Unselected window border color
GhoulCONFIG.SELWSCOLOR      Selected workspace color
GhoulCONFIG.USELWSCOLOR     Unselected workspace color
GhoulCONFIG.SELWINCOLOR     Selected window color (in the window list)
GhoulCONFIG.USELWINCOLOR    Unselected window color
GhoulCONFIG.BORDER          Border size
GhoulCONFIG.MENU            Menu GhoulWM should spawn on Mod4 + p

Spaces to ignore
GhoulCONFIG.PADDING.n       Top
GhoulCONFIG.PADDING.w       Left
GhoulCONFIG.PADDING.s       Bottom
GhoulCONFIG.PADDING.e       Right

GhoulCONFIG.BARSIZE         Size (height) of Gh0ulBAR
GhoulCONFIG.MSGWAIT         How many seconds should messages stay on screen
GhoulCONFIG.WELCOME         Show welcome message ?

INSTALL:
"make && sudo make install" to install it
To be able to get status displayed don't run ghoulwm..use this script (save it as ~/.ghoulwmrc or something and make .xinitrc run that)

#!/bin/bash
exec xsetroot -solid black -cursor_name left_ptr &
while true; do
DATESTATUS=$(echo "`date +%d-%B-%y` `date +%r`")
echo "$DATESTATUS"
sleep 1
done | ghoulwm

So have fun with this..feel free to do anythign you want with it...it was just a project of mine and it should atleast give you a rough idea of how a window
manager works (every other window manager is WAY better coded than mine lol!)

screenshotnz9.th.pngthpix.gif

EDIT: Ooops..forgot the source: http://www.quickfilepost.com/download.d … 395789c9cd

Last edited by ArchGh0ul (2008-11-06 11:55:51)

Offline

Board footer

Powered by FluxBB