You are not logged in.
Before I start and introduce my Window Manager, yes here is yet another one! I know you've been thinking it since you saw the title
Going to show off what I've been working on the last three weeks; my own window manager. It's basically MonsterWM with some EWMH compliancy to work with 3rd party panels, pagers and window switchers. Minimizing clients is still on the todo-list, but there are some bugs I have to squish first.
I'm just putting it out here to get it known by people that I know can handle beta software (I haven't had any crashes ever (duh, it's based on an already stable and widely used WM!), but there are some strange things now and then) and who can possibly contribute some as I am mostly hitting dead ends now in my attempts to solve the remaining bugs.
It has multiple layout à la MonsterWM:
A 3rd party window switcher (xwinmosaic):
If you are interested in trying this out or reviewing the code, the GitHub repository can be found here: https://github.com/Unia/dragonflywm
Build instructions can be found in the README and for the default configurations options, see config.def.h or the manpage. For bugs or the todo list, see TODO.
Thanks!
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Before I start and introduce my Window Manager, yes here is yet another one! I know you've been thinking it since you saw the title
I was hoping this was an already-existing WM I somehow missed ;P
Looks nice. Feel free to add it to the wiki.
Offline
Unia wrote:Before I start and introduce my Window Manager, yes here is yet another one! I know you've been thinking it since you saw the title
I was hoping this was an already-existing WM I somehow missed ;P
Impossible
Looks nice. Feel free to add it to the wiki.
Thanks, I will when I have added all the features I want and fixed (most of) the bugs.
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Thanks, I will when I have added all the features I want and fixed (most of) the bugs.
Ha ... window managers are never done. They just reach various levels of stagnation.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Unia wrote:Thanks, I will when I have added all the features I want and fixed (most of) the bugs.
Ha ... window managers are never done. They just reach various levels of stagnation.
True.. but we haven't yet managed to get to level one! By the way, have you seen the email I send you?
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Crap ... yes, I did. And I planned to reply. But working at a university the start of a semester is pretty crazy. That went into the "reply to later" pile - which any academic knows is a pergatory from which tasks never escape. Let me go pull it back up.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Sure thing, take your time!
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Hi.
This WM look very nice.
I have one question. In config.h I must define all costom commands (ex. term, browser) ? I tried insert keyboard shortcut without this, ex.
{ 0, 0x1008ff11, spawn, {.com = "amixer set -q Master 5%-"}},
but not working.
Offline
You keep surprising me. And I think my sense of adventure has just woken up. Time to test!
:: Registered Linux User No. 223384
:: github
:: infinality-bundle+fonts: good looking fonts made easy
Offline
Hi.
This WM look very nice.
I have one question. In config.h I must define all costom commands (ex. term, browser) ? I tried insert keyboard shortcut without this, ex.{ 0, 0x1008ff11, spawn, {.com = "amixer set -q Master 5%-"}},
but not working.
You have to do it like the examples/defaults.
EDIT: For that command, you would do something like this:
static const char *voldown[] = { "amixer", "-q", "sset", "Master", "5%-", "unmute", NULL };
....
{ 0, 0x1008ff11, spawn, {.com = voldown}},
You keep surprising me. And I think my sense of adventure has just woken up. Time to test!
Great, thanks!
Last edited by Unia (2013-08-31 11:03:54)
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Wouldn't this also work:
{ 0, 0x1008ff11, spawn, {.com = { "amixer", "-q", "sset", "Master", "5%-", "unmute", NULL }}},
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
EDIT: For that command, you would do something like this:
static const char *voldown[] = { "amixer", "-q", "sset", "Master", "5%-", "unmute", NULL }; .... { 0, 0x1008ff11, spawn, {.com = voldown}},
Thanks for Your answer.
I had big hope that I would not write definitions
Time for tests...
Offline
@Trilby,
Honestly, it didn't even occur to me to try it like that I guess it will!
Last edited by Unia (2013-08-31 12:19:13)
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Also you could have one macro definition like some other wm's do:
#define SHCMD(cmd) {.com = (const char *[]) { "/bin/sh", "-c", cmd, NULL } }
...
{ 0, 0x1008ff11, spawn, SHCMD("amixer -q sset Master 5%- unmute") },
Of course I've always found this ugly ... it spawns a new and completely useless shell for everything that you launch.
Last edited by Trilby (2013-08-31 12:30:45)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
The macro is there in config.def.h
Last edited by Unia (2013-08-31 12:53:25)
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
When I read the name, I thought I had read about this WM a million times before. Then I realized, that I expected something related to BSD.
Anyway, one can never have enough different window managers :-D
Offline
Also you could have one macro definition like some other wm's do:
#define SHCMD(cmd) {.com = (const char *[]) { "/bin/sh", "-c", cmd, NULL } } ... { 0, 0x1008ff11, spawn, SHCMD("amixer -q sset Master 5%- unmute") },
Of course I've always found this ugly ... it spawns a new and completely useless shell for everything that you launch.
Thanks, Trilby. Unfortunately, I already converted all my shortcuts from other wm... alopex
Offline
I was getting warnings re: missing field initializers in app rules when running make on source from git. I added extra fields to my app rules as below and the warnings disappeared, but my attachaside preferences still don't seem to be respected:
static const AppRule rules[] = { \
/* class instance title desktop follow float attachaside */
{ "Firefox", NULL, NULL, 0, False, False, True },
{ "MPlayer", NULL, NULL, 3, True, True, True },
{ "Gimp", NULL, NULL, 3, False, False, True },
};
Also getting some funky behaviour when toggling the panel gap. (I realize the expression 'funky behaviour' does not constitute a rigorous bug report. Is this a known issue?
Offline
Ha, I knew it. This was only a matter of time. I'll try it later, good job Unia!
Offline
I was getting warnings re: missing field initializers in app rules when running make on source from git. I added extra fields to my app rules as below and the warnings disappeared, but my attachaside preferences still don't seem to be respected
This should be fixed by now - I forgot to update config.def.h.
Also getting some funky behaviour when toggling the panel gap. (I realize the expression 'funky behaviour' does not constitute a rigorous bug report. Is this a known issue?
I see what you mean, I wasn't aware of this yet. It's added to the list
Ha, I knew it. This was only a matter of time. I'll try it later, good job Unia!
Thanks!
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline