All Projects → gitluin → Sara

gitluin / Sara

Licence: other
Originally a fork of catwm, now an offspring of dwm with a streamlined featureset, plus some bspwm.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Sara

Hypr
Hypr is a tiling window manager written in modern C++.
Stars: ✭ 659 (+268.16%)
Mutual labels:  xorg, x11
Picom
A lightweight compositor for X11
Stars: ✭ 2,299 (+1184.36%)
Mutual labels:  x11, xorg
xcb-util-xrm
XCB utility functions for the X resource manager
Stars: ✭ 52 (-70.95%)
Mutual labels:  xorg, x11
Unclutter Xfixes
A rewrite of unclutter using the x11-xfixes extension
Stars: ✭ 236 (+31.84%)
Mutual labels:  x11, xorg
Wallutils
🌆 Utilities for handling monitors, resolutions, wallpapers and timed wallpapers
Stars: ✭ 145 (-18.99%)
Mutual labels:  x11, xorg
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+2021.23%)
Mutual labels:  x11, xorg
dxhd
daky's X11 Hotkey Daemon
Stars: ✭ 80 (-55.31%)
Mutual labels:  xorg, x11
marathon
minimal run-or-focus launcher for Linux/X
Stars: ✭ 54 (-69.83%)
Mutual labels:  xorg, x11
Custard
custard window manager
Stars: ✭ 141 (-21.23%)
Mutual labels:  x11, xorg
I3
A fork of the i3 window manager with gaps and some other features
Stars: ✭ 5,512 (+2979.33%)
Mutual labels:  x11, xorg
Libagar
Cross-Platform GUI Toolkit (stable)
Stars: ✭ 212 (+18.44%)
Mutual labels:  x11, xorg
Octobtt
OctoBTT
Stars: ✭ 77 (-56.98%)
Mutual labels:  x11, xorg
Xf86 Input Wacom
X.Org driver for Wacom devices
Stars: ✭ 201 (+12.29%)
Mutual labels:  x11, xorg
x11-fractional-display-scaling
Script and instructions to get fractional display scaling working nicely on Linux distros that use X11
Stars: ✭ 52 (-70.95%)
Mutual labels:  xorg, x11
Chamferwm
A tiling X11 window manager with Vulkan compositor.
Stars: ✭ 200 (+11.73%)
Mutual labels:  x11, xorg
xwmfs
X11 Window-Manager file system based on FUSE
Stars: ✭ 21 (-88.27%)
Mutual labels:  xorg, x11
Xsuspender
👀 💻 💤 🔋 Save battery by auto-suspending unfocused X11 applications.
Stars: ✭ 53 (-70.39%)
Mutual labels:  x11, xorg
Hideit.sh
Automagically hide/show a window by its name when the cursor is within a defined region or you mouse over it.
Stars: ✭ 171 (-4.47%)
Mutual labels:  x11, xorg
Meh
🎑 a simple, minimalist, super fast image viewer using raw XLib
Stars: ✭ 113 (-36.87%)
Mutual labels:  x11
Xmonad
The core of xmonad, a small but functional ICCCM-compliant tiling window manager
Stars: ✭ 2,253 (+1158.66%)
Mutual labels:  x11

sara

    .-. .-.
  ..:  |  ;,.
 (___`.|.'___)
 (   .'|`.   )
  `'/  |  \`'
    `-' `-'                                                                    hjw, ascii.co.uk/art 

What Is, Why Do

sara is a simple and lightweight tiling window manager. Originally started with the goal of making catwm actually work, it's now a slimmed down descendant of dwm with a bit of bspwm (sockets) for good measure, and some extra UNIX philosophy inspiration from monsterwm. Project goals are small, readable code, and flexibility/extensibility.

Features

Modes

  • Tiling mode (master window with right-hand vertical stack).
  • Monocle mode (fullscreen, but bar still visible).
  • Fullscreen mode (see limitations).

