Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] GlazeWM does not properly handle tooltips in emacs native gui #920

Open
aldrichtr opened this issue Jan 16, 2025 · 0 comments
Open
Labels
type: bug Something isn't working

Comments

@aldrichtr
Copy link

Describe the bug

Windows 11 : 24H2
GlazeWM : 3.7.0
GNU Emacs : 29.3 (native, not WSL)

When hovering over certain portions of the Emacs gui, tooltips flicker too fast to be read. Tooltips operate normally when GlazeWM is not running (or if window_process: { equals: "emacs" } is set in window_rules -> ignore

I have tried the following snippet in my glazewm config

window_rules:
  # Possible commands are 'ignore', 'close', etc.
  - commands: ['ignore']
    match:
      # Emacs tooltips?
      - window_process: { equals: 'emacs' }
        window_title: { regex: '^$' }

Which allows tooltips to be displayed, however when running other processes (such as anything using a posframe) that removes the "main" emacs window title, GlazeWM no longer manages the emacs window.

Reproduction

With GlazeWM running, tooltip flashes and disappears

Shutdown GlazeWM and tooltips work as in attached screenshot.
Image

Stack trace or error logs (if applicable)

←[2m2025-01-16T16:18:55.313549Z←[0m ←[32m INFO←[0m ←[2mglazewm::windows::commands::manage_window←[0m←[2m:←[0m New window managed
←[2m2025-01-16T16:18:55.316585Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: WindowManaged { managed_window: Window(WindowDto { id: f75ad042-5281-4a34-bcd0-2a5c1cc0865f, parent_id: Some(3cf6bd04-1cc6-4ff1-bcbc-a8975f490edd), has_focus: true, tiling_size: None, width: 314, height: 22, x: 750, y: 102, state: Floating(FloatingStateConfig { centered: false, shown_on_top: false }), prev_state: None, display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: 750, top: 102, right: 1064, bottom: 124 }, handle: 34931886, title: "", class_name: "Emacs", process_name: "emacs", active_drag: None }) }
←[2m2025-01-16T16:18:55.317145Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: FocusChanged { focused_container: Window(WindowDto { id: f75ad042-5281-4a34-bcd0-2a5c1cc0865f, parent_id: Some(3cf6bd04-1cc6-4ff1-bcbc-a8975f490edd), has_focus: true, tiling_size: None, width: 314, height: 22, x: 750, y: 102, state: Floating(FloatingStateConfig { centered: false, shown_on_top: false }), prev_state: None, display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: 750, top: 102, right: 1064, bottom: 124 }, handle: 34931886, title: "", class_name: "Emacs", process_name: "emacs", active_drag: None }) }
←[2m2025-01-16T16:18:55.318037Z←[0m ←[32m INFO←[0m ←[2mglazewm_watcher←[0m←[2m:←[0m Watcher added handle: 34931886.
←[2m2025-01-16T16:18:55.319625Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query monitors"
←[2m2025-01-16T16:18:55.321070Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query windows"
←[2m2025-01-16T16:18:55.322367Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query tiling-direction"
←[2m2025-01-16T16:18:55.340549Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_hidden←[0m←[2m:←[0m Window hidden
←[2m2025-01-16T16:18:55.345665Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: WindowUnmanaged { unmanaged_id: f75ad042-5281-4a34-bcd0-2a5c1cc0865f, unmanaged_handle: 34931886 }
←[2m2025-01-16T16:18:55.345998Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_focused←[0m←[2m:←[0m Window focused
←[2m2025-01-16T16:18:55.346064Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_focused←[0m←[2m:←[0m Overriding native focus.
←[2m2025-01-16T16:18:55.346151Z←[0m ←[32m INFO←[0m ←[2mglazewm_watcher←[0m←[2m:←[0m Watcher removed handle: 34931886.
←[2m2025-01-16T16:18:55.348175Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: FocusChanged { focused_container: Window(WindowDto { id: 182b11d0-98af-426a-8e38-2d1dddcc4e5f, parent_id: Some(3cf6bd04-1cc6-4ff1-bcbc-a8975f490edd), has_focus: true, tiling_size: None, width: 1300, height: 512, x: 471, y: 304, state: Floating(FloatingStateConfig { centered: false, shown_on_top: false }), prev_state: Some(Tiling), display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: 471, top: 304, right: 1771, bottom: 816 }, handle: 20906136, title: "C:\\Program Files\\glzr.io\\GlazeWM\\cli\\glazewm.exe", class_name: "ConsoleWindowClass", process_name: "glazewm", active_drag: None }) }
←[2m2025-01-16T16:18:55.348270Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: FocusChanged { focused_container: Window(WindowDto { id: 182b11d0-98af-426a-8e38-2d1dddcc4e5f, parent_id: Some(3cf6bd04-1cc6-4ff1-bcbc-a8975f490edd), has_focus: true, tiling_size: None, width: 1300, height: 512, x: 471, y: 304, state: Floating(FloatingStateConfig { centered: false, shown_on_top: false }), prev_state: Some(Tiling), display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: 471, top: 304, right: 1771, bottom: 816 }, handle: 20906136, title: "C:\\Program Files\\glzr.io\\GlazeWM\\cli\\glazewm.exe", class_name: "ConsoleWindowClass", process_name: "glazewm", active_drag: None }) }
←[2m2025-01-16T16:18:55.348569Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query monitors"
←[2m2025-01-16T16:18:55.348782Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query monitors"
←[2m2025-01-16T16:18:55.349316Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query windows"
←[2m2025-01-16T16:18:55.349531Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query windows"
←[2m2025-01-16T16:18:55.350119Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query tiling-direction"
←[2m2025-01-16T16:18:55.350837Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received IPC message: "query tiling-direction"

Version number

3.7.0

@aldrichtr aldrichtr added the type: bug Something isn't working label Jan 16, 2025
@github-project-automation github-project-automation bot moved this to 📬 Needs triage in glazewm Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
Status: 📬 Needs triage
Development

No branches or pull requests

1 participant