leftwm(1) User Commands leftwm(1)

NAME


LeftWM - A tiling window manager for adventurers. For more
comprehensive documentation of leftwm please see:
https://github.com/leftwm/leftwm/wiki

SYNOPSIS


leftwm [SUBCOMMAND]

DESCRIPTION


leftwm starts the left window manager on $DISPLAY, this will depend
on your session manager, though it is recommended to start leftwm
using exec-dbus-launch leftwm . This command also launches leftwm-
worker and logs for errors to the console. The list of available
subcommands available for leftwm is listed below:

SUBCOMMANDS


-h, --help
Prints help information for this subcommand. This flag can
also be used with other subcommands to display their own help
message.

-v, --version
Prints the version information.

check This command will run several actions to ensure leftwm is
configured properly, this will report the current leftwm
version and git commit, it will also check if configuration is
loaded correctly, check for syntax errors in your config.toml
file, check your environment and theme files for errors as
well. NOTE: This subcommand will check for basic / common
mistakes made in the directory structure or permissions,
however it will not check or report if any mistakes were made
in any extra scripts, bar configurations, liquid templates and
anything that isn't the up or down executables.

command
This subcommand sends commands directly to leftwm. It can also
be used to concat commands for a keybind in config.toml For a
list of available commands use the '-l, --list' flag.

state Prints the current state of leftwm (in JSON format). You can
also use flags and liqud-like syntax for a more refined output
of this command.

