You are not logged in.

#76 2012-01-02 14:31:27

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

metre wrote:

Anyway, I read this thread http://lists.suckless.org/dev/1112/10475.html , and I thought that maybe you would want to reply to some opinions there.

c00kiemon5ter wrote:
el mariachi wrote:
redhalo wrote:

Ha, I just saw that announcement today, thinking "I wonder what the suckless guys think of monsterwm?". Apparently they don't think much. It's a shame, I figure'd it be right along thier interest.

What do the suckless guys like besides their own stuff? tongue both monster and dmini wm's are nice.

ah, well, that's alrght. From what I see, they'd like tagging support, which I have in my todo list. When I started this, I did it mostly to learn more about wm's and xlib, and I'm also thinking on translating this to (and along the way learn) xcb.
As I said on my first post, rant accepted. The harsh critic is the best way to make something better.

no egos hurt, it's still fun for me, and it's nice to see people using it smile

Army wrote:

I'm not completely up to date with the development, but do you have plans on allowing windows to go fullscreen? Like mplayer with "f" or several other applications with F11.

I can look into it, but if you start mplayer, change to fullscreen mode, toggle the panel and tadah!

Last edited by c00kiemon5ter (2012-01-02 14:32:37)


.:[ git me! ] :.

Offline

#77 2012-01-02 16:00:46

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

I can look into it, but if you start mplayer, change to fullscreen mode, toggle the panel and tadah!

Sure, that's the workaround which works quite well. I guess you don't have it in monsterwm right now, because in dwm fullscreen apps get floated which monsterwm doesn't support, so it's not possible to implement it this way at the moment.

The real "issue" I have with this is, when I press "f" in mplayer, the video disappears and only reappears after toggling the tags (going to another tag and back to the previous one). Also with Luakit, my default browser, it's really a problem. After I press F11 Luakit gets kind of confused and the bottom bar won't come back on again. It's a behaviour which I remember from Musca. This wm also doesn't support fullscreen apps, worse, it "destroys" them, kind of like monsterwm does it.

I haven't tested more applications so far, but I guess all apps get problems in fullscreen mode.

Offline

#78 2012-01-02 16:38:01

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

Army wrote:

Sure, that's the workaround which works quite well. I guess you don't have it in monsterwm right now, because in dwm fullscreen apps get floated which monsterwm doesn't support, so it's not possible to implement it this way at the moment.

I have some ideas, I will look into it, and I hope I'll get to partial floating support by the end of holidays.


.:[ git me! ] :.

Offline

#79 2012-01-02 16:48:45

metre
Member
Registered: 2011-03-13
Posts: 130

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:
Army wrote:

Sure, that's the workaround which works quite well. I guess you don't have it in monsterwm right now, because in dwm fullscreen apps get floated which monsterwm doesn't support, so it's not possible to implement it this way at the moment.

I have some ideas, I will look into it, and I hope I'll get to partial floating support by the end of holidays.

Just remember: don't be in hurry! You are doing all the hard work alone, after all these holidays are for all of us, and I mean, for you too big_smile

Offline

#80 2012-01-03 16:26:03

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

thanks metre for your words wink don't worry, it's kinda fun (and kinda an obsession) for me.

Fullscreen support is on master big_smile Cost is 23 lines (.c is at 588 lines, sum:650 (.c + .h) tongue).
A fullscreen window stays fullscreen until you toggle it. Changing desktops or layout modes, should not affect it. Windows behind the fullscreen window can be focused "upon" the fullscreen window (ie the fullscreen window becomes like a wallpaper).
However, the fullscreen window reserves its space on the stack or master; that means that if we suppose 3 windows on the screen, and one gets fullscreen, then if you focus the 2 windows behind the fullscreen one, there is a gap - that gap is the space to be filled when the fullscreen window gets non-fullscreen again. I could fix this, but I dont consider it that much of a 'problem', or worth of more lines, so I don't think I'll be "fixing" this. If I come up with a sort and safe 'fix' I'll let you know.

