Sticky floating windows: implementation proposal #2030
Unanswered
EdenRochmanSharabi
asked this question in
feature-ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Context
I'd like to propose an implementation for sticky floating windows (#2). Before opening a PR, I want to share my approach and get feedback.
What it does
A new
stickycommand that makes floating windows persist across workspace switches. When a window is sticky, it remains visible on the monitor regardless of which workspace is active.Common use cases from the issue discussion:
Proposed implementation
New command:
stickysticky on— make the focused floating window stickysticky off— remove sticky modesticky(no args) — togglelayout floatingfirst).How it works
isSticky: Boolproperty toWindowclasslayoutWorkspaces()(refresh.swift), when hiding windows of invisible workspaces, sticky floating windows skiphideInCorner()and instead callunhideFromCorner()CmdKind.sticky,StickyCommand,StickyCmdArgs, manifest entriesDesign decisions
sticky offor closing the window removes sticky state.Answering questions from #2
Multiple windows can be sticky simultaneously. Each is independent.
It remains sticky. The user explicitly set it sticky, so mouse movement shouldn't change that.
In this implementation, sticky windows stay on the monitor they're on. They don't follow you to other monitors — they stay visible on their current monitor across workspace switches.
Example config
Happy to hear feedback before I open a PR.
Beta Was this translation helpful? Give feedback.
All reactions