theme Manage leftwm themes (This is part of an external package
found in: https://GitHub.com/leftwm/leftwm-theme).

config Manage leftwm configuration (This is part of an external
package found in: https://GitHub.com/leftwm/leftwm-config).

CONFIGURING LEFTWM


NOTE: We are in the transition from TOML to RON as config language.
Please use leftwm-check with '-m, --migrate-ron-to-toml' flags to
convert your config. For more info please refer to the wiki.

Configuration file
The settings file of leftwm can be found at:
$HOME/.config/leftwm/config.ron

With this file you can configure the modkey for leftwm,
available keybinds, tag names, workspace layouts and more.
NOTE: This file is automatically generated when leftwm or
leftwm-check is run for the first time.

Default keybinds


Movement
up, down, left or right refer to the arrow keys in your
keyboard.

Keybinding Description
---------------------------------------------------------------------------------------------------------
Mod + (1-9) Switch to a desktop/tag
Mod + Shift + (1-9) Move the focused window to desktop/tag
Mod + W Switch the desktops for each screen. Desktops [1][2] changes to [2][1]
Mod + Shift + W Move window to the other desktop
Mod + (up or down) Focus on the different windows in the current workspace
Mod + Shift + (up or down) Move the different windows in the current workspace
Mod + Enter Move selected window to the top of the stack in the current workspace
Mod + Ctrl + (up or down) Switch between different layouts
Mod + Shift + (left or right) Switch between different workspaces
Mod + Shift + Enter Open a terminal
Mod + Ctrl + L Lock the screen
Mod + Shift + X Exit LeftWM
Mod + Shift + Q Close the current window
Mod + Shift + R Reload LeftWM and its config
Mod + p Use dmenu to start application

Note: Although we encourage you to use Alacritty, LeftWM will set
your default terminal to the first terminal it finds in this list (in
the order presented):

+o Alacritty

+o Termite

+o Kitty

+o URXVT

+o RXVT

+o ST

+o ROXTerm

+o Eterm

+o XTerm

+o Terminator

+o Terminology

+o Gnome Terminal

+o XFCE4 Terminal

+o Konsole

+o UXTerm

+o Guake


About Keybind Modifiers
Note: All entries require a modifier, even if blank: modifier: []
see your config.ron file for more information.


Floating Windows


You can optionally switch between tiling or floating mode for any
window.


Keybinding Description
----------------------------------------------------------------------------
Mod + MouseDrag Switch a tiled window to floating mode
Mod + RightMouseDrag Resize a window
Drag window to a workspace edge Switch a floating window to tiling mode

FloatingToTile


This behaviour snaps the currenly focused window into the workspace
below.

TileToFloating


This behaviour switches the currently focused window to floating mode
when it's tiled.

ToggleFloating


This behaviour switches the currenly focused window between floating
and tiled mode.


CONFIGURATION


IMPORTANT: You will need to reload in order to apply any changes you
write to config.ron

NOTE: We are in the transition from TOML to RON as config language.
Please use leftwm-check with '-m, --migrate-ron-to-toml' flags to
convert your config. For more info please refer to the wiki.


Modkey


The modkey is the most important setting. It is used by many other
settings and controls how key bindings work:

Default: modkey = "Mod4" (windows key)

Mousekey


The mousekey is similarly quite important. This value can be used to
determine which key, when held, can assist a mouse drag in resizing
or moving a floating window or making a window float or tile.

Default: mousekey = "Mod4" (windows key)

Focus Behaviour


LeftWM has 3 focusing behaviours (Sloppy, ClickTo, and Driven) and 2
options (focus_new_windows, sloppy_mouse_follows_focus), which alter
the way focus is handled. These encompass 5 different patterns:

1. Sloppy Focus. Focus follows the mouse, hovering over a window
brings it to focus. This behaviour have a variant which is
toggled with the sloppy_mouse_follows_focus option:

- When true, the cursor will follow the focus and teleport to the
window that takes focus.

- When false, the cursor isn't moved by LeftWM at all.

2. Click-to-Focus. Focus follows the mouse, but only clicks change
focus.

3. Driven Focus. Focus disregards the mouse, only keyboard actions
drive the focus.

Default:


focus_behaviour = "Sloppy" # Can be Sloppy, ClickTo, or Driven
focus_new_windows = true
sloppy_mouse_follows_focus = true # Only active with the Sloppy behaviour


Cursor Behaviour on Resize


LeftWM automatically snaps the mouse to the lower right hand corner
when a window is being resized. This behaviour is controlled by the
disable_cursor_reposition_on_resize setting. When true, the cursor
will not be repositioned on resize start. When false or unspecified,
the cursor will be snapped to the lower right corner of the window
which is being resized.

Default: disable_cursor_reposition_on_resize = false

Window Creation and Cursor Focus


In multi-workspace layouts (such as with multiple monitors), LeftWM
will, by default, create the new window on the workspace where the
cursor is currently located, even if that workspace is not the
workspace which is focused. In Click-to-Focus and Driven Focus
modes, however, it is often desirable to create the window in the
focused workspace, not the one wherein the mouse is located. The
create_follows_cursor feature allows for changing this behavior. New
windows will be created in the workspace:

- Containing the cursor when unset (None), Some(true), or when
the cursor is in Sloppy mode

- Which is focused when set to Some(false)

Default: create_follows_cursor = None

Layouts


Leftwm supports variety of layouts, which define the way that windows
are tiled in the workspace

Default layouts:


layouts: [
MainAndDeck,
MainAndVertStack,
MainAndHorizontalStack,
GridHorizontal,
EvenHorizontal,
EvenVertical,
Fibonacci,
CenterMain,
CenterMainBalanced,
CenterMainFluid,
Monocle,
RightWiderLeftStack,
LeftWiderRightStack,
]


Workspaces


Workspaces are how you view tags (desktops). A workspace is an area
on a screen or most likely the whole screen. in this areas you can
view a given tag.

Default: workspaces: [] (one workspace per screen)

Example (two workspaces on a single ultrawide):


workspaces: [
( y: 0, x: 0, height: 1440, width: 1720 ),
( y: 0, x: 1720, height: 1440, width: 1720 ),
]


Workspaces can also be applied to a specific screen by using the
output field. If this field is used, all size-related fields get
relative to the output's position. You can set multiple workspaces
per screen.

If you only set per-screen workspaces, unassigned screens will be
automatically given a workspace.

You can get the output names by running xrandr in your terminal.

Again the example for an ultra-wide screen, splitting workspaces by
substracting half the width:


workspaces: [
{ output: "HDMI-1", y: 0, x: 0, height: 1440, width: -1720 },
{ output: "HDMI-1", y: 0, x: 1720, height: 1440, width: -1720 },
]


Tags


Tags are the names of the virtual desktops where windows live. In
other window managers these are sometimes just called desktops. You
can rename them to any unicode string including symbols/icons from
popular icon libraries such as font-awesome.

Default: tags: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]


WIKI


You can find more documentation in the LefrWM Wiki:
https://github.com/leftwm/leftwm/wiki

BUGS


If you find any bugs or functionality issues please report them on
Github: https://github.com/leftwm/leftwm/issues

AUTHORS


The LeftWM Development Team.

COPYRIGHT


2021 - LeftWM

User Manuals Gnu/Linux leftwm(1)

tribblix@gmail.com :: GitHub :: Privacy