Float as a KWin-managed window instead of a layer surface
The grab bar didn't move the window by mouse, and the corner grip never resized it (the bar's handler took over its drag). The bar and grip now start the window manager's move/resize, and Super+LMB/RMB work too. A KWin rule in kwinrulesrc keeps the window above and unfocused, off the taskbar, pager and switcher, and remembers its position. KWin now places the window and keeps it on screen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,11 +5,10 @@ Open items only; fixed ones are in the history (`3576dd8`..`6ff86fb`).
|
||||
## Medium
|
||||
|
||||
1. **Fake input can't type characters missing from the keymap.** `KWinFakeInput::typeText` (`src/backend/KWinFakeInput.cpp`) sends keysyms, and KWin has to find each one in the active keymap. Probably all of these do nothing when no text field is focused: long-press alternates (ť on a US keymap) and template symbols missing from the layout. Nothing tells the user it failed. A fix likely needs a temporary keymap (e.g. the virtual-keyboard protocol).
|
||||
2. **The layer surface can't follow focus to another output.** `FloatingWindow` (`src/window/FloatingWindow.cpp`) now refits on screen changes, but the layer surface stays on `window->screen()`. Moving it needs a remap.
|
||||
|
||||
## Low
|
||||
|
||||
3. **Hold-keys caps lock is tracked locally.** `HardwareKeys::m_capsLock` toggles on its own, so a hardware Caps Lock (or a missed event) puts the shown state out of sync. The window never has keyboard focus, so it gets no modifier events to read the real state from.
|
||||
2. **Hold-keys caps lock is tracked locally.** `HardwareKeys::m_capsLock` toggles on its own, so a hardware Caps Lock (or a missed event) puts the shown state out of sync. The window never has keyboard focus, so it gets no modifier events to read the real state from.
|
||||
|
||||
## Untested
|
||||
|
||||
@@ -17,5 +16,4 @@ Fixed without automated tests; check on a live KWin session:
|
||||
|
||||
- Focus moving from field to field and deactivate ordering (`KWinInputMethod`)
|
||||
- `org.kde.keyboard` appearing after startup or KWin restarting (`SystemLayouts`)
|
||||
- Refit after a resolution change or monitor unplug (`FloatingWindow`)
|
||||
- Fake-input version checks on a KWin older than fake-input v6 (`KWinFakeInput`)
|
||||
|
||||
Reference in New Issue
Block a user