docs: update readme

This commit is contained in:
Yappaholic 2025-06-25 18:17:44 +03:00
parent 8d5ac93ffc
commit 7155098e04

View file

@ -5,7 +5,8 @@ This project's development is based on [dwl](https://codeberg.org/dwl/dwl/).
"Since many people have asked about the meaning of this compositor's name, 'Maomao' is an online alias I've been using for years - it comes from the first two characters of the Chinese word for 'caterpillar' (毛毛虫). You can basically think of it as meaning 'caterpillar'. "Since many people have asked about the meaning of this compositor's name, 'Maomao' is an online alias I've been using for years - it comes from the first two characters of the Chinese word for 'caterpillar' (毛毛虫). You can basically think of it as meaning 'caterpillar'.
1. **Lightweight & Fast Build** 1. **Lightweight & Fast Build**
- *Maomao* is as lightweight as *dwl*, and its build can be completed within few seconds. Despite this, *maomao* does not compromise on functionality.
- _Maomao_ is as lightweight as _dwl_, and its build can be completed within few seconds. Despite this, _maomao_ does not compromise on functionality.
2. **Feature Highlights** 2. **Feature Highlights**
- In addition to basic WM functionality, Maomao provides: - In addition to basic WM functionality, Maomao provides:
@ -29,32 +30,47 @@ Scroller Layout
https://github.com/user-attachments/assets/c9bf9415-fad1-4400-bcdc-3ad2d76de85a https://github.com/user-attachments/assets/c9bf9415-fad1-4400-bcdc-3ad2d76de85a
# Supported layouts # Supported layouts
- Tile
- Scroller - Tile
- Monocle - Scroller
- Grid - Monocle
- Dwindle - Grid
- Spiral - Dwindle
- Deck - Spiral
- Deck
# Installation # Installation
## Dependencies ## Dependencies
```bash - glibc
yay -S glibc wayland libinput libdrm pixman libxkbcommon git meson ninja wayland-protocols libdisplay-info libliftoff hwdata seatd pcre2 - wayland
``` - wayland-protocols
- libinput
- libdrm
- libxkbcommon
- pixman
- git
- meson
- ninja
- libdisplay-info
- libliftoff
- hwdata
- seatd
- pcre2
## Arch Linux ## Arch Linux
```bash ```bash
yay -S maomaowm-git yay -S maomaowm-git
``` ```
## Other ## Other
```bash ```bash
# wlroots 0.19.0 release with a fix-patch to avoid crash # wlroots 0.19.0 release with a fix-patch to avoid crash
git clone -b 0.19.0-fix https://github.com/DreamMaoMao/wlroots.git git clone https://github.com/DreamMaoMao/wlroots.git
cd wlroots cd wlroots
meson build -Dprefix=/usr meson build -Dprefix=/usr
sudo ninja -C build install sudo ninja -C build install
@ -72,33 +88,45 @@ sudo ninja -C build install
## Suggested Tools ## Suggested Tools
``` - Application launcher (wofi, bemenu, wmenu, fuzzel)
yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset xfce-polkit swaync - Terminal emulator (foot, wezterm, alacritty, kitty, ghostty)
- Status bar (waybar, eww, quickshell, ags), waybar is preferred
``` - Wallpaper setup (swww, swaybg)
- Notification daemon (swaync, dunst)
- Desktop portal (xdg-desktop-portal, xdg-desktop-portal-wlr, xdg-desktop-portal-gtk)
- Clipboard (wl-clipboard, wl-clip-persist, cliphist)
- Gamma control/night light (wlsunset, gammastep)
- Miscellaneous (xfce-polkit, wlogout)
## Some Common Default Keybindings ## Some Common Default Keybindings
- alt+return: open foot terminal - alt+return: open foot terminal
- alt+q: kill client - alt+q: kill client
- alt+left/right/up/down: focus direction - alt+left/right/up/down: focus direction
- super+m: quit maomao - super+m: quit maomao
## My Dotfiles ## My Dotfiles
- Dependencies - Dependencies
```bash ```bash
yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset xfce-polkit swaync pamixer lavalauncher-mao-git wlr-dpms sway-audio-idle-inhibit-git swayidle dimland-git brightnessctl swayosd wlr-randr grim slurp satty swaylock-effects-git wlogout yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset xfce-polkit swaync pamixer lavalauncher-mao-git wlr-dpms sway-audio-idle-inhibit-git swayidle dimland-git brightnessctl swayosd wlr-randr grim slurp satty swaylock-effects-git wlogout
``` ```
- use my config - use my config
```bash ```bash
git clone https://github.com/DreamMaoMao/maomao-config.git ~/.config/maomao git clone https://github.com/DreamMaoMao/maomao-config.git ~/.config/maomao
``` ```
#### Other Tools #### Other Tools
[wlogout](https://github.com/DreamMaoMao/dotfile/tree/main/wlogout) [wlogout](https://github.com/DreamMaoMao/dotfile/tree/main/wlogout)
[swaync](https://github.com/DreamMaoMao/dotfile/tree/main/swaync) [swaync](https://github.com/DreamMaoMao/dotfile/tree/main/swaync)
## Config Document ## Config Document
Refer to the [wiki](https://github.com/DreamMaoMao/maomaowm/wiki/)
Refer to the [wiki](https://github.com/DreamMaoMao/maomaowm/wiki/)
# NixOS + Home-manager # NixOS + Home-manager
@ -173,6 +201,20 @@ Here's an example of using the modules in a flake:
} }
``` ```
# Packaging maomaowm
To package maomaowm for other distributions, you can check the reference setup for:
- [nix](https://github.com/DreamMaoMao/maomaowm/blob/main/nix/default.nix)
- [arch](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=maomaowm-git).
Currently building maomaowm requires a patched version of `wlroots-0.19`. If possible, the patch can be extracted from the [latest commit](https://github.com/DreamMaoMao/wlroots.git)
and applied on `prepare` step. If it is not possible, you will need to create a separate `wlroots` package and make it a build dependency.
You might also need to package `scenefx` for your distribution, check availability [here](https://github.com/wlrfx/scenefx.git).
If you encounter build errors when packaging `maomaowm`, feel free to create an issue and ask a question, but
Read The Friendly Manual on packaging software in your distribution first.
# Thanks to These Reference Repositories # Thanks to These Reference Repositories
- https://gitlab.freedesktop.org/wlroots/wlroots - Implementation of Wayland protocol - https://gitlab.freedesktop.org/wlroots/wlroots - Implementation of Wayland protocol