Describe the bug
Guake appears on mouse display even though "always on primary" option is checked in Guake Preferences -> Main Window -> Placement -> Appear on display. Same thing happens when "0 (primary)" option is checked. These options seem to have no effect.
Expected behavior
Guake should appear on primary display, as per the checked option in Guake Preferences.
Actual behavior
Guake appears on mouse display regardless of what is checked in Guake Preferences.
To Reproduce
$ guake --support
Guake Version: 3.6.3
Vte Version: 0.58.3
Vte Runtime Version: 0.58.3
GTK+ Version: 3.24.13
GDK Backend: __gi__.GdkWaylandDisplay
Desktop Session: gnome
Display: wayland-0
RGBA visual: True
Composited: True
Although not exactly the same issue, I think my issue is related to this one.
I have the option to appear on mouse display enabled. I have a two-monitor setup and my mouse is on one of the two screens. I open Guake on one screen and move my mouse to the other screen. When I click on a window on the other screen Guake jumps to that screen. If I then click on the first screen, it does not jump back.
Another case: If I open Guake, then click on a window on the same screen and then click on a window on the other screen, it does not jump to that screen.
I would guess that appear on mouse display is supposed to open on the screen where your mouse is and stay there.
The output of guake --support below:
Guake Version: 3.6.3
Vte Version: 0.52.2
Vte Runtime Version: 0.52.2GTK+ Version: 3.22.30
GDK Backend: GdkX11.X11DisplayDesktop Session: ubuntu
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - DP-1
- Geometry: 2560 x 1600 at 1920, 0
- Size: 641 x 401 mm虏
- Primary: True
- Refresh rate: 59.86 Hz
- Subpixel layout: unknown
- Monitor: 1 - eDP-1
- Geometry: 1920 x 1080 at 0, 520
- Size: 344 x 193 mm虏
- Primary: False
- Refresh rate: 60.06 Hz
- Subpixel layout: unknown
I have the same problem - guake always appears on mouse display - although it is configured to always appear on a specific display.
Distribution is Fedora 31
output of guake --support:
Guake Version: 3.6.3
Vte Version: 0.58.3
Vte Runtime Version: 0.58.3
--------------------------------------------------
GTK+ Version: 3.24.13
GDK Backend: GdkX11.X11Display
--------------------------------------------------
Desktop Session: gnome
--------------------------------------------------
Display: :0
RGBA visual: True
Composited: True
* Monitor: 0 - XWAYLAND0
* Geometry: 1920 x 1080 at 1920, 0
* Size: 480 x 270 mm虏
* Primary: True
* Refresh rate: 59.96 Hz
* Subpixel layout: unknown
* Monitor: 1 - XWAYLAND1
* Geometry: 1920 x 1080 at 0, 0
* Size: 480 x 270 mm虏
* Primary: False
* Refresh rate: 59.96 Hz
* Subpixel layout: unknown
Can reproduce this issue on guake v 3.6.3 on linux mint xfce
If you set in Geometry the max height and width and then restart guake it will now display on mouse even though its not activated
drag height or width to any other than max will work for me, even after restart
Hmmm i tested it. Showed another issue: The Gemoetry settings does not change anything.
Guake keeps to open in full screen no matter what is set in Geometry. (The "Start fullscreen"-option is not active).
TL;DR moving windows under Wayland cannot be done
I just looked into it and I found that code-wise, the window position does not change at all, neither does the monitor index - it stays at the configured index. I highly suspect our wayland setups have something to do with that. I will investigate further.
EDIT: @simonCor I do encounter the fullscreen issue as well with my 3.6.3 production instance. This issue is not there anymore with a build from master (3.7.1 or so).
EDIT2: this is where I am at:
when I change the window_rect x and y values in
https://github.com/Guake/guake/blob/fb8a6ff974758c724db97d0dc22f8e3b3e0e95e9/guake/guake_app.py#L674
and do a print(self.window.get_position()) afterwards, I can see that the self.window Gtk.Window object gets updated and "moved". However, the movement is NOT reflected by the window manager or wayland. The window stays where it is - exactly
| (x, y from top left corner) | monitor |
|----------------------------------|------------|
| (49,49) | 1680 x 1050 |
| (38, 64) |1920 x 1200 primary with top bar|
| (50,52) | 1920 x 1200 |
Also I tried getting the guake window with EWMH but there the guake windows do not show up at all.
EDIT3:
basically says, that it will never work.
$ guake --support
Guake Version: 3.7.1
Vte Version: 0.58.3
Vte Runtime Version: 0.58.3
GTK+ Version: 3.24.14
GDK Backend: __gi__.GdkWaylandDisplay
Desktop Session: gnome
Display: wayland-0
RGBA visual: True
Composited: True
hate to do this but for all you guys having trouble with wayland and gnome-shell:
try this shell extension and terminator
try this shell extension and terminator
Is "quake-mode" extension going to work on newer versions of gnome-shell? Seems that the latest supported shell on the extensions page is only 3.30.
Hui thanks @freimair - this is cool and works.
I use it on gnome Version 3.34.3 - no problems.
I think I have it in #1765
can you guys confirm?
Just add
window.move(window_rect.x, window_rect.y) before window.maximize() at line 267 in the file /usr/lib/python3.8/site-packages/guake/utils.py, or whichever python version you have. To know exactly which file to modify, execute locate 'guake/utils.py' and look for the one in /usr/lib
Reference: https://stackoverflow.com/a/39386341/3476100
@gchamon thanks for taking the time to investigate this. I'll give it a try as soon as I get back to my dual monitor setup.
@gchamon - sorry for taking too long to respond. I've tested your suggestion, but unfortunately, it doesn't fix the bug for me, it still reproduces. Please let me know how can I assist you further should you choose to continue investigating this.
Most helpful comment
Although not exactly the same issue, I think my issue is related to this one.
I have the option to appear on mouse display enabled. I have a two-monitor setup and my mouse is on one of the two screens. I open Guake on one screen and move my mouse to the other screen. When I click on a window on the other screen Guake jumps to that screen. If I then click on the first screen, it does not jump back.
Another case: If I open Guake, then click on a window on the same screen and then click on a window on the other screen, it does not jump to that screen.
I would guess that
appear on mouse displayis supposed to open on the screen where your mouse is and stay there.The output of
guake --supportbelow: