Skip to content

Make all windows on selected display(s) always sticky. Should work with Openbox, Fluxbox, IceWM, Xfwm, KWin, Marco, Muffin, Mutter and other EWMH compliant window managers using the X11 window system. Therefore, this project provides dynamic tiling for XFCE, LXDE, LXQt, KDE and GNOME (Mate, Deepin, Cinnamon, Budgie) based desktop environments.

License

Notifications You must be signed in to change notification settings

seyys/sticky-display

 
 

Repository files navigation

Sticky Display

Make all windows on selected display(s) always sticky. Should work with Openbox, Fluxbox, IceWM, Xfwm, KWin, Marco, Muffin, Mutter and other EWMH compliant window managers using the X11 window system. Therefore, this project provides dynamic tiling for XFCE, LXDE, LXQt, KDE and GNOME (Mate, Deepin, Cinnamon, Budgie) based desktop environments.

Simply keep your current window manager and install sticky-display on top of it. Once enabled, the window manager will sticky all windows that are created or enter the configured display(s).

Features

  • Socket communication commands.
  • Adjustment of layout proportions.

Installation

Arch

Run makepkg -si.

Usage

Run sticky-display.

Configuration

To find the index of a display, open a terminal emulator on the display to check and run 'sticky-display -print-display'

The configuration file is located at ~/.config/sticky-display/config.toml (or XDG_CONFIG_HOME) and is created with default values during the first startup.

Development

Requirements: go >= 1.18

Install sticky-display via remote source

Install directly from main branch:

go install github.com/seyys/sticky-display@main

Start cortile in verbose mode:

$GOPATH/bin/cortile -v

Issues

Debugging:

  • If you encounter problems start the process with sticky-display -vv, which provides additional debug outputs.
  • A log file is created by default under /tmp/sticky-display.log.

Credits

Based on cortile (leukipp), zentile (Berin Larson), and pytyle3 (Andrew Gallant).
The main libraries used in this project are xgbutil, toml, fsnotify, and logrus.

License

MIT

About

Make all windows on selected display(s) always sticky. Should work with Openbox, Fluxbox, IceWM, Xfwm, KWin, Marco, Muffin, Mutter and other EWMH compliant window managers using the X11 window system. Therefore, this project provides dynamic tiling for XFCE, LXDE, LXQt, KDE and GNOME (Mate, Deepin, Cinnamon, Budgie) based desktop environments.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.6%
  • Shell 2.4%