guake
guake copied to clipboard
Guake is not full screen after reopen from minimized state
Describe the bug I've set the display to show full screen and yes guake opens in full-screen size for the first time. However, guake changes its appearance automatically to a small square in the middle of the screen when I try to reopen it after I minimized i. I have no clue whether it's happened after I upgrade my OS from Ubuntu 20.04 to be 22.04 (development branch) or after I ran the command sudo apt update on my machine.
Expected behavior The current interface of the terminal must follow the setting.
Actual behavior The current interface of the terminal does not follow the setting.
To Reproduce
- Open the guake preferences, click "Main Window" from the left-side menu
- Make sure the "Start fullscreen" option is checked
- Open the guake terminal. Verify it is appears fullscreen then minimized it.
- Open the guake terminal again. Verify the interface.
Image
-
First time open
-
After minimized
I believe this is gnome? Do you have a window centering option enabled in gnome tweak tools? I remember some other people were having similar symptoms with that setting
I don't use any gnome tweak tools. It is the default setting that I get from Ubuntu Jammy Jellyfish (development branch)
Please add guake --support
result, we need to know whether you use x11 or wayland, thanks.
Here is the result after I ran guake --support
$ guake --support
Guake Version: 3.8.5
Vte Version: 0.67.90
Vte Runtime Version: 0.67.90
GTK+ Version: 3.24.31
GDK Backend: <GdkX11.X11Display
Desktop Session: ubuntu
Display: :1
RGBA visual: True
Composited: True
- Monitor: 0 - GSM HDMI-0
- Geometry: 1440 x 900 at 0, 0
- Size: 419 x 262 mm²
- Primary: True
- Refresh rate: 59.901 Hz
- Subpixel layout: unknown
I have the same problem, here is the result of guake --support
$ guake --support
Guake Version: 3.8.6.dev0
Vte Version: 0.66.2
Vte Runtime Version: 0.66.2
GTK+ Version: 3.24.32
GDK Backend: <GdkX11.X11Display
Desktop Session: plasma
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - NCP eDP-1
- Geometry: 1920 x 1080 at 0, 0
- Size: 344 x 194 mm²
- Primary: True
- Refresh rate: 59.933 Hz
- Subpixel layout: unknown
This has started happening to me as well since the latest update to plasma. If I drop it down, scroll then take focus off the terminal it switches back to full width, but then hiding and re-dropping it shrinks it back down.
`$ guake --support
Guake Version: 3.7.0
Vte Version: 0.66.2
Vte Runtime Version: 0.66.2
GTK+ Version: 3.24.31
GDK Backend: GdkX11.X11Display
Desktop Session: /usr/share/xsessions/plasmax11
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - SHP eDP-1
- Geometry: 3200 x 1800 at 0, 0
- Size: 294 x 165 mm²
- Primary: True
- Refresh rate: 59.98 Hz
- Subpixel layout: unknown `
me too. (manjaro)
$ guake --support
Guake Version: 3.8.6.dev0
Vte Version: 0.66.2
Vte Runtime Version: 0.66.2
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: plasma
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - DEL DVI-D-0
- Geometry: 1920 x 1080 at 1920, 0
- Size: 509 x 286 mm²
- Primary: True
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
- Monitor: 1 - DEL HDMI-0
- Geometry: 1920 x 1080 at 0, 0
- Size: 509 x 286 mm²
- Primary: False
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
me too, Manjaroo - kde
$ guake --support
Guake Version: 3.8.6.dev0
Vte Version: 0.66.2
Vte Runtime Version: 0.66.2
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: plasma
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - LGD DP-4
- Geometry: 1920 x 1080 at 0, 0
- Size: 382 x 215 mm²
- Primary: True
- Refresh rate: 60.02 Hz
- Subpixel layout: unknown `
OS: Arch Linux x86_64 DE: GNOME 42.0 Kernel: 5.16.16-arch1-1
$ guake --support
Guake Version: 3.8.6.dev0
Vte Version: 0.68.0
Vte Runtime Version: 0.68.0
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: gnome
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - XWAYLAND0
- Geometry: 2560 x 1080 at 0, 712
- Size: 670 x 280 mm²
- Primary: True
- Refresh rate: 59.975 Hz
- Subpixel layout: unknown
- Monitor: 1 - XWAYLAND1
- Geometry: 1080 x 2560 at 2560, 0
- Size: 280 x 670 mm²
- Primary: False
- Refresh rate: 59.948 Hz
- Subpixel layout: unknown
same issue here, been happening for months now
OS: Manjaro Linux x86_64 DE: Plasma 5.24.4 Kernel: 5.16.14-1-MANJARO WM: KWin
$ guake --support
Guake Version: 3.8.6.dev0
Vte Version: 0.68.0
Vte Runtime Version: 0.68.0
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: plasma
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - AUO eDP-1
- Geometry: 1280 x 720 at 0, 0
- Size: 344 x 193 mm²
- Primary: True
- Refresh rate: 59.744 Hz
- Subpixel layout: unknown
Any updates here?
I don't know if it only happens to me, but if I open guake for the first time then I do right-click somewhere and choose "Toggle Fullscreen" and minimized it then open it again, this issue won't happen. But, why does it need to "Toggle Fullscreen" if the "Start Fullscreen" option is checked?
Hello! Happens for me too on latest Ubuntu, randomly:
gau% ➜ frontend git:(master) ✗ guake --support
<details><summary>$ guake --support</summary>
Guake Version: 3.8.5
Vte Version: 0.68.0
Vte Runtime Version: 0.68.0
--------------------------------------------------
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
--------------------------------------------------
Desktop Session: ubuntu
--------------------------------------------------
Display: :0
RGBA visual: True
Composited: True
* Monitor: 0 - ACI DP-1
* Geometry: 1920 x 1080 at 0, 0
* Size: 531 x 299 mm²
* Primary: True
* Refresh rate: 60.0 Hz
* Subpixel layout: unknown
Went and installed manjaro KDE on a VM and I can finally reproduce this, can attempt a fix
Mis-labelled issue # in commit, I believe this is a seperate issue to the one I think I fixed, although it may well be that the commit resolves this as well for reporter
In 22.04, if you set the toggle shortcut to the command
guake -t -f
in the keyboard shortcuts instead of guake-toggle that fixes the problem.
no it doesn't, it only starts guake in full screen, that's not what the problem is....
and 22.04 of what OS? manjaro? ubuntu?
Same issue here in Ubuntu 22.04
guake --support
$ guake --support
Guake Version: 3.8.5
Vte Version: 0.68.0
Vte Runtime Version: 0.68.0
GTK+ Version: 3.24.33
GDK Backend: <GdkX11.X11Display
Desktop Session: ubuntu
Display: :1
RGBA visual: True
Composited: True
- Monitor: 0 - SAM HDMI-0
- Geometry: 1920 x 1080 at 1366, 0
- Size: 510 x 287 mm²
- Primary: True
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
- Monitor: 1 - SAM DVI-D-0
- Geometry: 1366 x 768 at 0, 223
- Size: 410 x 230 mm²
- Primary: False
- Refresh rate: 59.789 Hz
- Subpixel layout: unknown
Had this issue after setting Height at the maximum in Preferences > Main window, when resetting it to an intermediate value, fullscreen reopen issue was fixed.
Hope this helps.
that's not the issue fixed...
you used to be able to maximize horizontally without it going into fullscreen mode
I don't know if it only happens to me, but if I open guake for the first time then I do right-click somewhere and choose "Toggle Fullscreen" and minimized it then open it again, this issue won't happen. But, why does it need to "Toggle Fullscreen" if the "Start Fullscreen" option is checked?
This works for me until reboot or I open guake on a different screen.
I have this issue on KDE, and worked around it by setting the width to not be 100%, but a teeeeenie tiny wee bit less than that.
By moving this handle by one pixel to the left:
I have this issue on KDE, and worked around it by setting the width to not be 100%, but a teeeeenie tiny wee bit less than that. By moving this handle by one pixel to the left:
Can confirm this works!! For me, setting either [width, height] off by a small fraction allowed it to resume full screen mode. I guess it has to do with monitor wrap-around effect in detecting the edge of the actual screen since its now extended beyond usual size and probably goes to some default otherwise which isnt full screen. well this definitely saves me having to press F11 every time to toggle it back to Fullscreen mode. Nice find!
I danced around this issue for a bit, here is a proper workaround for KDE Plasma (Kubuntu 22.04)
- Open "Window Rules"
- Click "Add new" with the following parameters:
Description: Guake
Window class (application): Exact match, "guake guake" Match whole window class: Yes Window types: "Normal Window" Window title: Exact Match, "Guake!" Maximized horizontally: "Force", Yes - Apply & test (ensure preferences window is not being captured - this is prevented with the parameter
Window title: Exact Match, "Guake!"
)
I suspect the real cause is the most obvious one - a protection against misbehaving windows (those that are, for example, equal to or greater than the entire screen width) which is preventing guake from using the full width since it is not horizontally maximized. I'm just guessing though shrugs
I confirm this works, thanks a lot!
However, it did not work with the Window title filter, I removed it, and it works without affecting the preferences page.
Edit: It may be due to this guake setting:
I've tried to validate your recommendation and it seems the more I mess with it the less reliable it gets but unfortunately I was ultimately unable to get it working. I suspect you are right about the window setting.
For anyone else that the settings didn't work out of the box for, here's the process I followed to arrive at this:
- Open "Window Rules"
- Click "Add New..."
- Open the Guake terminal window
- Click "Detect Window Properties" and click the opened Guake window, this will pop open the "Add property to the rule" window (keep this open)
- Click on each of the captured properties you'd like, this transfers them into the window rule page
- Click on the desired properties you want to change, this transfers it to the window rule page
- Close the "Add property to the rule" window
- Adjust the "Window matching" section appropriately
- Adjust the desired properties you want to change (i.e. Maximized horizontally from "No" to "Yes", change "Apply Initially" to "Forced" if necessary)
- Apply and validate fix
I confirm this works, thanks a lot! However, it did not work with the Window title filter, I removed it, and it works without affecting the preferences page. Edit: It may be due to this guake setting:
Below is useless context that I find fascinating...
Funny enough, I think I solved this mystery by accident.
I installed tilix then had some issues which lead me to following this guide. This ultimately lead to window titles being auto-updated to indicate the host for the window.
Unexpectedly, this also caused guake's tabs to adopt the same behavior. I'm guessing behavior like this is common among many terminal emulators so what the windows/tabs are labeled may have something to do with what name is in use.
In the event you don't like this behavior or have conflicting configs from multiple terminal emulators, check your ~/.bashrc
/~/.zshrc
to see if they snuck something in there on install.
It seems like it has been fixed. My env is 6.1.31-2-MANJARO, 😄😄😄
guake --support
Guake Version: 3.11.dev0
Vte Version: 0.72.1
Vte Runtime Version: 0.72.1
GTK+ Version: 3.24.37
GDK Backend: <GdkX11.X11Display
Desktop Session: plasma
Display: :0
RGBA visual: True
Composited: True
- Monitor: 0 - DEL HDMI-0
- Geometry: 1920 x 1080 at 1920, 0
- Size: 509 x 286 mm²
- Primary: True
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
- Monitor: 1 - DEL DVI-D-0
- Geometry: 1920 x 1080 at 0, 0
- Size: 509 x 286 mm²
- Primary: False
- Refresh rate: 60.0 Hz
- Subpixel layout: unknown
same issue here, been happening for months now
OS: Manjaro Linux x86_64 DE: Plasma 5.24.4 Kernel: 5.16.14-1-MANJARO WM: KWin
$ guake --support https://github.com/Guake/guake/issues/2047#issuecomment-1100862127
Fixed for me too, lol over a year later, i had given up hope
TL;DR:
At first glance, deffa2b2f9f59570faba32d2b1af715b7d41f331 cause regression on #1594, and cause window drifting #2184, #2180. Although the commit was added at year ago, but distros update the version 4 weeks ago so it got people's attention.
I would suggest revert deffa2b2f9f59570faba32d2b1af715b7d41f331 and fix this issue with more test.
Details:
I believe self.window.show_all()
is a must to call so that the GTK windows will show after we hide it see: Gtk.Widget.show_all.
The problem is more like misinterpret of function is_fullscreen()
after years. The original works on fullscreen prevention is at here: https://github.com/Guake/guake/commits?author=eMPee584.
But current is_fullscreen()
will not work when the window is hide, since it interpret the window state. When we call show()
or fullscreen()
at the hide state, window is not fullscreen! We still need to show the window, and then fullscreen it.
Somewhat, it cause a lot of resize and fullscreen call because we will set it each window events come:
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/dbus/service.py", line 712, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/home/louie/dev/guake/guake/dbusiface.py", line 70, in fullscreen
self.guake.fullscreen()
File "/home/louie/dev/guake/guake/guake_app.py", line 1112, in fullscreen
self.fullscreen_manager.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE of type Gdk.WindowState>
DEBUG Show_hide called
DEBUG
DEBUG ================================================================================
DEBUG Window display
DEBUG gtk.gdk.WindowState = 0
DEBUG GDK_WINDOW_STATE_STICKY? False
DEBUG GDK_WINDOW_STATE_WITHDRAWN? False
DEBUG GDK_WINDOW_STATE_ABOVE? False
DEBUG GDK_WINDOW_STATE_ICONIFIED? False
DEBUG Showing the terminal
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/dbus/service.py", line 712, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/home/louie/dev/guake/guake/dbusiface.py", line 44, in show_hide
self.guake.show_hide()
File "/home/louie/dev/guake/guake/guake_app.py", line 585, in show_hide
self.show()
File "/home/louie/dev/guake/guake/guake_app.py", line 686, in show
traceback.print_stack()
DEBUG set_final_window_rect
DEBUG height_percents = 25
DEBUG width_percents = 100
DEBUG halignment = 0
DEBUG valignment = 0
DEBUG hdisplacement = 0
DEBUG vdisplacement = 0
DEBUG Current monitor geometry
DEBUG window_rect.x: 1280
DEBUG window_rect.y: 0
DEBUG window_rect.height: 1080
DEBUG window_rect.width: 1920
DEBUG aligning to center!
DEBUG FULLSCREEN? True
DEBUG order to present and deiconify
DEBUG Current window position: (root_x=0, root_y=0)
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE of type Gdk.WindowState>
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE of type Gdk.WindowState>
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
DEBUG FULLSCREEN!!
File "/home/louie/dev/guake/guake/main.py", line 678, in <module>
exec_main()
File "/home/louie/dev/guake/guake/main.py", line 674, in exec_main
Gtk.main()
File "/home/louie/.local/share/virtualenvs/guake-nppE5hhy/lib/python3.10/site-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/home/louie/dev/guake/guake/guake_app.py", line 240, in window_event
return self.window_event(*args)
File "/home/louie/dev/guake/guake/guake_app.py", line 567, in window_event
self.fullscreen_manager.set_window_state(window_state)
File "/home/louie/dev/guake/guake/utils.py", line 211, in set_window_state
self.fullscreen()
File "/home/louie/dev/guake/guake/utils.py", line 219, in fullscreen
traceback.print_stack()
DEBUG Received window state event: <flags GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_ABOVE of type Gdk.WindowState>