You are not logged in.

#551 2012-04-12 04:04:20

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

Re: monsterwm! ~ yet another tiny wm

I fixed an issue that cause monstermw to crash, when on grid layout there were no tiled clients.
I'll push tommorow though, cause it's 7am here :S
I'll also look into what TheLemonMan mentioned, see if I can figure it out.

I think moveresize is easy. I'm not sure how centredfloating should work.
New transient windows should be centered, right ?
What about windows a user makes floating ? what happens on resize/move ?

Or does it work like, pressing a combination that gets the floating (or current?) window centered ?
And if that's the case, then what about pressing the combination on a non-floating window ?
should it get it floating and centered ?
and should all floating windows get centered or just the focused ?

I think what makes more sense is:
new transient/floating windows spawn centered
a combination on any floating window makes it centered
a combination on any non-floating window makes it floating and centered


.:[ git me! ] :.

Offline

#552 2012-04-12 08:28:49

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

Re: monsterwm! ~ yet another tiny wm

my 2c:

c00kiemon5ter wrote:

I think what makes more sense is:
new transient/floating windows spawn centered
a combination on any floating window makes it centered
a combination on any non-floating window makes it floating and centered

Yes, this sounds right. Also, centered floating clients could be nice addition in core.

As for keyboard shortcuts, maybe the simplest possible and WM behavior:
- floating clients are floating unless we force it to stack somewhere;
- when focused, floating clients can be resized however we like;

Basically, unless we activate tile/bstack/grid, clients are not changed nor their state. Every float window could spawn in center. We define new shortcut in config.h to force all clients to tile/bstack/grid so we can have clean view and easy keyboard driven WM that can be used without mouse (useful on netbooks, laptops etc). There is no need to do many stuff or add to much into core but centered floating should be in it since there are 13 branches atm and that is too much i think.

Offline

#553 2012-04-12 09:02:48

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

transient centered floating windows in core: +1

Offline

#554 2012-04-12 11:40:02

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

Re: monsterwm! ~ yet another tiny wm

currently transient window are centered in the parent window.
To me that makes more sense, than centering transient in the whole screen.
I'll set up a new branch for now, and think about it.


.:[ git me! ] :.

Offline

#555 2012-04-12 11:42:47

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

ah that's what I meant cookie! sorry!
LibreOffice's "splash" screen get's tiled and ugly, why? should I just make libreoffice "float" in config.h?

Offline

#556 2012-04-12 11:49:34

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

Re: monsterwm! ~ yet another tiny wm

well it doesn't set itself as transient, so I can't do much about it.

these are its properties

_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0xf, 0x2, 0x0, 0x0, 0x0
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified location: 0, 0
		program specified size: 0 by 0
		program specified minimum size: 551 by 366
		program specified maximum size: 551 by 366
WM_ICON_NAME(STRING) = "icon"
WM_NAME(STRING) = "LibreOffice"

.:[ git me! ] :.

Offline

#557 2012-04-12 12:00:15

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

