All Projects → jcs → sdorfehs

jcs / sdorfehs

Licence: GPL-2.0 license
A tiling window manager

Programming Languages

c
50402 projects - #5 most used programming language
Roff
2310 projects
Makefile
30231 projects

Projects that are alternatives of or similar to sdorfehs

shod-old
hybrid (floating and tiling) tabbed window manager
Stars: ✭ 56 (-74.43%)
Mutual labels:  tiling-window-manager, x11-wm
shod
mouse-based window manager that can tile windows inside floating containers
Stars: ✭ 126 (-42.47%)
Mutual labels:  tiling-window-manager, x11-wm
Xsuspender
👀 💻 💤 🔋 Save battery by auto-suspending unfocused X11 applications.
Stars: ✭ 53 (-75.8%)
Mutual labels:  tiling-window-manager
awesome
my Awesome(window management) configuration for Arch/Ubuntu
Stars: ✭ 34 (-84.47%)
Mutual labels:  tiling-window-manager
Awesome Config
📕 Example awesome wm configuration. Includes personalization support (personal.vim), theme, polyglot unicode taglists, mpd support.
Stars: ✭ 162 (-26.03%)
Mutual labels:  tiling-window-manager
Frames Only Mode
Make emacs play nicely with tiling window managers by setting it up to use frames rather than windows
Stars: ✭ 96 (-56.16%)
Mutual labels:  tiling-window-manager
Frankenwm
🖼️ Fast dynamic tiling X11 window manager
Stars: ✭ 209 (-4.57%)
Mutual labels:  tiling-window-manager
Krohnkite
A dynamic tiling extension for KWin
Stars: ✭ 767 (+250.23%)
Mutual labels:  tiling-window-manager
ratpoison
jcs ratpoison hax
Stars: ✭ 31 (-85.84%)
Mutual labels:  x11-wm
Durden
Desktop Environment for Arcan
Stars: ✭ 158 (-27.85%)
Mutual labels:  tiling-window-manager
React Mosaic
A React tiling window manager
Stars: ✭ 2,804 (+1180.37%)
Mutual labels:  tiling-window-manager
Perceptia
Dynamic window manager with support for Wayland
Stars: ✭ 138 (-36.99%)
Mutual labels:  tiling-window-manager
Paperwm
Tiled scrollable window management for Gnome Shell
Stars: ✭ 1,364 (+522.83%)
Mutual labels:  tiling-window-manager
Dotfiles
My dotfiles repo, here you can find all my window manager configs as well as documentation and a guide on how to make your own desktop environment.
Stars: ✭ 208 (-5.02%)
Mutual labels:  tiling-window-manager
I3 Config
i3wm configuration files
Stars: ✭ 81 (-63.01%)
Mutual labels:  tiling-window-manager
dotfiles
My dotfiles - Emacs centric OSX Big Sur
Stars: ✭ 29 (-86.76%)
Mutual labels:  tiling-window-manager
Mywintiles
Tiling window manager for Windows 10, Built on top of explorer shell
Stars: ✭ 34 (-84.47%)
Mutual labels:  tiling-window-manager
Dotfiles
Configuration files for XMonad, Emacs, NixOS, Taffybar and more.
Stars: ✭ 127 (-42.01%)
Mutual labels:  tiling-window-manager
Nixpkgs Wayland
Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS.
Stars: ✭ 178 (-18.72%)
Mutual labels:  tiling-window-manager
i3monkit
The toolkit to create customized I3 status bar
Stars: ✭ 31 (-85.84%)
Mutual labels:  tiling-window-manager

sdorfehs

(pronounced "starfish")

sdorfehs is a tiling window manager descended from ratpoison (which itself is modeled after GNU Screen).

sdorfehs divides the screen into one or more frames, each only displaying one window at a time but can cycle through all available windows (those which are not being shown in another frame).

Like Screen, sdorfehs primarily uses prefixed/modal key bindings for most actions. sdorfehs's command mode is entered with a configurable keystroke (Control+a by default) which then allows a number of bindings accessible with just a single keystroke or any other combination. For example, to cycle through available windows in a frame, press Control+a then n.

License

sdorfehs retains ratpoison's GPL2 license.

Compiling

Run make to compile, and make install to install to /usr/local by default.

Wiki

The sdorfehs Wiki has tips and tricks, and information on troubleshooting problems.

Features

sdorfehs retains most of ratpoison's features while adding some more modern touches.

Screenshot

EWMH

sdorfehs strives to be a bit more EWMH compliant, supporting Atoms such as _NET_ACTIVE_WINDOW for compositors to dim unfocused windows, and _NET_WM_STATE_FULLSCREEN to allow full-screen programs like VLC and Firefox to take over the entire screen when requested (though still allowing the standard key bindings to switch windows or kill the program).

Virtual Screens

sdorfehs adds virtual screens which each have their own frame configuration and set of windows. Windows can be moved between virtual screens with vmove. By default, virtual screens can be selected (via the vselect command) with Control+a, F1 through Control+a, F12.

Bar

sdorfehs has a bar window which displays status messages or the output of certain commands. By default, this bar is made sticky with the barsticky setting which forces the bar to be permanently affixed to the top or bottom (configurable with the bargravity setting) of every virtual screen displaying the currently-focused window's title on the left side.

When the bar is sticky, it also enables a mechanism to display arbitrary text on the right side, similar to bar programs for other window managers like i3bar, dzen2, etc. sdorfehs creates a named pipe at ~/.config/sdorfehs/bar and any text input into the pipe shows up on the bar, making it easy to integrate with standard utilities which can just echo into the pipe. For an extremely simple example, a shell script can just echo the output of date into the pipe once a second.

while true; do
  date > ~/.config/sdorfehs/bar
  sleep 1
done

Bar input supports some markup commands from dzen2 in the format ^command(details) which affect the text following the command until the command is reset with ^command(). Currently supported commands:

  • ^ca(btn,cmd,btn2,cmd2): execute cmd when mouse button btn is clicked on this area of text, or cmd2 if button btn2 is clicked. Closing the area of clickable text can be done with ^ca().

  • ^fg(color): color the text following until the next ^fg() command. A line of text such as hello ^fg(green)world^fg()! will color hello with the default foreground color (set fgcolor), then world in green, and the exclamation point with the default color. Colors can be specified as their common name (blue) or as a hex code (#0000ff).

  • ^fn(font): change the font of the following text. Fonts must be specified in Xft format like set font such as ^fn(noto emoji:size=13). Resetting to the default font can be done with ^fn().

Gaps

sdorfehs enables a configurable gap (with set gap) between frames by default to look a bit nicer on larger displays.

Secure Remote Control

sdorfehs's -c command line option uses a more secure IPC mechanism than Ratpoison for sending commands to a running sdorfehs process, such as a script controlling sdorfehs to restore a particular layout.

Ratpoison's IPC only requires that a process create a new X11 window and set an Atom on it, which the parent Ratpoison process reads and executes the value of that Atom. An unprivileged application that only has an X11 connection (say a sandboxed Firefox child process) could set the RP_COMMAND_REQUEST Atom property on its existing window with a value of 0exec something to cause Ratpoison to read it and execute that shell command as the user id running Ratpoison.

sdorfehs's IPC mechanism switches to a Unix socket in the ~/.config/sdorfehs directory which ensures the requesting process has the ability to make socket connections and can write to that path.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].