GNOME Bugzilla – Bug 334830
Setting geometry doesn't work across Xinerama screens
Last modified: 2007-01-03 16:14:04 UTC
Please describe the problem: When using two Screens with the Xinerama option on Gnome 2.14 (Ubuntu Dapper) devilspie isn't able to set window positions, if this means moving the window to the other screen. For example, if my left screen has the focus and thunderbird is started, it isn't moved to my right screen as it is supposed to but only to the border of the left screen. If focus is on the right screen, the rule applies as intended and thunderbird gets in position. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information: I guess it's got something to do with the new "magnetic window edges" etc. in metacity, see Gnome 2.14 changelog: "Window edges now have a magnetic attraction, making it possible to "click" windows together. Multiple monitor (head) handling has been improved in Metacity. Metacity will now attempt to displace windows that want to appear across a monitor boundary onto one monitor or the other."
Seems to be fixed with Gnome 2.14 Final.
Never mind my first comment, just false alarm. It's still broken :-(
Tried NVIDIA-TwinView instead of Xinerama, same issue.
I am also having this problem. If more info is needed just ask. I can confirm this is a bug. Richard Blumel
I can confirm it with ATI bigdesktop/xinerama
I'm not sure if Twinview is the problem .. I also try to move windows (Firefox and Thunderbird) accross my two screens. Sometimes it work's, sometimes not. I think I could track down this to maximized Windows. (perhaps the maximized-windows-issue is only happening when using twinview) If Firefox is maximized, I can't be moved: Steps to reproduce on my System: kill devilspie fx.ds ===== (if (contains (window_name) "Mozilla Firefox") (begin (wintype "normal") (geometry "340x630+4+150") ) ) - start firefox - maximize it - run devilspie - nothing happens - kill devilspie - un-maximize firefox - run devilspie - firefox is resized I'm just missing an "restore" command to bring a window back from maximized state... then we could add this before the geometry command to move our windows arround. Unfortunately this bug destroys the usefullness of devilspie on my system :-(
Workaround/Patch: I'm Using a Nvidia card with twinview and no moving windows across the screen's works for me. I just implemented an unmaximize-command. Can you merge this ? parser.c ======== [...] { "center", func_center, FALSE }, { "maximize", func_maximize, FALSE }, { "unmaximize", func_unmaximize, FALSE }, <--- inserted Line [...] actions.h ========= [...] ESExpResult *func_center(ESExp *f, int argc, ESExpResult **argv, Context *c); ESExpResult *func_maximize(ESExp *f, int argc, ESExpResult **argv, Context *c); ESExpResult *func_unmaximize(ESExp *f, int argc, ESExpResult **argv, Context *c); <--- inserted Line [...] actions.c ========= after func_maximize inserted: /** * Un-Maximise the current window. */ ESExpResult *func_unmaximize(ESExp *f, int argc, ESExpResult **argv, Context *c) { wnck_window_unmaximize (c->window); if (debug) g_printerr(_("Un-Maximising\n")); return e_sexp_result_new_bool (f, TRUE); } and then make clean, make all, make install NEW fx.ds ========= (if (contains (window_name) "Mozilla Firefox") (begin (unmaximize) (geometry "340x630+4+150") ) ) And it works!
Okay ... corrections .. it doesn't work. I think I just had two problems: Moving a maximized window to another Twinview-Screen. Moving a maximized window arround the same screen work's with the above "unmaximize". Moving to another screen doesn't work. Setting x-offset very high, just doesn't move my window out of screen 1: +---------+---------+ | WWW| | | WWW| | +---------+---------+ ^--- doesn't get further then the border of the screen. WWW WWW is the Window
I've committed the unmaxmimise action anyway thanks. I've only got a single screen but I'll have a think.
seems to be a Gnome / metacity problem. Using KDEs Window-Manager all works as supposed to work ..
This must be a metacity issue/design choice, re-assigning. Metacity people: looks like Metacity is being too aggressive in clamping window operations to the current screen.
I'm pretty sure this is a duplicate of bug 323820 and is fixed already. Could you check with a newer version (metacity >= 2.15.34)?
No response; I'll assume it's a dupe until I hear otherwise. *** This bug has been marked as a duplicate of 323820 ***
I waited for the ubuntu update 6.10 (edgy)... So I'm now using gnome 2.16.1 and the bug still seems to exist :( How did you confirm that moving accross screens works ?
For me, this is partially fixed under Edgy. Now it works for all windows except gnome-terminal. terminal.ds looks like this: == code == (if (and (is (application_name) "Terminal") ) (begin (geometry "661x712+1713+21") ) ) ==/code== gnome-terminal is actually resized as intended and placed on the second (right) screen, but at position +1280+0.