Cloudef / monsterwm-xcb

Port of monsterwm to xcb
Other
35 stars 10 forks source link

problems with fullscreen apps #1

Closed ghost closed 12 years ago

ghost commented 12 years ago

Most fullscreen apps work (like firefox, mplayer), but others cause problems (luakit and libreoffice-impress).

Luakit goes fullscreen pressing "F11", but after pressing this key again, it doesn't come out of the fullscreen mode anymore. Nothing happens. I tried with a new user, so the configuration is pure vanilla. The version of luakit I used to test monsterwm-xcb is the most recent git snapshot from today, january 16th, 2012.

With libreoffice-impress it behaves differently: I open a presentation (I tested with a docx document, don't have another presenation at hand, but this shouldn't matter), press "F5" to enter the presentation mode. Now a new window opens, which gets floated as usual. But this new window should be the fullscreen window. I can make it being fullscreen by switching to the fullscreen mode and hiding the bar, but that's not the way it should be ;) A video shows it as well http://www.unstucc.de/myspace/fullscreen.mpeg

Cloudef, you already tested these issues, see here https://bbs.archlinux.org/viewtopic.php?pid=1041786#p1041786 everything seems to be fine on your system. After your fixes, the behavior didn't change on my system. So I wonder, what's so different about our setups? What other informations can I deliver? I use monsterwm-xcb without any patches, my config.h looks like this right now http://codepad.org/1QXsKQq6

Cloudef commented 12 years ago

Are you in any case running 32 bits? I use pure vanilla monsterwm-xcb and config.h For now, I'll try to reproduce the issue using your config.h

E1: Yeah, no luck here either with your config.h I think I need to add more verbose to the code.

E2: Could you enable debug prints @ line 20 and see if you caught anything when you do fullscreen?

Cloudef commented 12 years ago

I think, I've fixed this issue. Could you check with latest git?

ghost commented 12 years ago

I'm on 64bit. I also changed to the vanilla config.h, still the same. I don't get it, your fixes don't seem to change anything here. Ok, so I enabled the debugging. My start script now looks like this

!/bin/sh

while true; do monsterwm 2>&1 > ~/.monsterwm.log done

to get all output into ~/.monsterwm.log, I hope there are no mistakes in it. Here's the relevant output, which is being created, when I press F11 in luakit to make it go fullscreen and F11 again which then does nothing.

http://codepad.org/E67RRcCB

I hope there's useful stuff in it for you!!! I don't see anything, but I don't have a clue ;)

Cloudef commented 12 years ago

Looking at your log, it seems like it tries to set it to fullscreen again when you try F11 out of fullscreen.

Replying at your message @ bbs thread. It works for me even on separate X session. I bet there is some uninitialized variable or something somewhere, that could cause unexpected behavior

Edit: Ok, I noticed that you get even wrong client message atom, seems like I'm screwing somewhere really bad. Thank you, your output is really helpful. Btw, can I get full log. Or at least the bits when you start monsterwm, it gives list of Atoms and their bits.

ghost commented 12 years ago

Ok, I launched monsterwm, opened luakit, tried to go fullscreen and back again, closed luakit, opened a terminal to re-edit .xinitrc so it starts dwm again. Here's the whole log http://codepad.org/TK6rifwt

Cloudef commented 12 years ago

So, this isn't still fixed. Does the libreoffice work either? I'm still quite clueless why this happens, it would be awesome if I'd find a way to reproduce it myself.

ghost commented 12 years ago

No, libreoffice also didn't get fixed here. I'm really sorry, I don't know why there are such big differences between our setups. We need a third man on board I guess..

Cloudef commented 12 years ago

I'll try to read the documentations again tomorrow, they don't help much though as they aren't the best ones available. I'll check if i3 or awesome have any similar code as well.

Cloudef commented 12 years ago

Ok, I made some changes after looking at i3's sources. Could you try again? The changes are only in master branch.

ghost commented 12 years ago

Sorry, no, still doesn't work with luakit. Here's the log http://codepad.org/9M34BDfA Same action as before, I opened luakit, tried to toggle fullscreen, closed it, opened a terminal to edit .xinitrc and stopped monsterwm. I used the master branch, did a checkout just 5 minutes ago % git show-branch [master] Use similar atom property set as in i3 when settin WM_STATE

I forgot to try it with libreoffice, but since I now have this problem with cookie's monsterwm as well, that probably won't have changed.

ghost commented 12 years ago

To make it complete, I installed i3 (lastest git snapshot) and tried luakit there, works like it should. Same with libreoffice.

Cloudef commented 12 years ago

The thing with i3 is that it always toggles the fullscreen if client is already fullscreen, no matter what. Monsterwm follows the specs and only toggles if application wants this, for some reason looking at your logs the application always requests fullscreen. But since it works on vanilla monsterwm, the issue must be somewhere on my xcb code or in xcb :/

c00kiemon5ter commented 12 years ago

I don't use luakit, but dwb and chromium and libreoffice-impress as well as flash fullscreen, all work fine here, in monsterwm (xlib). I will test with the xcb version and report in a couple of moments.

Cloudef commented 12 years ago

There is no crash anymore. It's like the atom _NET_WM_STATE atom never gets set when fullscreen is toggled. I wonder if there is any debug utility to check current atoms on selected window.

c00kiemon5ter commented 12 years ago

alright, I'm into xcb now, and I'm playing with libreoffice-impress and toggling fullscreen on a ppt, nothing seems wrong here, neither if I toggle fullscreen on dwb. What steps are you taking that cause the problem?

@UliArmy are you using any particular software that could get mixed with the shortcuts/keybinds ? like any script with xdotool or any settings with setxkbmap ? Otherwise, please give us the exact steps to reproduce this ;)

edit : confirmed, flash (ie. youtube) fullscreen doesn't work -- opens a new window that gets tiled libreoffice-impress fullscreen (F5) works as expected dwb fullscreen (F11) works as expected

ghost commented 12 years ago

Ok, I hope I can provide all the informations you requested. I use a standard 64bit Archlinux with as many packages from the official repos as possible. I start the xorg session with startx with this .xinitrc http://codepad.org/VlbdQROU (monsterwm-start looks like this http://codepad.org/G83AhpXf ) I have a Macbook Pro 2,2 so because the keyboard on this laptop is really crap (imo, too many keys are missing) I have to do one mapping, see the .xinitrc, because I need an insert key. I use luakit-git from the AUR rather than luakit from the repos, because I always want to have the latest of this software. I also don't have any problems with other browsers' fullscreen mode, I tested firefox-aurora and chromium (iirc), both don't cause any problems. Of course my luakit is configured, but I also tried vanilla luakit, which causes the same problems. In my config.h for monsterwm there's nothing assigned to F11 or F5.

My steps which cause this:

I didn't test this, but flash video is a good idea. I'll look if that causes problems as well.

The window managers (monsterwm and monsterwm-xcb) work very well here. I'm still not sure if I will continue using dwm or switch to monsterwm(-xcb). Right now I'm on dwm, but I definitely would love to see monsterwm free of issues. Looks like I'm the one having the most problems ;)

By the way, just a question: With monsterwm-xcb, mplayer doesn't get tiled in the first moment, but it does after going fullscreen and back. With monsterwm it gets tiled right away. I use the xv output driver with an ATI graphic card. But mplayer works just fine on both monsterwms. I just thought, maybe there's a connection.

I have another laptop here with a 32bit Archlinux. I'll take a look if it causes the same problems.

Cloudef commented 12 years ago

@UliArmy, @c00kiemon5ter Thank you very much, I managed to reproduce this issue using flash, and I found out that I was using XCB on property functions totally wrong.

@UliArmy The latest git should fix this, could you see and confirm?

Thanks.

ghost commented 12 years ago

That's it!!!!!!!!! FINALLY!! :D Luakit works and now mplayer also behaves the same as it does in monsterwm.

But libreoffice-impress still opens a new window which is getting tiled. I'll post the output of the log, one moment please.

ghost commented 12 years ago

http://codepad.org/t6NbGLum I started xorg, launched "soffice" with dmenu, opened a ppt, pressed F5 and opened a terminal.

Cloudef commented 12 years ago

Can you also include xprop output of the "fullscreen" libreoffice window. Also libreoffice affects vanilla monsterwm as well?

Cloudef commented 12 years ago

@UliArmy Could you check and give new log with latest git, debug is enabled as I forgot to disable it :)

ghost commented 12 years ago