how can see the properties of a window like that?
btw: whenever vmware pops-up a dialog (like when you try to power off a VM and it asks you "are you sure?") it gets sent to the back, so I have to alt+j it forward. does it have to do with nasty hints too? (once I know how to check them I'll see for myself wink

Last edited by el mariachi (2012-04-12 12:28:26)

Offline

#558 2012-04-12 12:53:31

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

Re: monsterwm! ~ yet another tiny wm

you can check the properties of a window with 'xprop'.
you can even define what you want to check, like

$ xprop WM_CLASS

I pushed two branches with the moveresize and centerwindow patches
also pushed the fix for grid layout, that would crash if there were no tiled clients


.:[ git me! ] :.

Offline

#559 2012-04-12 14:54:35

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

Re: monsterwm! ~ yet another tiny wm

Thanks alot for implementing moveresize, mate!

I hope you add moveresize to master sometime, as I can't see why anyone would feel that this is a bad idea in a tiling wm which generally targets keyboard users...

Also, I much preffer current behaviour of centering transients on the parent window instead of the whole screen!

Anyway, just wanted to say thanks for the moveresize functionality!

-- EDIT --

Damn, that moveresize functionality rocks, man! I've actually never tried it on dwm, and only read about it, but now after trying the moveresize branch in monsterwm, then i'm really amazed about how nice it is to freely be able to move/resize through the keyboard!

I dunno how i've been able to live without it for so long allready smile

Thanks again, mate!

Last edited by mhertz (2012-04-12 19:49:53)

Offline

#560 2012-04-12 20:36:32

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

cookie: the stupid vmware dialog:


WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        bitmap id # to use for icon: 0x1805af7
        bitmap id # of mask for icon: 0x1805af8
        window id # of group leader: 0x1800001
WM_TRANSIENT_FOR(WINDOW): window id # 0x1800003

_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 25198034
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG
_NET_WM_USER_TIME(CARDINAL) = 16976808
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x1807dd1
WM_CLIENT_LEADER(WINDOW): window id # 0x1800001
_NET_WM_PID(CARDINAL) = 9904
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "koi"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified location: 0, 0
        program specified minimum size: 174 by 104
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "vmplayer", "Vmplayer"
WM_ICON_NAME(STRING) = "Question"
_NET_WM_ICON_NAME(UTF8_STRING) = "Question"
WM_NAME(STRING) = "Question"
_NET_WM_NAME(UTF8_STRING) = "Question"

Offline

#561 2012-04-12 22:36:05

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

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

I pushed two branches with the moveresize

Can we have this in core? It can be usefull to all in every branch since this way monsterwm could became excellent WM and real tiler without any need for keyboard.

As i can see, it adds only 22 sloc but it is allowing us some very good stuff. I'm not saying that we are lazy to patch our favorites branches (monocleborders here till you stop supporting it) but that means less branches for you to patch and to think about possible errors etc.

And yes, thank you for this great feature smile

Offline

#562 2012-04-12 23:58:35

Cloudef
Member
Registered: 2010-10-12
Posts: 636

Re: monsterwm! ~ yet another tiny wm

@c00kie
Don't know if you are against of respecting some _NET_WM hints which would eg. "fix" issue with el mariachi's vmware splash for example.

I do this on my pandora fork currently to support notifications, however it could be prettier:

--- at top of maprequest function ---

    /* respect _NET_WM_WINDOW_TYPE */
    if (XGetWindowProperty(dis, e->xmaprequest.window, netatoms[NET_WINDOW_TYPE], 0L, 1L,
              False, XA_ATOM, &da, &di, &dl, &dl, &state) == Success && state) {
       memcpy(&da, state, sizeof(Atom));
       if (state) XFree(state);
       if (da && da == XInternAtom(dis, "_NET_WM_WINDOW_TYPE_NOTIFICATION", False)) {
          XMapWindow(dis, e->xmaprequest.window);
          return;
       }
    }        

I think instead of ignoring dialogs like I do notifications there, you should just treat them as centered floating perhaps?

Last edited by Cloudef (2012-04-13 00:00:47)

Offline

#563 2012-04-15 14:46:59

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

Re: monsterwm! ~ yet another tiny wm

For those like me which is beginners in git, then I was confused about how to combine patches(branches), and the example in the arch wiki monsterwm article was wrong and didn't work, so as i've first now found out how to do it, then i'l just also post it here...

First, as a one-time thing, run these two commands:

git config --global user.email <mailaddress>
git config --global user.name <name>

(this will prevent an error when trying to merge more than one branch...)

Then clone the repo, and if wanted use -b to start with another branch than master e.g.

git clone git://github.com/c00kiemon5ter/monsterwm.git -b nmaster
cd monsterwm

Then to add e.g. both moveresize and initlayouts to nmaster branch, you do:

git checkout moveresize
git checkout initlayouts
git checkout nmaster
git merge -m merge moveresize initlayouts
make
mv monsterwm ~/.bin

Sorry to all the people who allready is efficient in git, but I just thought that maybe there where more around which had the same issues as me smile

Last edited by mhertz (2012-04-15 20:54:30)

Offline

#564 2012-04-15 16:08:08

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

Re: monsterwm! ~ yet another tiny wm

@c00kie

I just noticed a bug with the nmaster branch in when increasing the nmaster value in bstack mode, then instead of dividing the master area evenly to share two equal sized windows, then instead the new master window opens on-top of the other master window and almost covers it and then leaves an empty space next to it...

Here's a shot of bstack mode with 4 terms, and when then increasing nmaster to 2, then it looks like this:

tZGR2YQ

Thanks in advance!

Offline

#565 2012-04-15 16:11:56

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

Re: monsterwm! ~ yet another tiny wm

mhertz wrote:

For those like me which is beginners in git, then I was confused about how to combine patches(branches), and the example in the arch wiki monsterwm article was wrong and didn't work, so as i've first now found out how to do it, then i'l just also post it here...
[...]
Sorry to all the people who allready is efficient in git, but I just thought that maybe there where more around which had the same issues as me smile

Thanks for this, I didn't know this is possible. Nice!

Offline

#566 2012-04-15 16:53:16

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

@mhertz: thank for the git stuff big_smile

Offline

#567 2012-04-15 17:02:30

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

Re: monsterwm! ~ yet another tiny wm

I'll look into it mhertz, I'm not home right now, once I'm back I'll fix it. I'll see if I can also get it be single border wink


.:[ git me! ] :.

Offline

#568 2012-04-15 17:55:12

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

Re: monsterwm! ~ yet another tiny wm

Thanks alot, mate! No rush, just reporting! smile

CU, Martin.

@Army & el mariachi: You're most welcome, mates! (btw, I changed the git commands alittle so they don't prompt you to accept the commit message anymore...)

