zwm

所属分类:远程控制/远程桌面
开发工具:Zig
文件大小:24KB
下载次数:0
上传日期:2023-04-07 13:13:26
上 传 者sh-1993
说明:  用Zig编写的Linux最小平铺窗口管理器
(A minimal tiling window manager for Linux written in Zig)

文件列表:
LICENSE (1066, 2023-02-27)
build.zig (1249, 2023-02-27)
src (0, 2023-02-27)
src\atoms.zig (3251, 2023-02-27)
src\client.zig (6542, 2023-02-27)
src\commands.zig (4619, 2023-02-27)
src\config.zig (2317, 2023-02-27)
src\layout.zig (2005, 2023-02-27)
src\log.zig (1033, 2023-02-27)
src\main.zig (653, 2023-02-27)
src\monitor.zig (2405, 2023-02-27)
src\util.zig (4556, 2023-02-27)
src\wm.zig (42212, 2023-02-27)
src\workspace.zig (3042, 2023-02-27)
src\x11.zig (12052, 2023-02-27)

``` ███████╗██╗ ██╗███╗ ███╗ ╚══███╔╝██║ ██║████╗ ████║ ███╔╝ ██║ █╗ ██║██╔████╔██║ ███╔╝ ██║███╗██║██║╚██╔╝██║ ███████╗╚███╔███╔╝██║ ╚═╝ ██║ ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ``` Zwm is a dwm-inspired minimal tiling window manager for X implemented in Zig programming language. My main goals for creating Zwm are learning Zig and implementing a minimal window manager for personal use that is easier to hack than dwm. Both goals are work in progress :) ### Current state - [x] Basic tiling layout - [x] Workspaces (tags) - [x] Focus and window management commands - [x] Spawn process command - [x] Customizable config file - [x] Hot reloading with persisted state (requires a [script](https://github.com/zuranthus/zwm/blob/master/#hot-reloading)) - [x] Support for external status bar, like [Polybar](https://github.com/zuranthus/zwm/blob/master/https://github.com/polybar/polybar) - [x] Floating windows - [x] Fullscreen windows - [x] ICCCM and EWMH support - [ ] "Urgency"/"Demands attention" window state - [ ] Multi-monitor support - [ ] Support for adding new layouts - [ ] More built-in layouts: fullscreen, 3-column, ... - [x] Iron out issues with focus, window management, and general UX # Installation You will need at least git and zig installed. ```bash git clone https://github.com/zuranthus/zwm.git cd zwm sudo zig build install -p /usr/local ``` ### Configuration Modify `src/config.zig` before building and installing. # Usage The easiest way is to start zwm with `startx` by adding `exec zwm` to `~/.xinitrc`. ### Hot Reloading It is possible to restart zwm while keeping windows and their workspace distribution intact. This makes updating zwm binary a quick and painless process. Enabling hot reloading is easy: use the following script in `~/.xinitrc` instead of a simple `exec zwm` ```bash while : do zwm [[ $? == 42 ]] || break; done ``` Now if you build and install a new zwm build, restart zwm with `Mod + Shift + Q` (configurable in `src/config.zig`). Voila: you are running the new build and all windows are alive and in their workspaces.

近期下载者

相关文件


收藏者