Ok, that's odd. Just the other day libreoffice fullscreen didn't work in monsterwm, now it does. However, it looks like this fullscreen window is being tiled for a short moment and then goes fullscreen.

So, yes, it works fine in monsterwm, but it stays tiled in monsterwm-xcb. Here's the xprop output in monterwm http://codepad.org/M6t5xE4R and this is the one in monsterwm-xcb http://codepad.org/ynwNyNqi

Cloudef commented 12 years ago

@UliArmy I made some more changes, you should xprop the "fullscreen" window, not libreoffice window btw :)

ghost commented 12 years ago

I DID xprop the fullscreen window! Just to be sure, here's another with your latest changes http://codepad.org/OSmQfzeX (the windows still doesn't go fullscreen)

I tried to figure it out myself with a non-coder method: I xprop'ed mplayer in its normal state and in fullscreen state. The difference between the xprop outputs was _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN In the xprop output of libreoffice there's _NET_WM_STATE(ATOM) = undefined atom # 0x0 So that's kinda ... Well I don't know :(

Cloudef commented 12 years ago

Yeah, it seems you swapped the xprop logs for monsterwm and xcb on earlier post. Can I see monsterwm-xcb log too, I did add some logging to maprequest which I would like to see.

Your xprop for fullscreen window differs a lot from mine as well, do you have setting that libreoffice opens new window @ slideshow or uses the same window?

Cloudef commented 12 years ago

@UliArmy Ok, small change again. Could you check again?

ghost commented 12 years ago

Ok, changes applied, still the same. Here's the log http://codepad.org/ZScE4RCX and the xprop output of the fullscreen window http://codepad.org/cpJ8kQcz

Cloudef commented 12 years ago

@UliArmy Sorry for trouble, I'd like to have you try it again. Do provide outputs, though it should work now.

ghost commented 12 years ago

So sorry, still doesn't work! Here's xprop http://codepad.org/uic5ixX6 and here's the log http://codepad.org/wSV4v1md

ghost commented 12 years ago

[ot] By the way, started looking into dualhead branch, I don't have a 2nd monitor here, but you know me, as soon as problems appear, you'll know ;) And I started using dzen2, I think I'll finally switch from dwm to monsterwm :) [/ot]

Cloudef commented 12 years ago

@UliArmy Somehow your xprop's differ totally from mine. Anyways, going to look more into it tomorrow. Somehow I just seem to get the strangest bugs :)

ghost commented 12 years ago

Ok, but at least it works now with luakit. Thanks for your hard work man! I'll be online tomorrow and would love to help you out on this as good as I can!

Cloudef commented 12 years ago

@UliArmy I took good look at the code today, and think I've overlooked something really simple. Could you test again :)

ghost commented 12 years ago

Great! Seems like you found the culprit :) I'd say this first bugreport can be closed. You can do it if you'd like, unfurtunately I can't connect to github right now, my internet is totally fucked up, I don't know what's going on. That's why the bugreport for the dualhead branch has to wait.

Cheers and have a nice evening!

Cloudef commented 12 years ago

@UliArmy Yeah, it was a bumpy ride. Thanks for help crushing these bugs.

ghost commented 12 years ago

Ok, who knows if it's really solved? I think I should provide the current xprop output, maybe you see other problems in it

http://codepad.org/rwMl02Wi

Cloudef commented 12 years ago

That seems to look fine from first glance. If you encounter issues, just reopen this issue :)

ghost commented 12 years ago

Ok, I have to reopen this (but don't have the rights)

Did you change anything in the fullscreen code in the last few days? I played with dwm in the last days and now wanted to see how monsterwm is doing these days ;) Apparently the fullscreen problem with luakit is back (exactly like it was). Everything else works fine. Here's the log http://codepad.org/v7iXxjHS and here are the xprop outputs of right after launching the application http://codepad.org/hzZwXn3a, after pressing F11 which makes it go fullscreen http://codepad.org/DeSz0xFd and - if that helps - after pressing F11 again, which doesn't bring it back from fullscreen http://codepad.org/BM3Khnfc

Cloudef commented 12 years ago

Must be some of the latest merges that broke it, lemme check the commits.

Cloudef commented 12 years ago

Should be fixed in master branch, I'll update dualhead shortly.

ghost commented 12 years ago

Ok, master branch works. Merci :) edit: and dualhead as well