Last edited by mhertz (2012-04-15 20:59:06)

Offline

#569 2012-04-16 16:10:47

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

Re: monsterwm! ~ yet another tiny wm

nmaster should be fixed now


.:[ git me! ] :.

Offline

#570 2012-04-16 17:38:17

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

sorry cookie, I don't think I followed the nmaster discussion. What's the difference?

(using initlayouts and showhide thanks to mhertz big_smile)

Offline

#571 2012-04-16 19:28:48

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

Re: monsterwm! ~ yet another tiny wm

nmaster means one can  have more than one master window in bstack and tile layouts. there was a problem with bstack, that should be working now.


.:[ git me! ] :.

Offline

#572 2012-04-16 19:43:43

Cloudef
Member
Registered: 2010-10-12
Posts: 636

Re: monsterwm! ~ yet another tiny wm

Earnestly asked sources for the vi mode stuff that I use on my pandora @ irc.
Since I don't have time doing patches atm (getting job \o/, barely have time to maintain -xcb), so here are the sources:
https://gist.github.com/2400943

The stuff is just few declarations, functions and few lines of modifications. If some wet with C implents it and wants to do patches, feel free.

Last edited by Cloudef (2012-04-16 19:43:59)

Offline

#573 2012-04-17 14:06:09

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

Re: monsterwm! ~ yet another tiny wm

Thanks alot c00kie for fixing nmaster so quick! Much appreciated!

Offline

#574 2012-04-19 02:59:59

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

Re: monsterwm! ~ yet another tiny wm

@Cloudef @el mariachi
I could check for _NET_WM_WINDOW_TYPE_DIALOG, but I dont want to smile
I could get a patch for that if it's needed, but I dont think I'll be including it.

@TheLemonMan
are you still getting crashes with IDA pro ? should I look into that ?


On other news, I'm thinking and keen on merging moveresize into core.
I think it provides a nice functionality; moving windows with the kbd.


.:[ git me! ] :.

Offline

#575 2012-04-19 19:17:39

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

Re: monsterwm! ~ yet another tiny wm

Cool, that news about merging moveresize!

I also think nmaster and initlayouts fits nice with master(no matter if using them or not, they're nice to have if needed sometime and reasonable additions imho, in contrary to the rest of the branches - well, fib is ok too), and to clean up alittle in the branches, but obviously it's your call smile

(I would also love to have all mouse related code stripped out, but im sure you don't feel the same, as else you wouldn't have added it in the first place...)

Anyway, nice to hear we dont need merging in moveresize anymore smile

Last edited by mhertz (2012-04-19 19:52:38)

Offline

Board footer

Powered by FluxBB