Next: , Previous: , Up: Windows   [Contents][Index]


8.19 Window Stickiness

Windows normally exist in a single workspace and a single viewport into that workspace. When changing workspace or viewport, the current windows disappear. This is sometimes not the correct policy; there are certain windows that should “follow” the user from window to window. These are typically windows that are not bound to a particular activity. The most common example is a dashboard window for calling other applications. Another example might be a diagnostic program such as a load monitory.

Each window has “stickiness” flags that govern this behavior. One flag controls stickiness across workspaces: sticky windows will appear in every workspace automatically. The other flag similarly governs stickiness across viewports. A window is “sticky” if either of these flags are set.

Sticky windows are often ignored, so they lack window decorations, and avoided so other windows do not cover them up.

Function: window-sticky-p/workspace window
Function: window-sticky-p/viewport window
Function: window-sticky-p window

Returns true if window is sticky across a particular environment (workspaces, viewports, or either), false otherwise.

Function: make-window-sticky/workspace window
Function: make-window-sticky/viewport window
Function: make-window-sticky window

Make the window sticky across some environment (workspaces, viewports, or both).

Function: make-window-unsticky/workspace window
Function: make-window-unsticky/viewport window
Function: make-window-unsticky window

Make the window unsticky across some environment (workspaces, viewports or both).

Function: toggle-window-sticky window

If window-sticky-p would report true for window, make window unsticky for all environments. Otherwise make it sticky for all environments.