Skip to content

The behavior of IntelliJ IDEA’s Switcher is abnormal #247

Description

@atty303

Please fill out the following:

exec uwsm finalize SWAYSOCK I3SOCK SCROLLSOCK XCURSOR_SIZE XCURSOR_THEME
exec uwsm app -- ghostty
  • Description:
    The expected normal behavior is as follows. This was recorded on KDE Plasma.
  1. Press Ctrl
  2. Press and release Tab -> the Switcher opens
  3. Press and release Tab -> the selection inside the Switcher changes
  4. Release Ctrl -> the Switcher closes
_20260404_084907.webm

The behavior on scroll is as follows.

  1. Press Ctrl
  2. Press and release Tab -> the Switcher opens briefly and immediately closes
  3. Press and release Tab -> the Switcher opens
  4. Release Ctrl -> the Switcher remains open and does not close
  5. Press and release Ctrl -> the Switcher closes

Immediately after launching IDEA, the behavior is normal. However, after focusing another window and then returning focus to IDEA, launching the Switcher reproduces the issue every time.

2026-04-04.09-26-35.mp4

I confirmed the following log in IDEA when the Switcher opens.

2026-04-04 10:28:24,340 [   8290] SEVERE - #c.i.i.p.PluginManager - wl_keyboard_keymap supplied unknown keymap format
java.lang.InternalError: wl_keyboard_keymap supplied unknown keymap format
	at java.desktop/sun.awt.wl.WLToolkit.dispatchEventsOnEDT(Native Method)
	at java.desktop/sun.awt.wl.WLToolkit.lambda$run$0(WLToolkit.java:319)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:720)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:573)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0$0(IdeEventQueue.kt:381)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:928)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:380)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1110)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1110)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:375)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:415)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

When running IDEA with WAYLAND_DEBUG=1, the following output appeared immediately before the exception.

[2695189.094] {Default Queue} wl_keyboard#8.keymap(0, fd 622, 0)
[2695189.123] {Default Queue} wl_keyboard#8.repeat_info(30, 300)
[2695189.127] {Default Queue} wl_keyboard#8.modifiers(4404, 0, 0, 0, 0)

At least it seems certain that the keymap format sent from scroll is 0 (no_keymap), and IDEA cannot interpret it, resulting in the exception. However, I am not sure whether this actually affects the Switcher behavior. For now, I would like to find a way to avoid sending no_keymap and observe whether the behavior changes.

It seems that IDEA currently officially supports only KDE/GNOME, and if I report an issue for another compositor, there is a high chance it will be ignored. I realize this may not be a problem in scroll, and could instead be on the IDEA side or in my environment, so I feel a bit apologetic, but I would really appreciate any advice on how to resolve this somehow.

~/.config/scroll/debug

exec uwsm finalize SWAYSOCK I3SOCK SCROLLSOCK XCURSOR_SIZE XCURSOR_THEME
exec uwsm app -- ghostty

/usr/local/share/wayland-sessions/scroll-debug.desktop

[Desktop Entry]
Name=scroll (debug)
Comment=A scrollable-tiling Wayland compositor
GenericName=Wayland Compositor
Exec=uwsm start -N scroll-debug -D scroll -C scroll -- /home/atty/.local/bin/scroll-debug
TryExec=uwsm
Type=Application

~/.local/bin/scroll-debug

#!/bin/bash
scroll -d -c /home/atty/.config/scroll/debug 2> /home/atty/scroll.log

I am running scroll inside an Arch container on Bazzite (Immutable Fedora). Other than IDEA, everything seems to work fine, but it is possible that the fact it is running in a container is part of the cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions