Standards-compliant, fast, light-weight and extensible window manager. Works standalone or alongside desktop environments like XFCE, GNOME, or KDE.
Debian 12 and Ubuntu 26.04 both ship openbox 3.6.1 — the 2015 upstream release, unchanged for a decade. The NetLinux build is made from netlinux-ai/openbox for both suites, and adds:
<snapLayouts> block in rc.xml controls the hover delay and lets you replace the built-in templates with your own <zone> rectangles, given in percent of the monitor's usable area.| Distro openbox 3.6.1 | NetLinux build | |
|---|---|---|
| Zone picker on maximize button | — | Yes, on hover |
| Built-in snap layouts | — | 6 templates |
| User-defined zones | — | <snapLayouts> in rc.xml |
| Maximize horizontally / vertically | Yes | Yes |
| Upstream release | 3.6.1 (2015) | 3.6 branch, current tree |
| Suites | per-distro | bookworm + resolute |
| Version | 3.6-844netlinux1~bookworm1-1 |
|---|---|
| Architecture | amd64 |
| Component | main |
| Suites | stable (Debian 12) and resolute (Ubuntu 26.04) |
| Download | openbox_3.6-844netlinux1~bookworm1-1_amd64.deb |
| Upstream | openbox.org |
| Source | github.com/netlinux-ai/openbox |
sudo apt install openbox
3.6.1, which apt sorts above this build's 3.6-844netlinux1, so a plain apt install openbox will prefer the distro package. To get the NetLinux build, pin it:
sudo tee /etc/apt/preferences.d/netlinux-openbox >/dev/null <<'EOF'
Package: openbox
Pin: release o=NetLinux
Pin-Priority: 1001
EOF
sudo apt update && sudo apt install openbox
Or install the .deb directly with sudo dpkg -i. The download above is the Debian 12 build; the matching ~resolute1 build sits in this same pool directory and is what the resolute suite serves to Ubuntu 26.04.
Hover the maximize button and hold for a moment; the layout grid appears below it. Move onto a zone to highlight it, click to place the window there. Any keypress, a right-click, or clicking elsewhere dismisses it.
To change the delay or define your own zones, add to ~/.config/openbox/rc.xml and run openbox --reconfigure:
<snapLayouts>
<enabled>yes</enabled>
<delay>400</delay>
<layout>
<zone x="0" y="0" width="50" height="100"/>
<zone x="50" y="0" width="50" height="100"/>
</layout>
</snapLayouts>
Listing any <layout> replaces the built-in set entirely.
See the main page for repository setup instructions.