I'm also aware of a nasty bug, that I think was introduced when I changed the window list to a singly linked list. If one kill a window that resides on a different desktop lockups may happen. I'm on it

edit: also forgot to mention, there should be no flickering now, not on any mode or any switching (window or desktop).

Last edited by c00kiemon5ter (2012-01-03 16:43:21)


.:[ git me! ] :.

Offline

#81 2012-01-03 16:47:09

OK100
Member
From: [U==]
Registered: 2010-04-26
Posts: 455

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

Fullscreen support is on master big_smile

Just tested it, and it works as expected, thanks!

Still waiting for floating mode tongue

Offline

#82 2012-01-03 18:32:46

kuraku
Member
From: planet Earth
Registered: 2012-01-03
Posts: 202

Re: monsterwm! ~ yet another tiny wm

Hi,

i love monsterwm and i just replaced my dwm with it (to test etc). It is fast and it is working the way i want but i need to ask for one feature: border on clients when we use monocle. Is that possible? It is very useful option since some of us use monocle most of our time and without borders, some apps look like they are cut off (Geany, for example).

Could you add that as an option in config.h?

Last edited by kuraku (2012-01-03 18:34:35)

Offline

#83 2012-01-03 18:50:17

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

updated master to correctly handle fullscreen windows that are moved to another desktop.

OK100 wrote:

Still waiting for floating mode tongue

doing what I can

kuraku wrote:

i need to ask for one feature: border on clients when we use monocle

from my experience, most people would want the opposite (that is the current behavior).
Anyway, here is a patch for this:

diff --git a/monsterwm.c b/monsterwm.c
index 859ef9b..eef6819 100644
--- a/monsterwm.c
+++ b/monsterwm.c
@@ -653,7 +653,7 @@ void tile(void) {
     }
 
     if (!head->next || mode == MONOCLE) {
-        for (c=head; c; c=c->next) if (!c->isfullscreen) XMoveResizeWindow(dis, c->win, cx, cy, ww + 2*BORDER_WIDTH, h + 2*BORDER_WIDTH);
+        for (c=head; c; c=c->next) if (!c->isfullscreen) XMoveResizeWindow(dis, c->win, cx, cy, ww - BORDER_WIDTH, h - BORDER_WIDTH);
     } else if (mode == TILE) {
         if (!head->isfullscreen) XMoveResizeWindow(dis, head->win, cx, cy, master_size - BORDER_WIDTH, h - BORDER_WIDTH);
         if (!head->next->isfullscreen) XMoveResizeWindow(dis, head->next->win, (cx = master_size + BORDER_WIDTH), cy,
@@ -691,10 +691,9 @@ void togglepanel() {
 
 void update_current(void) {
     if (!current) return;
-    int border_width = (!head->next || mode == MONOCLE) ? 0 : BORDER_WIDTH;
 
     for (client *c=head; c; c=c->next) {
-        XSetWindowBorderWidth(dis, c->win, (c->isfullscreen ? 0 : border_width));
+        XSetWindowBorderWidth(dis, c->win, (c->isfullscreen ? 0 : BORDER_WIDTH));
         XSetWindowBorder(dis, c->win, (current == c ? win_focus : win_unfocus));
         if (CLICK_TO_FOCUS) XGrabButton(dis, AnyButton, AnyModifier, c->win, True,
             ButtonPressMask|ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None);

save this as "monocleborders.diff" and then patch it

 patch -p1 < monocleborders.diff

build it and you're set

edit: I'll keep this in a separate branch, and update it along with master if you'll be using it. Just keep me notified (or anyone else that'd be using this) so I won't have to do this for no reason.

Last edited by c00kiemon5ter (2012-01-03 19:05:22)


.:[ git me! ] :.

Offline

#84 2012-01-03 19:54:41

kuraku
Member
From: planet Earth
Registered: 2012-01-03
Posts: 202

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

edit: I'll keep this in a separate branch, and update it along with master if you'll be using it. Just keep me notified (or anyone else that'd be using this) so I won't have to do this for no reason.

I have to ask to forgive me for your extra effort. I can use tile all the times with no problems since i just realized that you applied pertag by default in monsterwm (bravo!!).

Still, i have to share something regarding why monocle and borders "issue" should be fixed:
this option to see borders in monocle is just to make everything look the same. Try this: use monocle layout and use just one gui app. Now, try to use "Open" (or any menubar option, like "Save As", that will create new window) and you will see that even in monocle, unfocused client get borders.

Anyway, i have a few questions now:

1. In dwm, we were able to use this hack:

while true
  do
   dwm 2> ~/.dwm.log
  done

Is there anything like that in monsterwm?

2. It seems that monocle is on by default in screen has only one client. That means no borders for single clients even in (any)tile mode.

3. If i set border to "5", i get strange offset on screen. It seems that right and bottom sides of any client are showing parts ow it's window in negative axis (simplified: it is cut off). Here one screen that shows that:
http://i.imgur.com/MVdzP.png
This is not an issue if i start any app besides that single one:
http://i.imgur.com/ML9vR.png

4. Is it possible to implement focus on mouse scroll? It is usefull in some cases.

That's it for now smile

Offline

#85 2012-01-03 20:07:13

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

kuraku wrote:

this option to see borders in monocle is just to make everything look the same. Try this: use monocle layout and use just one gui app. Now, try to use "Open" (or any menubar option, like "Save As", that will create new window) and you will see that even in monocle, unfocused client get borders.

aha, hadn't noticed or thought that, will look if I can do something about it.

kuraku wrote:

1. In dwm, we were able to use this hack:

while true
  do
   dwm 2> ~/.dwm.log
  done

Is there anything like that in monsterwm?

yes, it's there by default, but restarting the wm, won't keep windows open, you just don't have to startx again. see the default config:

{  MOD1|CONTROL,     XK_r,          quit,              {.i = 0}}, /* quit with exit value 0 */
{  MOD1|CONTROL,     XK_q,          quit,              {.i = 1}}, /* quit with exit value 1 */

there's lots of code, to keep windows open from a wm restart, so I'm not sure if I'll be doing that,
maybe I'll implement it in a separate branch to see how much it takes up.

kuraku wrote:

2. It seems that monocle is on by default in screen has only one client. That means no borders for single clients even in (any)tile mode.

yes, but as I said, if you get the code from the "monocleborders" branch, this is disabled,
so you get borders with any layout mode, as you requested.

kuraku wrote:

3. If i set border to "5", i get strange offset on screen. It seems that right and bottom sides of any client are showing parts ow it's window in negative axis (simplified: it is cut off).

wrong math? hmm, dunno, will look into it.

kuraku wrote:

4. Is it possible to implement focus on mouse scroll? It is usefull in some cases.

you can set FOLLOW_MOUSE to True on the config file

Last edited by c00kiemon5ter (2012-01-03 21:18:58)


.:[ git me! ] :.

Offline

#86 2012-01-03 20:12:23

kuraku
Member
From: planet Earth
Registered: 2012-01-03
Posts: 202

Re: monsterwm! ~ yet another tiny wm

Thank you for your answers c00kiemon5ter. I will check out monocleborders branch right away smile

[edit @21:50]
So far, "monocleborders" is working very good. There is no anomalies and every app on screen is 100% visible. I will use it like this for a few days and write down any errors/issues/suggestions.

Last edited by kuraku (2012-01-03 20:43:03)

Offline

#87 2012-01-03 21:36:30

bloom
Member
Registered: 2010-08-18
Posts: 749
Website

Re: monsterwm! ~ yet another tiny wm

Would you consider adding optional gaps between windows?
There are quite useful when shadows enter into consideration.


gh · da · ds

Offline

#88 2012-01-04 01:25:38

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

bloom wrote:

Would you consider adding optional gaps between windows?
There are quite useful when shadows enter into consideration.

how are useless gaps useful ? what does "when shadows enter into consideration" mean ?

The way I see things, useless gaps are quite useless, they only add aesthetics (a subjective point of view). A tiler should arange windows in a way that makes the most out of the desktop, that is fill the whole screen in the most optimal way, and gaps just get in the way.

If more people request this, I will think maybe building a patch, but right now, there are some bugs I'd like to iron out, and then try partial floating mode support or tagging. Whatever seems easier at that moment.


.:[ git me! ] :.

Offline

#89 2012-01-04 12:01:47

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

I've fixed a couple of issues, where transient windows would get tiles if one changed desktops.

Also fixed the issue reported by kuraku, when two windows on screen - one normal, one transient - and mode is wan not monocle, the windows would get borders. Now if only two windows are there and one is transient, there won't be borders.

also fixed the other issue reported by kuraku, that windows would get offscreen if mode was monocle

more to come

Last edited by c00kiemon5ter (2012-01-04 12:12:24)


.:[ git me! ] :.

Offline

#90 2012-01-04 12:51:02

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

A tiler should arange windows in a way that makes the most out of the desktop, that is fill the whole screen in the most optimal way, and gaps just get in the way.

In this spirit nearby boarders show as one. That is, for example, in normal tile mode, you'd get a border around the master window and right next a border for the stack window. This now shows up as one border.

maybe a shot can explain  this better:
SrTxz.png
border width is '3' in config.h
highlighted is the master window and on the right, there are two terminals
The master window is separated from the stack window by 3px, not 6 as in 3 for the master window and 3 for the stack windows. In the same way, the terminals are separated(vertically) by 3px, not 6 as in 3 for each top and bottom window.


.:[ git me! ] :.

Offline

#91 2012-01-04 13:20:29

fsckd
Forum Fellow
Registered: 2009-06-15
Posts: 4,173

Re: monsterwm! ~ yet another tiny wm

a compromise, add alpha transparency to border colors


aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies

Offline

#92 2012-01-04 17:35:40

bloom
Member
Registered: 2010-08-18
Posts: 749
Website

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

what does "when shadows enter into consideration" mean?

If I was to be using xcompmgr for example, I wouldn't want shadows to be applied to tiled windows (unless I can define the necessary gap).
But unfortunately, there's no way to tell xcompmgr to only act on floating windows.

Last edited by bloom (2012-01-04 17:35:58)


gh · da · ds

Offline

#93 2012-01-04 18:14:01

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

fixed some bugs that would cause the wm to freeze, if one would try to move a fullscreen window, or close a window on a different desktop (ie kill an app on desktop 3 that was started from a terminal on desktop 1).

c00kiemon5ter wrote:

However, the fullscreen window reserves its space on the stack or master; that means that if we suppose 3 windows on the screen, and one gets fullscreen, then if you focus the 2 windows behind the fullscreen one, there is a gap - that gap is the space to be filled when the fullscreen window gets non-fullscreen again.

this is now true, only if the fullscreen window is the master window

edit:
ha, compare current sloc status with first page tongue

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                                1             81             72            586
C/C++ Header                     1             10              9             62
-------------------------------------------------------------------------------
SUM:                             2             91             81            648
-------------------------------------------------------------------------------

Last edited by c00kiemon5ter (2012-01-04 18:25:18)


.:[ git me! ] :.

Offline

#94 2012-01-04 19:30:36

Josko
Member
Registered: 2011-02-24
Posts: 9

Re: monsterwm! ~ yet another tiny wm

Just switched to monsterwm today from awesome smile Being a C++ programmer this is very easy to use (except the recompile bit compared to rc.lua smile) Compliments to the author!

Now to just figure out dzen2.

Last edited by Josko (2012-01-04 19:35:17)

Offline

#95 2012-01-04 22:50:37

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

bloom wrote:

If I was to be using xcompmgr for example, I wouldn't want shadows to be applied to tiled windows (unless I can define the necessary gap).
But unfortunately, there's no way to tell xcompmgr to only act on floating windows.

Done, useless gaps in "uselessgaps" branch smile
Set gap size with USELESSGAP define in config.h

Last edited by c00kiemon5ter (2012-01-04 22:52:56)


.:[ git me! ] :.

Offline

#96 2012-01-04 23:52:13

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: monsterwm! ~ yet another tiny wm

Ok, I checked your fullscreen mode. Works very good for mplayer, sxiv and luakit (those I tested, I guess it works well for most applications). It's a bit different with presentations in libreoffice. I guess that's caused by libreoffice (and is the same with openoffice). With this you get a new window, which you then can make fullscreen with monocle+no border.

To make this easier, is it possible to toggle fullscreen with a key combination?

If you now add floating capabilities, I'll really consider changing from dwm to monsterwm. Brilliant job so far, especially looking at the sloc, that's amazing!

Offline

#97 2012-01-05 00:49:52

kuraku
Member
From: planet Earth
Registered: 2012-01-03
Posts: 202

Re: monsterwm! ~ yet another tiny wm

@c00kiemon5ter
Don't get me wrong but you already created 2 branches (besides master). Maybe there is a way to include all that in master and leave just a few config lines in config.h? That way you will not have to bother with several branches hmm

p.s. Maybe i'm wrong and maybe you found a way to make it easier for you to maintain several branches?

Offline

#98 2012-01-05 01:56:18

mhertz
Member
From: Denmark
Registered: 2010-06-19
Posts: 681

Re: monsterwm! ~ yet another tiny wm

.. Just tested this again, and i'm really impressed! I'm also seriously thinking about changing from dwm to this... I actually never use floating mode, so I wouldn't care if that never get's implemented. *Also, if floating and tagging is going to make this comparabel in sloc/mem to dwm, then why bother reinventing the wheel, i'm thinking?

The feature-set there is now is nice imho, and has a clear audience i.e. a dwm-light wm for ppl that dosen't really need tagging/floating etc.

I also really like that the author dismisses the things that he finds useless(for which I couldn't agree more!), instead of just senceslessly adding each and every feature-request...

Btw, obviously there's no rezising or moving, but if needing a flating app momentarilly, then e.g. you could just run 'xinit /usr/bin/gimp -- :1', which then opens the app floating on vt8, while keeping your current x-session on vt7 as normal... Or just have a really light floating wm binary in your home's .bin folder and then just fire that up onto vt8 mometarilly instead...

Anyway, just wanted so say thanks for the nice contribution! smile

Edit: *Anselm commented about monsterwm, that dwm would have similar sloc without tagging and the other missing things...

Edit2: Hmm, I was considering monsterwm for getting a lighter dwm alternative, but now I see that dzen2 alone uses just as "much" memory as dwm(twice as much as monsterwm)... Of course that extremelly little extra memory dosen't matter at all, and one should choose what he/she themselves likes the best, but my point was just that for me, then i'm always trying to find the lightest solution available that of course, most importantly, also does what I want at the same time...

Last edited by mhertz (2012-01-05 04:04:19)

Offline

#99 2012-01-05 09:33:15

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: monsterwm! ~ yet another tiny wm

mhertz, I totally agree, where's the point in recreating dwm's feature set? And it's cookiemonster's wm, he decides what goes in and what doesn't. Btw that's what I like about sxiv, the author denied SO many requests, but now this image viewer is just brilliant (at least for me, since it has everything I need, for those who want more there's e.g. feh).
But concerning the floating mode stuff: I think there should be rudimentary support for it to be able to use applications like easytag, which itself uses floating windows. Easytag is usable here with monsterwm, but those floating windows can't be moved, so what if it covers an important button? In that case it's unusable. I don't know if it makes much difference from the coder's point of view to implement the ability to move such windows or to implement a complete floating mode. It's just

Offline

#100 2012-01-05 11:07:24

bloom
Member
Registered: 2010-08-18
Posts: 749
Website

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

Done, useless gaps in "uselessgaps" branch smile

Thanks!

Other ideas / requests:

– Have you considered lolilolicon's general approach to master / slave layout?
– One of the things I indirectly use all the time is xdotool windowactivate <id>, does monsterwm react to that?

Last edited by bloom (2012-01-05 11:09:19)


gh · da · ds

Offline

Board footer

Powered by FluxBB