Linux Window Sizer lws

lws · linux window sizer

Put every window
exactly where you want it.

Linux Window Sizer places one window per action to a preset size and position — pixel-exact. Pop a mnemonic menu with a keystroke, reach for the tray, or script it from the command line. A Linux take on the classic Windows Sizer utility.

$ sudo apt install ./lws.deb
X11 · EWMH Cinnamon-first .deb package pixel-exact
The lws active-window menu: a live size readout at the top (window and client dimensions, corner coordinates) above preset groups — Resolution, Center, Halves, Thirds, Quarters, Sixths, Move, Window — with the Halves submenu open showing Left, Right, Top and Bottom Half.

the active-window menu — live size readout + your presets, one keystroke away

three ways in

Reach your presets however you work.

The same library of presets, on three surfaces — a click, a keystroke, or a command. Use whichever is closest to hand.

01 · tray

System tray

An AppIndicator icon sits in your tray. Click it for the full, grouped menu of presets — and recolour its badge to match your panel.

02 · hotkey

Global hotkey

Bind one key in your desktop's Keyboard settings. It raises a mnemonic menu on the active window — type the underlined letter to place it, no mouse needed.

03 · cli

Command line

Script it or bind a direct action: lws --action left-half places the active window. Add --under-pointer to target the window under the cursor, or lws --list to see every preset.

The hotkey raises that active-window menu, topped with a live readout of the window's size and corners. The tray is the persistent, grouped view of the same preset library — and the CLI drives it all, for scripts and one-off placements.

The lws tray menu: preset groups (Resolution, Center, Halves, Thirds, Quarters, Sixths, Move, Window) with the Thirds submenu open showing Left, Center and Right Third, then Configure and Quit.

presets are the whole idea

A size, a position, a name.

Every preset is just that. Size in pixels or percent; position by any of nine anchors or an explicit, per-axis x/y from any corner. Move-only and resize-only are first-class. Group them into submenus, pin mnemonics, and edit it all in the dialog — or by hand in a plain TOML file.

Nine anchors — corners, edges, and centre, plus explicit per-axis x/y from any reference corner.
Pixels or percent — exact sizes (4K, QHD, HD…) or fractions of the work area.
Move-only & resize-only — nudge position without touching size, or vice-versa.
Groups & mnemonics/-path submenus, underlined shortcut letters, your order.
The lws configuration dialog on the Presets tab: a collapsible tree of preset groups on the left, and an editor on the right with name, group, mnemonic, type, size, basis, and a nine-anchor position grid.

the configuration dialog — build and organise your preset library

install

One .deb, then apt.

Download the package and hand it to apt — GTK 3, the AppIndicator bindings, python3-xlib and the rest are pulled in automatically.

$ curl -O https://smisco.biz/lws/lws.deb
$ sudo apt install ./lws.deb

Requirements. An X11 desktop with an EWMH window manager — built and tested on Linux Mint / Cinnamon first; other desktops generally work. After installing, bind your trigger key in the desktop's Keyboard settings (the app shows you the exact command). Wayland is planned, behind the same backend interface.

Download the .deb latest — v1.4.0 · amd64