[][src]Module penrose::core::layout

Layouts are user definable window arangements for a Workspace.

Layouts are maintained per monitor and allow for indepent management of the two paramaters (n_main, main_ratio) that are used to modify layout logic. As penrose makes use of a tagging system as opposed to workspaces, layouts will be passed a Vec of clients to handle which is determined by the current client and monitor tags. arrange is only called if there are clients to handle so there is no need to check that clients.len() > 0. r is the monitor Region defining the size of the monitor for the layout to position windows.

Structs

Layout

Responsible for arranging Clients within a Workspace.

LayoutConf

When and how a Layout should be applied.

Functions

bottom_stack

A simple layout that places the main region at the top of the screen and tiles remaining windows in a single row underneath.

client_breakdown

number of clients for the main area vs secondary

side_stack

A simple layout that places the main region on the left and tiles remaining windows in a single column to the right.

Type Definitions

LayoutFunc

A function that can be used to position Clients on a Workspace. Will be called with the current client list, the active client ID (if there is one), the size of the screen that the workspace is shown on and the current values of n_main and ratio for this layout.