Previous: Workspaces and Windows, Up: Workspaces


12.4 Edge Flipping

Sawfish provides a way to flip between workspaces (or viewports) automatically by moving the mouse to the edge of the screen. The technique is called “edge flipping”.

These definitions are stored in the sawfish.wm.ext.edge-flip structure. They can only be enabled through the customization interface.

— Customizable: edge-flip-enabled nil

When true, select the next desktop when the pointer hits screen edge. Defaults to false.

— Customizable: edge-flip-type

Indicates what is selected when hitting the screen edge. Must be one of viewport or workspace. Defaults to workspace.

— Customizable: edge-flip-only-when-moving

When true, Sawfish only flips when the user is interactively moving a window. Defaults to false.

This variable is not customizable, but it can be edited.

— Variable: edge-flip-delay

Milliseconds to delay before edge flipping. Defaults to 250.

Flippers are implemented as invisible windows on the edges of the display (the windows overlap at the corners). When the pointer moves over any of these windows, Sawfish generates enter-flipper-hook and leave-flipper-hook events.

Programmers can add their own callbacks to perform other actions with the flippers. This depends on manually enabling the flippers, using the following functions in the sawfish.wm.util.flippers structure. Note that you may have to manually remove the edge-flip-enter and edge-flip-leave callbacks from the hooks before adding your own callbacks.

— Function: enable-flippers

Add edge windows used to implement flipping.

— Function: disable-flippers

Remove the edge windows used to implement flipping.