Behavior/Traits

  • dwm-like:
    • tags.
    • Multihead support through Xinerama.
    • patch-like:
      • attachaside
      • movestack
      • pertag-like: layouts, master_size
      • singularborders
  • bspwm-like:
    • keyboard event handling via external program (like sxhkd).
  • monsterwm-like:
    • output desktop information for external parsing (like with shell script + lemonbar).
  • no window borders.
  • no window titles.
  • easily hackable.

Design Limitations

  • No support for urgency, because nothing I do is urgent.
  • No ICCCM (found thanks to dylan). This is mostly felt in the lack of the applysizehints behavior that dwm has (ex. cmatrix won't redraw using larger window bounds if you give it more space via togglefs, changemsize, etc.).
  • No EWMH support. Fullscreening manually isn't so bad (see examples/sxhkdrc).

Why Use sara Over Other WMs?

  • You're me and felt the need to build a tiling/dynamic window manager, even though there are plenty of them and will probably be 5 more by the time you finish this sentence. But I think the strengths are the unique combination of dwm's tag system, bspwm's socket approach to handling keyboard input, and a somewhat monsterwm-inspired information outputting setup that allows you to go real bar-crazy with things like lemonbar.
  • Relatedly, I wrote a set of bar scripts that go along with it! This includes a script for getting a lemonbar with Xft support setup running!

Help Me (Keybindings, Installation, Etc.)!

For more information, see the wiki!

Recent Statii

  • v3.0 - Some silly bugs have been squashed, but the major news is that the bar has been excised and you are now free to use whatever you wish, so long as you can make it work with the output of sara! See the example bar setup I have in this repo if you want to copy-paste and tweak for your system, or start from a template. This setup will produce a bar that is identical to the one in previous versions of sara.
  • v2.0 - Whole lotta UNIX philosophy up in here! Keybinds are controlled by sxhkd now! A little bit of bspwm in your dwm and sara sandwich! Pointer events (click into window, move and resize window) still handled by sara.
  • v1.0.{0-1} - Finished it enough to share with the class. Fixed a changecurrent bug.
  • v0.9.{2-9.5} - Multiple monitor support, viewall, reduced redundant variables, solved many enternotify edge cases, moveclient works by visibility, updategeom a la dwm 6.1, implemented rules, transient popup support, proper client killing, proper float stacking, code cleanup, mouse move and resize, lots of time wasted on easy (but sometimes obscure) bugs.
  • v0.8.{1-7.7} - No drw and no alpha behavior for the bar. Can send clients to just a desktop, can view multiple desktops at once, enternotify works (maybe), gaps, window borders, bar boxes removed. Code cleanup. Memory freeing fixed. buttonpress works!
  • v0.7 - The dwm way of clients has been implemented, bug-free (I think)!
  • v0.6.{0-5} - There's a bar with alpha support! Tags in the bar are updated properly by client movement, floating windows always appear raised, manual fullscreen toggling, no more swindows (the buggy version).
  • v0.5.{0-5} - Windows can be destroyed any damn way, name change, better master_size, modular layouts, gaps implemented, individual client floating behavior.
  • v0.2.{0-8} - Tagging works (no asterisks), no phantom windows, revamp of data structures, variable gap sizes, improvements to C programming (non-Xlib specific stuff), swindows are the true owners of Windows.
  • v0.1.{0-5} - It compiles, there's a cursor icon, quit()ing is functional (but at what cost?), moving clients to other desktops works, tagging to other desktops "works" (it compiles & no segfaults), there are phantom windows after removing clients from the current desktop.

Bugs

  • N O N E T H A T I K N O W O F !

To Do

  • My own art.
  • Quality documentation for getting started and customizing.
  • Extensive Valgrind analysis to try and reduce resource usage.

If you have some particular request, don't send me an e-mail, I won't do it! Bug/documentation reports are welcome, though!

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].