# 🪄 Sei
> A fixed, patched, and modified window manager from a dwm 6.4 base
[](https://i.imgur.com/GEDBZ6N.png)
## Installation
```bash
git clone https://github.com/Fuwn/seiwm.git
cd seiwm
sudo ninja install
```
### Build Dependencies
- [FreeType2](https://freetype.org/)
- [libX11](https://x.org/releases/current/doc/libX11/libX11/libX11.html)
- [libXft](https://gitlab.freedesktop.org/xorg/lib/libxft)
- [Imlib2](https://docs.enlightenment.org/api/imlib2/html/index.html)
- [GNU FriBidi](https://github.com/fribidi/fribidi)
- [libXinerama](https://gitlab.freedesktop.org/xorg/lib/libxinerama)
- [xcb](https://xcb.freedesktop.org/)
## Recommendations
- Use [Compfy](https://github.com/Fuwn/compfy) for X11 compositing for
"transparency, background blurring, rounded corners, animations and way more!"
- Install and specify [Zig](https://ziglang.org/) as `CC` for improved memory
allocation efficiency and runtime speed: `CC="zig cc" sudo ninja install`
## Sei Specific Fixes & Patches
- Removed refresh rate limit
- Fixed tray position and button responsiveness for use with custom padding
- Reactive bar toggling: If the user has manually toggled the bar visibility
using mod+b, the bar
will stay locked with the same visibility. If the user has not manually
toggled the bar visibility, the bar visibility will
reflect that of the full-screen state.
- Clear nametag patch's current tag name upon new assignment and reset tag name
to default upon empty string. (why is this not default behaviour?)
- Append mode for nametag: Chose between appending the name of a tag to the
default name or to overwrite it completely
- XSession desktop entry
- centretitle patch toggle
- `followclient`:
- The view will follow the client when sent to an empty tag
- The focus and cursor will follow the client when sent to a new monitor
- `systraypinning` toggle fix: If `systraypinning` is enabled, the system tray will
only toggle its visibility if the mutation originates from the monitor it is
pinned on.
## "Official" Patches
- [xresources](https://dwm.suckless.org/patches/xresources/): Applies colours
and other variables (i.e. using [`pywal`](https://github.com/dylanaraps/pywal)
, etc.)
- [scratchpad](https://dwm.suckless.org/patches/scratchpad/): Accessible using
mod+shift+enter
- [fibonacci](https://dwm.suckless.org/patches/fibonacci/),
[deck](https://dwm.suckless.org/patches/deck/),
[centeredmaster](https://dwm.suckless.org/patches/centeredmaster/), and more:
New layout options bound to keys super+(shift+)t/y/u/i
- [actualfullscreen](https://dwm.suckless.org/patches/actualfullscreen/): Using
super+f, and prevents focus shifting
- [sticky](https://dwm.suckless.org/patches/sticky/): Persist window across all
tags using super+s
- [statuscmd](https://dwm.suckless.org/patches/statuscmd/): A clickable status
bar, applied if using Luke Smith's build of [dwmblocks](https://github.com/lukesmithxyz/dwmblocks)
- [hide vacant tags](https://dwm.suckless.org/patches/hide_vacant_tags/): Hides
tags with no windows
- [stacker](https://dwm.suckless.org/patches/stacker/): Move windows up the
stack manually using super-K/J
- [shiftview](https://dwm.suckless.org/patches/nextprev/): Cycle through tags
using super+g/;
- [vanitygaps](https://dwm.suckless.org/patches/vanitygaps/): Gaps allowed
across all layouts
- [swallow](https://dwm.suckless.org/patches/swallow/): Replaces terminal with
program if spawned from terminal
- [systray](https://dwm.suckless.org/patches/systray/): Functional system tray
- [bidi](https://dwm.suckless.org/patches/bidi/): Bidirectional text support
- [barpadding](https://dwm.suckless.org/patches/barpadding/): Padding for status
bar
- [winicon](https://dwm.suckless.org/patches/winicon/): Active window icon shown
in status bar
- [attachaside](https://dwm.suckless.org/patches/attachaside/): Attach and focus
new clients to the side instead of making it the new master
- [zoomswap](https://dwm.suckless.org/patches/zoomswap/): Swap client and master
in-place when assigning new master
- [pertag](https://dwm.suckless.org/patches/pertag/): Tag-unique layouts
- [combo](https://dwm.suckless.org/patches/combo/): View multiple tags at once by
holding down the mod key and one or more tag
- [nametag](https://dwm.suckless.org/patches/nametag/): Name tags using mod+n
- [centretitle](https://dwm.suckless.org/patches/centretitle/): Optionally
centre the focused client's title
- [cursor](https://dwm.suckless.org/patches/cursorwarp/): Warps the mouse cursor
to the center of the target window when changing focus
- [clientindicators](https://dwm.suckless.org/patches/clientindicators/): Dot indicator of open clients in non-vacent tags
- [alt tab](https://dwm.suckless.org/patches/alt-tab/): alt+tab to cycle through clients