diff --git a/README.md b/README.md index 09a11e4..49b7e71 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,13 @@ - -# +# Master-Stack Layout - - https://github.com/user-attachments/assets/a9d4776e-b50b-48fb-94ce-651d8a749b8a - - Scroller Layout - https://github.com/user-attachments/assets/c9bf9415-fad1-4400-bcdc-3ad2d76de85a - - # Maomaowm This project is developed based on [dwl](https://codeberg.org/dwl/dwl/), @@ -25,7 +17,9 @@ In addition, it is added many operation that supported in `hyprland`, such as `s See below for more features. # separate window layout for each workspace(tags), with separate workspace parameters + ## support layout + - tile - scroller - monocle @@ -34,24 +28,27 @@ See below for more features. - spiral # window open rules + ## options -- appid: type-string if match it or title, the rule match -- title: type-string if match it or appid, the rule match + +- appid: type-string if match it or title, the rule match +- title: type-string if match it or appid, the rule match - tags: type-num(1-9) which tags to open the window -- isfloating: type-num(0 or 1) +- isfloating: type-num(0 or 1) - isfullscreen: type-num(0 or 1) - scroller_proportion: type-float(0.1-1.0) - animation_type_open : type-string(zoom,slide) - animation_type_close : type-string(zoom,slide) - isnoborder : type-num(0 or 1) -- monitor : type-num(0-99999) +- monitor : type-num(0-99999) - width : type-num(0-9999) - height : type-num(0-9999) -- isterm : type-num(0 or 1) it will be swallowed by the sub window +- isterm : type-num(0 or 1) it will be swallowed by the sub window - noswallow: type-num(0 or 1) don't swallow the isterm window - globalkeybinding: type-string(for example-- alt-l or alt+super-l) # some special feature + - hycov like overview - foreign-toplevel protocol(dunst,waybar wlr taskbar) - minimize window to waybar(like hych) @@ -65,19 +62,26 @@ See below for more features. - niri like scroller layout # install + ## depend ```bash yay -S glibc wayland libinput libdrm pixman libxkbcommon git meson ninja wayland-protocols ``` + ## stable - wlroots(0.17) -Since 0.18 has some bugs that affect the experience, + +Since 0.18 has some bugs that affect the experience, I chose the more stable 0.17.4. + - Arch + ``` yay -S maomaowm-git ``` + - Other + ``` git clone -b 0.17.4 https://gitlab.freedesktop.org/wlroots/wlroots.git cd wlroots @@ -90,7 +94,9 @@ meson build -Dprefix=/usr sudo ninja -C build install ``` + ## unstable wlroots(0.19) + This is the latest version of wlroots, it doesn't own enough test. you can try it out if you want to help to test. @@ -103,17 +109,20 @@ sudo ninja -C build install ``` ## suggest tools + ``` yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset ``` # config + ``` cp /etc/maomao/config.conf ~/.config/maomao/config.conf touch ~/.config/maomao/autostart.sh chmod +x ~/.config/maomao/autostart.sh ``` + you can use `MAOMAOCONFIG` env to set the config-folder-path and the autostart-folder-patch like `MAOMAOCONFIG=/home/xxx/maomao` @@ -132,11 +141,13 @@ All mod keys(alt,ctrl,shift,super) are case insensitive, in addition to other ke for example: ### this is wrong: + ``` bind=alt+shift,2,quit ``` ### this is right: + ``` bind=alt+shift,at,quit ``` @@ -144,42 +155,44 @@ bind=alt+shift,at,quit because your keybinds contain shift, the `2` cover to `at` ![swappy-20250227-182157](https://github.com/user-attachments/assets/c4bca146-d1d7-42b1-aea5-a7e7e19e874b) - # custom animation ``` animation_curve_open=0.46,1.0,0.29,1.1 -animation_curve_move=0.46,1.0,0.29,1 +animation_curve_move=0.46,1.0,0.29,1 animation_curve_tag=0.46,1.0,0.29,1 animation_curve_close=0.46,1.0,0.29,1 ``` + You can design your animaition curve in: [here, on cssportal.com](https://www.cssportal.com/css-cubic-bezier-generator/), or you can just choice a curve in: [easings.net](https://easings.net). - # overview mode + ``` hotarea_size=10 enable_hotarea=1 ov_tab_mode=0 ``` + - enable_hotarea: when your cursor enter the bottom left corner of monitor, it will toggle overview. - hotarea_size: the size of hotarea, 10x10 default. -- ov_tab_mode: +- ov_tab_mode: - it will circle switch focus when you toggle overview. - and will leave ov mode when you release your mod key. ### notice - when you in ov mode, you can use right mouse button to close window, and left mouse button to jump to a window. + +when you in ov mode, you can use right mouse button to close window, and left mouse button to jump to a window. # About waybar - you can also use the dwl moudle in waybar to show tags and window title -refer to waybar wiki: [dwl-module](https://github.com/Alexays/Waybar/wiki/Module:-Dwl) + refer to waybar wiki: [dwl-module](https://github.com/Alexays/Waybar/wiki/Module:-Dwl) ```json "modules-left": ["dwl/tags","dwl/window"], @@ -190,47 +203,45 @@ refer to waybar wiki: [dwl-module](https://github.com/Alexays/Waybar/wiki/Module ``` ```css -#tags{ - background-color: transparent; +#tags { + background-color: transparent; } -#tags button{ - background-color: #fff ; - color: #a585cd ; +#tags button { + background-color: #fff; + color: #a585cd; } - -#tags button.occupied{ - background-color: #fff ; - color: #cdc885 ; +#tags button.occupied { + background-color: #fff; + color: #cdc885; } -#tags button.focused{ - background-color: rgb(186, 142, 213); - color: #fff ; +#tags button.focused { + background-color: rgb(186, 142, 213); + color: #fff; } -#tags button.urgent{ - background: rgb(171, 101, 101); - color: #fff; +#tags button.urgent { + background: rgb(171, 101, 101); + color: #fff; } -#window{ - background-color: rgb(237, 196, 147); - color: rgb(63, 37, 5); +#window { + background-color: rgb(237, 196, 147); + color: rgb(63, 37, 5); } window#waybar.empty #window { - background-color: transparent; - color: transparent; - border-bottom:none; - box-shadow: none; - padding-right: 0px; - padding-left: 0px; - margin-left: 0px; - margin-right: 0px; + background-color: transparent; + color: transparent; + border-bottom: none; + box-shadow: none; + padding-right: 0px; + padding-left: 0px; + margin-left: 0px; + margin-right: 0px; } - ``` # ipc @@ -238,6 +249,7 @@ window#waybar.empty #window { refer to [ipc](https://github.com/DreamMaoMao/mmsg) # NixOS+Home-manager + ```nix { inputs = { @@ -298,11 +310,11 @@ refer to [ipc](https://github.com/DreamMaoMao/mmsg) } ``` - # my dotfile + [maomao-config](https://github.com/DreamMaoMao/dotfile/tree/main/maomao) -# thanks for some refer repo +# thanks for some refer repo - https://gitlab.freedesktop.org/wlroots/wlroots - implementation of wayland protocol