PDA

View Full Version : What is the absolute lightest WM?



NintendoTogepi
March 7th, 2009, 05:42 PM
Obviously this knocks out GNOME, KDE, XFCE, even some of the lighter ones like LXDE and ICEWM...so which is the absolute lightest WM?

izizzle
March 7th, 2009, 05:44 PM
Try evilwm. http://www.6809.org.uk/evilwm/

kk0sse54
March 7th, 2009, 06:11 PM
DWM, Ratpoison, antiWM, evilwm, probably something along those lines

Rokurosv
March 7th, 2009, 06:13 PM
I think that in terms of funtionality and simplicity JWM is pretty good and lightweight.
I personally like StumpWM.

Naiki Muliaina
March 7th, 2009, 06:16 PM
Ratpoisons good ^^

jomiolto
March 7th, 2009, 06:25 PM
TinyWM (http://incise.org/tinywm.html).

gnomeuser
March 7th, 2009, 06:26 PM
50kb - I win (http://home.comcast.net/~fbui/)

no I beat myself 27kb (http://home.comcast.net/~fbui/fwe.html)

I dare you to find anything less bloated

jomiolto
March 7th, 2009, 06:56 PM
50kb - I win (http://home.comcast.net/~fbui/)

no I beat myself 27kb (http://home.comcast.net/~fbui/fwe.html)

I dare you to find anything less bloated

I think that 27kB is about the same as dwm (http://www.suckless.org/dwm/).

But TinyWM is only about 8.5kB, so it easily beats both FWE and dwm.

NintendoTogepi
March 7th, 2009, 07:34 PM
Okay what is the lightest one that is still pretty usable? (as in JWM/Fluxbox/Openbox etc.)

InfinityCircuit
March 7th, 2009, 07:37 PM
Do you want a tiling window manager? "Usable" is pretty vague.

kavon89
March 7th, 2009, 07:37 PM
What is the absolute lightest WM?

Screen (http://en.wikipedia.org/wiki/GNU_Screen) without a doubt.

sertse
March 7th, 2009, 11:59 PM
dvtm, a tiling console WM is lighter than screen...

dwm I think, is the lightest usable graphical wm, usable in the sense people *do* use it, (Cardinals'? Chucky? one of them iirc) rather than just a novelty...

They are both tiling, it's usually lighter. Tiling is also very usable, I don't accept excuse that it's hard very convincing... (though I rather use xmonad and awesome rather than dwm heh)

namegame
March 8th, 2009, 01:34 AM
dwm I think, is the lightest usable graphical wm, usable in the sense people *do* use it..


I do like the suckless.org WMs, I forget which one, either dwm or wmii, is extremely "small." The source code is only 250 lines long.

gnomeuser
March 8th, 2009, 01:38 AM
I think that 27kB is about the same as dwm (http://www.suckless.org/dwm/).

But TinyWM is only about 8.5kB, so it easily beats both FWE and dwm.

ah but dwm pulls in X, FWE is X free. Massive saving right there.'

That being said, I am a GNOME user for a reason, I like functionality in my desktop.

Lux Perpetua
March 8th, 2009, 02:39 AM
Obviously this knocks out GNOME, KDE, XFCE, even some of the lighter ones like LXDE and ICEWM...so which is the absolute lightest WM?Your question has a clear right answer:

TinyWM (http://incise.org/tinywm.html).Thank you. :-)

To everyone still arguing, I give you the complete source of tinywm:

tinywm.c
/* TinyWM is written by Nick Welch <mack@incise.org>, 2005.
*
* This software is in the public domain
* and is provided AS IS, with NO WARRANTY. */

#include <X11/Xlib.h>

#define MAX(a, b) ((a) > (b) ? (a) : (b))

int main()
{
Display * dpy;
Window root;
XWindowAttributes attr;
XButtonEvent start;
XEvent ev;

if(!(dpy = XOpenDisplay(0x0))) return 1;

root = DefaultRootWindow(dpy);

XGrabKey(dpy, XKeysymToKeycode(dpy, XStringToKeysym("F1")), Mod1Mask, root,
True, GrabModeAsync, GrabModeAsync);
XGrabButton(dpy, 1, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync,
GrabModeAsync, None, None);
XGrabButton(dpy, 3, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync,
GrabModeAsync, None, None);

for(;;)
{
XNextEvent(dpy, &ev);
if(ev.type == KeyPress && ev.xkey.subwindow != None)
XRaiseWindow(dpy, ev.xkey.subwindow);
else if(ev.type == ButtonPress && ev.xbutton.subwindow != None)
{
XGrabPointer(dpy, ev.xbutton.subwindow, True,
PointerMotionMask|ButtonReleaseMask, GrabModeAsync,
GrabModeAsync, None, None, CurrentTime);
XGetWindowAttributes(dpy, ev.xbutton.subwindow, &attr);
start = ev.xbutton;
}
else if(ev.type == MotionNotify)
{
int xdiff, ydiff;
while(XCheckTypedEvent(dpy, MotionNotify, &ev));
xdiff = ev.xbutton.x_root - start.x_root;
ydiff = ev.xbutton.y_root - start.y_root;
XMoveResizeWindow(dpy, ev.xmotion.window,
attr.x + (start.button==1 ? xdiff : 0),
attr.y + (start.button==1 ? ydiff : 0),
MAX(1, attr.width + (start.button==3 ? xdiff : 0)),
MAX(1, attr.height + (start.button==3 ? ydiff : 0)));
}
else if(ev.type == ButtonRelease)
XUngrabPointer(dpy, CurrentTime);
}
}
Makefile
PREFIX?=/usr/X11R6
CFLAGS?=-Os -pedantic -Wall

all:
$(CC) $(CFLAGS) -I$(PREFIX)/include -L$(PREFIX)/lib -lX11 -o tinywm tinywm.c

clean:
rm -f tinywm

wolfen69
March 8th, 2009, 03:13 AM
openbox gets my vote.