You are not logged in.
As a consequence of the catwm thread and the thread about my port of catwm to xcb we have this thread about a dynamic tiling window manager with no major bugs!
I saw gold in catwms' save_desktop function.
It's simple; there's no floating windows, no status bar, popups are treated like any other window etc.
There's choice in the tiling method; new window is master or attach aside.
There's choice in the tiling mode used; Vertical, Horizontal, Fullscreen, Stacking and Grid.
You can even resize the window at the top of the stack
Changing a tiling mode or window size on one desktop doesn't effect other desktops.
Most changes can be made in the config.h file:
Like if you want space to run a panel
Whether to focus the window the mouse just moved to
Whether to follow a window when you send it to another desktop
What application to open on what desktop
Colours, keyboard shortcuts etc, etc
It's light on resources both in filesize and memory used.
I paid for the whole screen and I'm going to use the whole screen so dynamic is the way to go.
If you want to try a light dynamic tiler it's on github.
Cheers
Update:
There's been lots of little bugs fixed and a few enhancements along the way. The biggest additions are a bar, which has a clickable desktop switcher, shows the tiling mode and focused windows' name and has space to show external text like conky, and there's a reloadable rc file. Since dminiwm is about staying under 1000 sloc the wm with the bar goes by a different name - snapwm
Here's a pic of snapwm in action:
So this thread is now about two window managers, dminiwm and snapwm, which have the same window manager functions. The only difference between them is snapwm is dminiwm with the reloadable rc file and the bar.
Thanks to stlarch snapwm has a wiki page here.
Update2:
There's now a multi monitor version of dminiwm, that's still under 1000 loc.
Update3:
After some good practise with some_sorta_bar I made bipolarbar(formerly splitter_bar), which is a lightweight bar for window managers that takes two inputs with different timings. It is aimed at, but not limited to, monsterwm users. Here is the first announcement of it or see the Readme on github for usage clues.
Here's a pic of it in action with dminiwm:
Update4:
There's now a stable release of snapwm.
github https://github.com/moetunes/snapwm-stable
aur https://aur.archlinux.org/packages/snapwm-stable/
Cheers
Last edited by moetunes (2013-06-06 19:32:19)
You're just jealous because the voices only talk to me.
Offline
Great job moe! Haven't found a bug so far
Offline
Great job moe! Haven't found a bug so far
heh there'll be bugs...
I stripped it right down to have the ability to resize the window at the top of the stack take up as few lines of code as possible. I'm still building it back up to what DMiniWM is e.g. having the panel at the top.
Cheers
You're just jealous because the voices only talk to me.
Offline
Again, great job!
I like the resziseble top stack, and it only needs the return of the grid layout to be even more awesome!
I myself like that it dosent have a floating layer and tagging rules for it, since I never use that... Also because the apps that used to make problems like e.g. gimp, now has options for docking the toolbars, and if not, then a tiling layout still would suit me better than floating, and finally, if you cant live without it, then you can just fire up a new X session without a wm and just the app in question, i.e. 'xinit /usr/bin/appname -- :1'.
Thanks again!
Offline
I added the grid mode back yesterday and the gimp does look funny in it
Cheers
You're just jealous because the voices only talk to me.
Offline
it's what I'm doing and it works
Offline
I've been distracted and have finally added back the option to have the panel at the top so dminiwm is pretty much at the stage DMiniWM was but with the option to resize the window at the top of the stack. I fined tuned the grid tiling mode a bit but it's not perfect (screen heights aren't evenly divisible by three..)
There's still about 150 sloc until we hit the 1000 mark
Cheers
You're just jealous because the voices only talk to me.
Offline
I have two apps, me-tv and xmms, that are giving me some hassles.They handle their configuration windows differently to e.g. firefox; thunar. When their configuration windows close they don't send a destroynotify event so it's hard to remove them from the window stack which leaves an empty space on the screen. I thought I had the ghost window issue thoroughly licked... I'm sure these aren't the only apps that do this so it's something I'll have to sort out sooner or later. The kill_client function does remove the empty space from the window stack but that isn't going to be a long term solution.
You're just jealous because the voices only talk to me.
Offline
Seems some apps don't destroy their configuration windows when you're done with them, they just put them in the withdrawn state so you can't see them. I'm not going to worry about that in such a light window manager.
Cheers
You're just jealous because the voices only talk to me.
Offline
edit:
Cheers
Last edited by moetunes (2011-10-15 02:39:49)
You're just jealous because the voices only talk to me.
Offline
It's been a rainy saturday morning here so I fixed up the grid mode to remove the useless gaps
Here's a pic:
and now fullscreen mplayer fits in the window manager better.
Cheers
Last edited by moetunes (2012-02-16 19:15:56)
You're just jealous because the voices only talk to me.
Offline
Some more enhancements
Windows are borderless if there is only one on the desktop or in fullscreen mode.
You're just jealous because the voices only talk to me.
Offline
Thanks!!
Offline
Thanks for all your work on this, moe. It's fun to play with this. I love the simplicity and minimalism of it; I never thought anyone could out-minimal dwm and still have it be usable! :-)
Offline
I just ran cloc on the files
9:40:22 am
[ ~ ]$ cloc build/dminiwm-0.0.6/src/dminiwm.c build/dminiwm-0.0.6/src/config.h
Use of qw(...) as parentheses is deprecated at /usr/bin/cloc line 1839.
2 text files.
2 unique files.
0 files ignored.
http://cloc.sourceforge.net v 1.54 T=0.5 s (4.0 files/s, 2052.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 1 123 79 718
C/C++ Header 1 9 29 68
-------------------------------------------------------------------------------
SUM: 2 132 108 786
-------------------------------------------------------------------------------
I think there's a fair bit of functionality in this for only 786 sloc
As a comparison I ran cloc on dwm 5.8.2 with the bstack patch
9:40:50 am
[ ~ ]$ cloc build/Window-managers/dwm/dwm-5.8.2/dwm.c build/Window-managers/dwm/dwm-5.8.2/config.h
Use of qw(...) as parentheses is deprecated at /usr/bin/cloc line 1839.
2 text files.
2 unique files.
0 files ignored.
http://cloc.sourceforge.net v 1.54 T=0.5 s (4.0 files/s, 4454.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 1 176 64 1856
C/C++ Header 1 12 22 97
-------------------------------------------------------------------------------
SUM: 2 188 86 1953
-------------------------------------------------------------------------------
Cheers
edit: You do get alot more with dwm tho
Last edited by moetunes (2011-10-14 08:41:18)
You're just jealous because the voices only talk to me.
Offline
I found a way with just 7 lines to have popup windows not be managed by the window manager. It's still a bit rough (there's just 7 lines managing it ) but functional.
Here's a pic :
Cheers
Last edited by moetunes (2012-02-16 19:17:26)
You're just jealous because the voices only talk to me.
Offline
I've played with how the popups are handled and now it's a bit more friendlier. If you lose one just cycle through the windows and it'll pop back up in the same spot.
Cheers
Last edited by moetunes (2011-10-13 08:55:15)
You're just jealous because the voices only talk to me.
Offline
Hi,
i like dminimalwm (and would have catwm, if i've found out about it earlier). It surprised me, that ~1000 sloc can provide me with nearly everything i need.
It's also nice and readable code, so i use the chance and try to learn some C. I also forked it to github.com/richo4/dminimalwm.
rich_o
Offline
Hi,
i like dminimalwm (and would have catwm, if i've found out about it earlier). It surprised me, that ~1000 sloc can provide me with nearly everything i need.
It's also nice and readable code, so i use the chance and try to learn some C. I also forked it to github.com/richo4/dminimalwm.
rich_o
That's what attracted me to it
I'm happy to help with any questions.
Cheers
Last edited by moetunes (2011-10-13 10:02:20)
You're just jealous because the voices only talk to me.
Offline
Hey moetunes, did you ever get a chance to test it on systems not using the full complement of tty's (you and I did some testing a month or 2 ago)? I did test it on a system with all 6 tty's and it worked fine, but both systems with only 2 tty's didn't work. Nice work!
Scott
Offline
Hey moetunes, did you ever get a chance to test it on systems not using the full complement of tty's (you and I did some testing a month or 2 ago)? I did test it on a system with all 6 tty's and it worked fine, but both systems with only 2 tty's didn't work. Nice work!
Scott
No I've never tried it on systems using 2 tty's. I just went through how dwm starts and it's pretty much the same as what dminiwm does
// Screen and root window
screen = DefaultScreen(dis);
root = RootWindow(dis,screen);
they both just grab the default screen so I have no idea why this won't work on your systems and wouldn't know where to start looking for clues... any errors from X like screen not available?
Cheers
Last edited by moetunes (2011-10-13 20:28:13)
You're just jealous because the voices only talk to me.
Offline
I had a bit of a play with the grid mode and now, with 3 or 4 windows open, windows can be resized in both directions using alt+h/l and alt+p/o
Here's a pic :
While hacking away I reworked things to use one less variable and I ended up using one line of code less overall by adding the grow_window option
Cheers
Last edited by moetunes (2012-02-16 19:18:14)
You're just jealous because the voices only talk to me.
Offline