Guake / guake

Drop-down terminal for GNOME
https://guake.github.io
GNU General Public License v2.0
4.37k stars 577 forks source link

Window drifts downwards each time you invoke the terminal #2184

Open RZarifov opened 1 year ago

RZarifov commented 1 year ago

Describe the bug Each time you hit F12 the window appear slightly lower than the top edge of the screen, and when you hide it and reveal it again it appears slightly lower than it was previously. So each time you reveal it, it drifts downwards, and slightly sideways.

Expected behavior It appears stuck towards the top edge of the screen.

Actual behavior Described above.

To Reproduce Manjaro linux with i3wm.
It is not fullscreen. Occupies exactly half the height of the screen. Full width.


$ 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:        
   
funnyboy-roks commented 1 year ago

I've been having the same issue for a little while, I'm also running i3, though I'm on Arch.

I notice that the position resets every time that I open a new tab and then starts moving again each time that I open Guake.

$ guake --support Guake Version: 3.11.dev0 Vte Version: 0.72.2 Vte Runtime Version: 0.72.2 -------------------------------------------------- GTK+ Version: 3.24.38 GDK Backend:
mlouielu commented 1 year ago

See: https://github.com/Guake/guake/issues/2047#issuecomment-1587733164

On Wed, Jun 14, 2023, 13:57 Funny @.***> wrote:

I've been having the same issue for a little while, I'm also running i3, though I'm on Arch.

I notice that the position resets every time that I open a new tab and then starts moving again each time that I open Guake. $ guake --support

Guake Version: 3.11.dev0

Vte Version: 0.72.2

Vte Runtime Version: 0.72.2

GTK+ Version: 3.24.38

GDK Backend: <GdkX11.X11Display

Desktop Session: None

Display: :1

RGBA visual: True

Composited: True

  • Monitor: 0 - DEL DisplayPort-2
    • Geometry: 2560 x 1440 at 1050, 120
    • Size: 597 x 336 mm²
    • Primary: True
    • Refresh rate: 59.95 Hz
    • Subpixel layout: unknown
  • Monitor: 1 - DEL DisplayPort-0
    • Geometry: 1050 x 1680 at 0, 0
    • Size: 474 x 296 mm²
    • Primary: False
    • Refresh rate: 59.883 Hz
    • Subpixel layout: unknown
  • Monitor: 2 - DEL DisplayPort-1
    • Geometry: 1680 x 1050 at 3610, 315
    • Size: 474 x 296 mm²
    • Primary: False
    • Refresh rate: 59.883 Hz
    • Subpixel layout: unknown

— Reply to this email directly, view it on GitHub https://github.com/Guake/guake/issues/2184#issuecomment-1591742879, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3QA2DJL6OVQPUOG7QYRB3XLH3R7ANCNFSM6AAAAAAZBUWDJU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

liqiang0330 commented 1 year ago

@trinaldi trinaldi is a good man ,he tell me the right way to slove the problem. I copy his rely to u @Xeizzeth Xeizzeth

You can get the 3.9 version from the Arch Archive

sudoedit /etc/pacman.conf and add guake to IgnorePkg (line 25 for me): ... IgnorePkg = guake ... Inside the directory where you downloaded the guake-3.9.0-3-any.pkg.tar.zst file, run sudo pacman -U guake-3.9.0-3-any.pkg.tar.zst

madhur commented 10 months ago

I am using kitty with tdrop and it works perfectly.

https://github.com/noctuid/tdrop

On Tue, Aug 22, 2023, 02:21 eissalaken @.***> wrote:

Is there a fix for this besides installing an older version (which fails to install on manjaro using the steps above)? The Kitty developer is hostile to implementing quake drop-down functionality like Guake, and Yakuake comes with a bunch of KDE dependencies.

— Reply to this email directly, view it on GitHub https://github.com/Guake/guake/issues/2184#issuecomment-1687026294, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAD4L57DDM3E5DDKLTJHA5LXWPC5HANCNFSM6AAAAAAZBUWDJU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jpribyl commented 10 months ago

The drift seems to be caused by the .present and .deiconify methods in some configurations / desktop environments. I was able to see it in the logs by running in debug mode (-v):

Current window position: (root_x=0, root_y=0)
Current window position: (root_x=0, root_y=27)
Current window position: (root_x=2, root_y=45)
Current window position: (root_x=4, root_y=63)
Current window position: (root_x=6, root_y=81)
Current window position: (root_x=8, root_y=99)

Here is a fix/workaround that worked for me:

Insert a line at 741 with this self.window.move(window_rect.x, window_rect.y) in this file https://github.com/Guake/guake/blob/master/guake/guake_app.py#L741

So it becomes:

        self.window.move(window_rect.x, window_rect.y)
        log.debug("Current window position: %r", self.window.get_position())
        self.restore_pending_terminal_split()
        self.execute_hook("show")

For me the file is located in /usr/lib/python3.11/site-packages/guake/guake_app.py though your path may be different.

I can submit a PR for this if a maintainer is willing to merge it in

trinaldi commented 10 months ago

@jpribyl I tried your workaround and so far it's working perfectly.

Thanks!

jpribyl commented 10 months ago

@trinaldi I see that you're a contributor, should I open a PR? I don't see a ton of info on the contribution process.. is it essentially just PR and link the issue?

trinaldi commented 10 months ago

Sure. I tried building from source with your addition and it compiled with no errors/warnings.

I'm also lost on how to run pytest in order to see if it crashes some test cases, though.

Davidy22 commented 9 months ago

Sorry it took a while to get around to checking in, if you make a PR I can check and merge it @jpribyl. CI should run the pytest cases automatically on your PR and in your branch if you host that on github.

dochego commented 8 months ago

Had the same issue with awesomewm on Ubuntu Mantic (23.10) which ships with guake 3.10. Applied @jpribyl's fix to line 728 in /usr/lib/python3/dist-packages/guake/guake_app.py makes it work correctly. Thanks for the workaround.

N1ck9141 commented 8 months ago

The drift seems to be caused by the .present and .deiconify methods in some configurations / desktop environments. I was able to see it in the logs by running in debug mode (-v):

Current window position: (root_x=0, root_y=0)
Current window position: (root_x=0, root_y=27)
Current window position: (root_x=2, root_y=45)
Current window position: (root_x=4, root_y=63)
Current window position: (root_x=6, root_y=81)
Current window position: (root_x=8, root_y=99)

Here is a fix/workaround that worked for me:

Insert a line at 741 with this self.window.move(window_rect.x, window_rect.y) in this file https://github.com/Guake/guake/blob/master/guake/guake_app.py#L741

So it becomes:

        self.window.move(window_rect.x, window_rect.y)
        log.debug("Current window position: %r", self.window.get_position())
        self.restore_pending_terminal_split()
        self.execute_hook("show")

For me the file is located in /usr/lib/python3.11/site-packages/guake/guake_app.py though your path may be different.

I can submit a PR for this if a maintainer is willing to merge it in

PERFECT, I found the same issue you did and was messing around in the file for a while and couldn't get my fix to work, but this one did thank you :)

Paethon commented 6 months ago

Thanks! The fix recommended by @jpribyl also solves this for me.