2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Mango
 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:12:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 21:01:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								< img  width = "255"  height = "256"  alt = "mango-transparency-256"  src = "https://github.com/user-attachments/assets/54caff2c-932f-4998-a090-2a5292ebbfa4"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								This project's development is based on [dwl ](https://codeberg.org/dwl/dwl/ ).
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:12:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-08 19:25:23 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								1.  **Lightweight & Fast Build** 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:12:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   -  _Mango_ is as lightweight as _dwl_ , and can be built completely within a few seconds. Despite this, _Mango_  does not compromise on functionality.
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								2.  **Feature Highlights** 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   -  In addition to basic WM functionality, Mango provides:
							 
						 
					
						
							
								
									
										
										
										
											2025-06-29 16:09:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Excellent xwayland support.
							 
						 
					
						
							
								
									
										
										
										
											2025-07-01 04:05:36 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Base tags not workspaces (supports separate window layouts for each tag)
							 
						 
					
						
							
								
									
										
										
										
											2025-06-29 16:09:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Smooth and customizable complete animations (window open/move/close, tag enter/leave,layer open/close/move)
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Excellent input method support (text input v2/v3)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     -  Flexible window layouts with easy switching (scroller, master, monocle, spiral, etc.)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     -  Rich window states (swallow, minimize, maximize, unglobal, global, fakefullscreen, overlay, etc.)
							 
						 
					
						
							
								
									
										
										
										
											2025-06-13 12:04:45 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Simple yet powerful external configuration
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Sway-like scratchpad and named scratchpad
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 10:52:41 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Minimize window to scratchpad
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Hycov-like overview
							 
						 
					
						
							
								
									
										
										
										
											2025-07-01 04:05:36 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     -  Window effects from scenefx (blur, shadow, corner radius, opacity)
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:12:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-29 16:09:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								3.  **Some disadvantages** 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-01 04:05:36 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   -  Since it uses the fully automatic layout like dwm style, it does not allow you to manually adjust the window size when the window is in tiled state. It only allows you to change the layout parameters to adjust the window ratio.
							 
						 
					
						
							
								
									
										
										
										
											2025-06-29 16:09:48 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-09 15:54:18 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Master-Stack Layout
							 
						 
					
						
							
								
									
										
										
										
											2025-02-04 21:44:32 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-19 16:33:38 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								https://github.com/user-attachments/assets/a9d4776e-b50b-48fb-94ce-651d8a749b8a
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-09 15:54:18 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Scroller Layout
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-19 16:33:38 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								https://github.com/user-attachments/assets/c9bf9415-fad1-4400-bcdc-3ad2d76de85a
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 10:52:41 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Supported layouts
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Tile
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Scroller
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Monocle
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Grid
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Dwindle
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Spiral
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  Deck
							 
						 
					
						
							
								
									
										
										
										
											2025-06-13 12:04:45 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Installation
 
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Dependencies
 
							 
						 
					
						
							
								
									
										
										
										
											2025-03-15 10:26:11 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  glibc
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  wayland
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  wayland-protocols
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  libinput
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  libdrm
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  libxkbcommon
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  pixman
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  git
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  meson
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  ninja
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  libdisplay-info
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  libliftoff
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  hwdata
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  seatd
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  pcre2
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Arch Linux
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-13 09:05:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								yay -S mango-git
							 
						 
					
						
							
								
									
										
										
										
											2025-02-03 23:18:47 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-08 07:49:50 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Gentoo Linux
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The package is in the community-maintained repository called GURU.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								First, add GURU repository:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								emerge --ask --verbose eselect-repository
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								eselect repository enable guru
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								emerge --sync guru
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Then, add `gui-libs/scenefx`  and `gui-wm/mango`  to the `package.accept_keywords` .
							 
						 
					
						
							
								
									
										
										
										
											2025-07-08 07:49:50 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Finally, install the package:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								emerge --ask --verbose gui-wm/mango
							 
						 
					
						
							
								
									
										
										
										
											2025-07-08 07:49:50 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Patching wlroots is done by getting the patch with git from [the repository ](https://github.com/DreamMaoMao/wlroots.git )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								and then copying it to `/etc/portage/patches/gui-libs/wlroots/` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Other
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-13 09:05:09 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2025-06-08 10:38:51 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# wlroots 0.19.0 release with a fix-patch to avoid crash
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								git clone https://github.com/DreamMaoMao/wlroots.git
							 
						 
					
						
							
								
									
										
										
										
											2025-06-08 10:38:51 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								cd wlroots
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								meson build -Dprefix=/usr
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo ninja -C build install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 14:55:18 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								git clone https://github.com/wlrfx/scenefx.git
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								cd scenefx
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								meson build -Dprefix=/usr
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo ninja -C build install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								git clone https://github.com/DreamMaoMao/mango.git
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								cd mango
							 
						 
					
						
							
								
									
										
										
										
											2025-03-03 08:33:19 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								meson build -Dprefix=/usr
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo ninja -C build install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-02-20 08:47:56 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Suggested Tools
 
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  Application launcher (wofi, bemenu, wmenu, fuzzel)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  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)
							 
						 
					
						
							
								
									
										
										
										
											2025-03-11 09:44:00 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Some Common Default Keybindings
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-28 22:58:00 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  alt+return: open foot terminal
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  alt+q: kill client
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  alt+left/right/up/down: focus direction
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  super+m: quit mango
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## My Dotfiles
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  Dependencies
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 16:22:25 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2025-07-01 09:55:28 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								yay -S rofi-wayland 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
							 
						 
					
						
							
								
									
										
										
										
											2025-04-29 21:20:37 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 16:22:25 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  use my config
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 16:22:25 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								git clone https://github.com/DreamMaoMao/mango-config.git ~/.config/mango
							 
						 
					
						
							
								
									
										
										
										
											2025-04-29 21:20:37 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-03 08:33:19 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-01 04:05:36 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## Config Documentation
 
							 
						 
					
						
							
								
									
										
										
										
											2025-03-03 08:33:19 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Refer to the [wiki ](https://github.com/DreamMaoMao/mango/wiki/ )
							 
						 
					
						
							
								
									
										
										
										
											2025-03-07 20:57:34 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# NixOS + Home-manager
 
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:34:17 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The repo contains a flake that provides a NixOS module and a home-manager module for mango.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Use the NixOS module to install mango with other necessary components of a working Wayland environment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Use the home-manager module to declare configuration and autostart for mango.
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:50:27 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Here's an example of using the modules in a flake:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```nix
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  inputs = {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    home-manager = {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      url = "github:nix-community/home-manager";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      inputs.nixpkgs.follows = "nixpkgs";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    flake-parts.url = "github:hercules-ci/flake-parts";
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    mango.url = "github:DreamMaoMao/mango";
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  outputs =
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    inputs@{ self, flake-parts, ... }:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    flake-parts.lib.mkFlake { inherit inputs; } {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      debug = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      systems = [ "x86_64-linux" ];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      flake = {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        nixosConfigurations = {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          hostname = inputs.nixpkgs.lib.nixosSystem {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            system = "x86_64-linux";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            modules = [
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              inputs.home-manager.nixosModules.home-manager
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:50:27 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              # Add mango nixos module
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              inputs.mango.nixosModules.mango
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:50:27 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              {
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                programs.mango.enable = true;
							 
						 
					
						
							
								
									
										
										
										
											2025-03-24 12:50:27 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              }
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                home-manager = {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                  useGlobalPkgs = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                  useUserPackages = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                  backupFileExtension = "backup";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                  users."username".imports =
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    [
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                      (
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        { ... }:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        {
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                          wayland.windowManager.mango = {
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            enable = true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            settings = ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                              # see config.conf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            '';
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            autostart_sh = ''
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                              # see autostart.sh
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:37:34 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                              # Note: here no need to add shebang
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            '';
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                          };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                      )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    ]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    ++ [
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                      # Add mango hm module
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                      inputs.mango.hmModules.mango
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 22:05:29 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    ];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            ];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Packaging mango
 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								To package mango for other distributions, you can check the reference setup for:
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  [nix ](https://github.com/DreamMaoMao/mango/blob/main/nix/default.nix )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  [arch ](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mango-git ).
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Currently building mango 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 )
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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 ).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 14:54:59 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								If you encounter build errors when packaging `mango` , feel free to create an issue and ask a question, but
							 
						 
					
						
							
								
									
										
										
										
											2025-06-25 18:17:44 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Read The Friendly Manual on packaging software in your distribution first.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Thanks to These Reference Repositories
 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-14 14:32:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  https://gitlab.freedesktop.org/wlroots/wlroots - Implementation of Wayland protocol
							 
						 
					
						
							
								
									
										
										
										
											2025-02-14 14:32:20 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  https://github.com/dqrk0jeste/owl - Basal window animation
							 
						 
					
						
							
								
									
										
										
										
											2025-03-01 21:34:05 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  https://codeberg.org/dwl/dwl - Basal dwl feature
							 
						 
					
						
							
								
									
										
										
										
											2025-03-01 21:34:05 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-22 03:53:43 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  https://github.com/swaywm/sway - Sample of Wayland protocol
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 14:55:18 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-24 16:22:25 +08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  https://github.com/wlrfx/scenefx - Make it simple to add window effect.