Skip to content

lich0x2b/barewm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bare WM - A minimal fullscreen window manager for Linux

Bare WM is a full screen window manager aimed at those who spend their day cycling through windows instead of having 10 onscreen at a time.
It's a dumbed down version of Ratpoison's default behaviour (all windows open in fullscreen, with no ability to resize,just to cycle through).
For people who only use GNU Screen, Firefox  and/or Emacs all day long, it's really useful as it lets you use every free pixel of the screen.

Shouts to:
- dimigon ( thanks for the sighandler part :) and some other coding stuff I learned after your submitted patch )
- wonder  ( thanks for the help with the PKGBUILD )
- rob|    ( thanks for the SIGALRM info )
- meth0dz ( thanks for the massive cleanup of the code! )

INSTALL

open conf.h
< edit settings / keys / colors >
$ make
$ sudo make install

RUNNING

Just run barewm (from xinitrc, or make a session for it)
xinitrc example:

exec xsetroot -solid "Gray50" &
exec barewm
$ startx

example short-info.sh - create this, make it executable (chmod +x) and put it somewhere in your search path
-- cut here --
#!/bin/sh
TEMP=$(cat /proc/acpi/thermal_zone/THRM/temperature | awk '{print $2"C"}')
FREQ=$(cpufreq-info | awk '/current CPU frequency/ {print $5"MHz"}')
DATE=$(echo -n $(date +%B,\ %d\ -\ %I:%M\ %p))
SDA2=$(df -h | awk '/sda2/ {print $4"/"$2}')
INFO=$(echo -n "Storage: $SDA2 :: CPUFreq: $FREQ :: Temperature $TEMP :: $DATE")
echo -n "$INFO"
-- cut here --

USAGE
Configuration is done by modifying the conf.h file and recompiling.
The default keybindings are:
- MOD = Default is the ALT key (Mod1Mask).
- MOD + t : enter command mode
All following keys are issued when in command mode
- c : spawn terminal (defaults to urxvt)
- w : display window list
- q : kill selected window
- m : spawn launcher menu program (by default it uses dmenu)
- p : select previous window
- n : select next window
- s : show message containing output from the command defined at as STATUS in conf.h

TODO
1. Handle TIMEOUT better, sleep freezes input. < done!
2. Custom key bindings. Working on implementing message and spawn bindings for now.
   Useful if you want to set bindings to run your own scripts, for example to display system stats or whatnot
   using the built-in messaging system.
3. Maybe (MAYBE!) splitting. Atleast a 2 frame vertical splitting would be in order if I pursue this.
4. Named virtual workspaces
5. < to come >

NEWS:

29.04.2009 - Added a status feature (outputs the result from the command defined at STATUS)
           - Added options for custom cursors (only ones found in X11/cursorfont.h)
15.10.2009 - Wrote timeout handler, so it doesn't block when messages are displayed
           - Started working on a logo, I know it's soon but I need to practice my drawing skills :)
           - Started doing a complete clean-up of the code, especially the color handling
16.10.2009 - Implemented most of meth0dz' suggestions and code
           - Killing windows now selects the previous (or next, depending on the outcome
             of the previous selection) window.
           - at meth0dz's suggestion, I switched to C99, thus having to mess a bit with the
             code to get it to compile. Nothing serious though.
           - Started work on cleaning the ugly switch/case parts that take care of the
             messaging window position. I will transform this into a single function

About

BareWM - A minimal window manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages