Skip to content

Scroll mode not working on i3wm (X11) #81

@so1e1

Description

@so1e1

Scroll mode not working on i3wm (X11)

Environment

  • OS: Ubuntu
  • Window Manager: i3wm
  • Session Type: X11
  • hints version: 0.0.6
  • Installation method: pipx

Description

Scroll mode doesn't work when activated in i3wm. The interceptor window is created and keyboard grab appears successful, but scrolling doesn't occur.

Steps to Reproduce

  1. Install hints and configure hintsd service
  2. Add i3 keybinding: bindsym $mod+g exec hints --mode scroll
  3. Press the keybinding to activate scroll mode
  4. Try pressing h/j/k/l keys to scroll
  5. Nothing happens - the window doesn't scroll

Expected Behavior

Pressing h/j/k/l should scroll the focused window in the corresponding direction.

Actual Behavior

  • Scroll mode window is created successfully
  • Keyboard grab reports SUCCESS
  • Key press events ARE being detected (verified with logging)
  • However, no scrolling occurs in the focused window

Investigation Findings

Issue 1: Typo in mouse_service.py (line 277)

The socket message handler has a typo - "scoll" instead of "scroll":

{
    "click": self.mouse.click,
    "move": self.mouse.move,
    "scoll": self.mouse.scroll,  # <-- TYPO
    "do_mouse_action": self.mouse.do_mouse_action,
}[method](*args, **kwargs)

This prevents scroll commands from reaching the scroll method.

Issue 2: Additional unknown issue

Even after fixing the typo, scroll mode still doesn't work on i3wm. Key events are captured, but scrolling doesn't happen. This suggests there may be:

  • An issue with how scroll events are sent to the window manager
  • A problem with the 1x1 pixel window placement/focus
  • An incompatibility with how i3 handles synthetic scroll events

Temporary Workaround Attempted

Changing the keyboard grab to use owner_events=True allows key capture but doesn't fix the scrolling itself.

Request

Could you please investigate why scroll mode doesn't work on i3wm? The typo fix is straightforward, but there appears to be a deeper issue with scroll event delivery in this window manager.

Additional Notes

  • Regular hints mode (clicking) works perfectly
  • hintsd daemon is running correctly
  • The issue is specific to scroll mode functionality

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions