.\" Generated by scdoc 1.11.2 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "labwc-actions" "5" "2023-12-16" .P .SH NAME .P labwc - actions .P .SH ACTIONS .P Actions are used in menus and keyboard/mouse bindings.\& .P \fB\fR .RS 4 Close top-most window.\& .P .RE \fB\fR .RS 4 Kill the process associated with the current window by sending it the SIGTERM signal.\& .P .RE \fB\fR .RS 4 Execute command.\& Note that in the interest of backward compatibility, labwc supports as an alternative to even though openbox documentation states that it is deprecated.\& Note: Tilde (~) is expanded in the command before passing to execvp() .P .RE \fB\fR .RS 4 Exit labwc.\& .P .RE \fB\fR .RS 4 Give focus to window under cursor.\& .P .RE \fB\fR .RS 4 Remove focus from the window that is currently focused.\& .P .RE \fB\fR .RS 4 Restack the current window above other open windows.\& .P .RE \fB\fR .RS 4 Restack the current window below other open windows.\& .P .RE \fB\fR .RS 4 Iconify (minimize) focused window.\& .P .RE \fB\fR .RS 4 Begin interactive move of window under cursor .P .RE \fB\fR .RS 4 Move window until it hits the next edge.\& .P \fBdirection\fR [left|up|right|down] Direction in which to move.\& .P \fBsnapWindows\fR [yes|no] Move window until it hits an edge of another window or screen edge.\& If set to "no", only move to the next screen edge.\& Default is yes.\& .P .RE \fB\fR .RS 4 Begin interactive resize of window under cursor .P .RE \fB\fR .RS 4 Resize window relative to its current size.\& Values of left, right, top or bottom tell how much to resize on that edge of window, positive values grow window, negative shrink window.\& .P .RE \fB\fR .RS 4 Resize window to fill the space between its edge and any other window edge.\& .P \fBdirection\fR [left|up|right|down] Direction in which to grow.\& .P .RE \fB\fR .RS 4 Reverse of GrowToEdge.\& Shrinks by a maximum of 50%.\& .P \fBdirection\fR [left|up|right|down] Direction in which to shrink.\& .P .RE \fB\fR .RS 4 Move to position (x, y) .P .RE \fB\fR .RS 4 Resize window .P \fBwidth\fR The width to resize the window to in pixels.\& .P \fBheight\fR The height to resize the window to in pixels.\& .P .RE \fB\fR .RS 4 Move to be centered on cursor.\& Tries to prevent any part of the window from going off-screen.\& .P .RE \fB\fR .RS 4 Move window relative to its current position.\& Positive value of x moves it right, negative left.\& Positive value of y moves it down, negative up.\& .P .RE \fB\fR .RS 4 Resize window to fill half the output in the given direction.\& Supports directions "left", "up", "right", "down" and "center".\& .P .RE \fB\fR .RS 4 Resize and move active window according to the given region.\& See labwc-config(5) for further information on how to define regions.\& .P .RE \fB\fR .RS 4 Cycle focus to next window.\& .P .RE \fB\fR .RS 4 Cycle focus to previous window.\& .P .RE \fB\fR .RS 4 Re-load configuration and theme files.\& .P .RE \fB\fR .RS 4 Show menu.\& Valid menu names are "root-menu" and "client-menu".\& .P .RE \fB\fR .RS 4 Toggle decorations of focused window.\& .P This is a 3-state action which can be executed multiple times: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Only the titlebar will be hidden, borders and resize area are kept .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Remaining decorations will be disabled .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Decorations will be shown normally .RE .P By disabling the theme configuration '\&keepBorder'\& the first step will be removed and the action only toggles between on and off.\& .P .RE \fB\fR .RS 4 Toggle fullscreen state of focused window.\& .P .RE \fB\fR .RS 4 Toggle maximize state of focused window.\& Supported directions are "both" (default), "horizontal", and "vertical".\& .P .RE \fB\fR .RS 4 Maximize focused window.\& Supported directions are "both" (default), "horizontal", and "vertical".\& .P .RE \fB\fR .RS 4 Toggle always-on-top of focused window.\& .P .RE \fB\fR .RS 4 Toggle between layers '\&always-on-bottom'\& and '\&normal'\&.\& When a window is in the '\&always-on-bottom'\& layer, it is rendered below all other top-level windows.\& It is anticipated that this action will be useful when defining window-rules for desktop-management tools that do not support the wlr-layer-shell protocol.\& .P .RE \fB\fR .RS 4 Toggle omnipresent (visible on all workspaces / sticky) for the focused window.\& .P .RE \fB\fR .RS 4 Stop handling keybinds other than ToggleKeybinds itself.\& This can be used to allow A-Tab and similar keybinds to be delivered to Virtual Machines, VNC clients or nested compositors.\& A second call will restore all original keybinds.\& .P This action will only affect the window that had keyboard focus when the binding was executed.\& Thus when switching to another window, all the usual keybinds will function again until switching back to the original window.\& There can be multiple windows with this mode set.\& .P .RE \fB\fR .RS 4 Give focus to topmost window on given output and warp the cursor to the center of the window.\& If the given output does not contain any windows, the cursor is centered on the given output.\& .P .RE \fB\fR .RS 4 Switch to workspace.\& .P \fBto\fR The workspace to switch to.\& Supported values are "current", "last", "left", "right" or the full name of a workspace or its index (starting at 1) as configured in rc.\&xml.\& .P \fBwrap\fR [yes|no] Wrap around from last desktop to first, and vice versa.\& Default yes.\& .P .RE \fB\fR .RS 4 Send active window to workspace.\& .P \fBto\fR The workspace to send the window to.\& Supported values are the same as for GoToDesktop.\& .P \fBfollow\fR [yes|no] Also switch to the specified workspace.\& Default yes.\& .P \fBwrap\fR [yes|no] Wrap around from last desktop to first, and vice versa.\& Default yes.\& .P .RE \fB\fR .RS 4 Add virtual output (headless backend).\& .P For example, it can be used to overlay virtual output on real output, but with a different resolution (this can be done with `wlr-randr` or `wdisplays`).\& After that, virtual output can be selected for screen sharing (casting), effectively sharing only the region of the screen.\& .P It must be noted that overlaying virtual output and real output is not endorsed or explicitely supported by wlroots.\& For example, after configuring virtual output, real output must be reconfigured as well (for the overlay configuration to work correctly).\& This is the example configuration: .P .RE .nf .RS 4 .fi .RE .P .RS 4 Note that the vertical resolution of "ScreenCasting" output is just 50px smaller than "eDP-1" output to cut off bottom panel from screen sharing.\& .P Virtual output is also useful for extending the desktop to (maybe mobile) remote systems like tablets.\& E.\&g.\& simply adding a virtual output, attaching wayvnc to it and running a VNC client on the remote system.\& .P \fBoutput_name\fR The name of virtual output.\& Providing virtual output name is beneficial for further automation.\& Default is "HEADLESS-X".\& .P .RE \fB\fR .RS 4 Remove virtual output (headless backend).\& .P \fBoutput_name\fR The name of virtual output.\& If not supplied, will remove the last virtual output added.\& .P .RE \fB\fR .RS 4 If used as the only action for a binding: clear an earlier defined binding.\& .P .RE .SH CONDITIONAL ACTIONS .P Actions that execute other actions.\& Used in keyboard/mouse bindings.\& .P \fB\fR .RS 4 This action will execute one set of actions if the focused window matches the criteria, or another if it does not.\& .P The arguments are as follows: .P .nf .RS 4 .fi .RE .P \fBquery\fR .RS 4 Define a query with zero or more conditions.\& All conditions must be evaluated as true in order for the window to match this query.\& Multiple queries can be defined.\& .P Pattern matching is done according to glob(7) and is case-insensitive.\& .P Conditions are as follows: .P \fBidentifier\fR .RS 4 XDG shell app_id for Wayland clients, WM_CLASS for XWayland clients.\& .P .RE \fBtitle\fR .RS 4 XDG shell title for Wayland clients, WM_NAME for XWayland clients.\& .P .RE This argument is optional.\& .P .RE \fBthen\fR .RS 4 A list of actions to be executed if the window matches any query.\& This argument is optional.\& .P .RE \fBelse\fR .RS 4 A list of actions to be executed if the window does not match any query.\& This argument is optional.\& .P .RE .RE \fB\fR .RS 4 Identical to "If" action, but applies to all windows, not just the focused one.\& .P .RE .SH SEE ALSO .P labwc(1), labwc-config(5), labwc-theme(5), glob(7)