mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-05-02 06:46:29 -04:00
Fix COMMANDS.md and bug_report.md linting errors
Co-authored-by: squassina <8495707+squassina@users.noreply.github.com>
This commit is contained in:
parent
9c8dad29ae
commit
91f2cfdd08
4 changed files with 307 additions and 18 deletions
57
README.md
57
README.md
|
|
@ -1,11 +1,11 @@
|
|||
# Mango Wayland Compositor
|
||||
|
||||
<div>
|
||||
<img src="https://github.com/DreamMaoMao/mangowc/blob/main/assets/mango-transparency-256.png" alt="MangoWC Logo" width="120"/>
|
||||
</div>
|
||||
|
||||
This project's development is based on [dwl](https://codeberg.org/dwl/dwl/).
|
||||
|
||||
|
||||
1. **Lightweight & Fast Build**
|
||||
|
||||
- _Mango_ is as lightweight as _dwl_, and can be built completely within a few seconds. Despite this, _Mango_ does not compromise on functionality.
|
||||
|
|
@ -25,7 +25,7 @@ This project's development is based on [dwl](https://codeberg.org/dwl/dwl/).
|
|||
- Window effects from scenefx (blur, shadow, corner radius, opacity)
|
||||
- Zero flickering - every frame is perfect.
|
||||
|
||||
https://github.com/user-attachments/assets/bb83004a-0563-4b48-ad89-6461a9b78b1f
|
||||
<https://github.com/user-attachments/assets/bb83004a-0563-4b48-ad89-6461a9b78b1f>
|
||||
|
||||
# Quick Start Guide
|
||||
|
||||
|
|
@ -36,6 +36,7 @@ MangoWC is a **Wayland compositor** - a program that manages windows and display
|
|||
## First Steps After Installation
|
||||
|
||||
1. **Copy the default configuration:**
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/mango
|
||||
cp /usr/share/mango/config.conf ~/.config/mango/config.conf
|
||||
|
|
@ -53,6 +54,7 @@ MangoWC is a **Wayland compositor** - a program that manages windows and display
|
|||
- `Super + R` - Reload configuration (after making changes)
|
||||
|
||||
4. **Create an autostart script** (optional):
|
||||
|
||||
```bash
|
||||
# Create ~/.config/mango/autostart.sh
|
||||
#!/bin/bash
|
||||
|
|
@ -66,6 +68,7 @@ MangoWC is a **Wayland compositor** - a program that manages windows and display
|
|||
# Start notification daemon
|
||||
swaync &
|
||||
```
|
||||
|
||||
Make it executable: `chmod +x ~/.config/mango/autostart.sh`
|
||||
|
||||
## Key Concepts
|
||||
|
|
@ -80,6 +83,7 @@ Unlike traditional workspaces, **tags** are more flexible:
|
|||
Think of tags as labels you can attach to windows. You can view windows with tag 1, or tag 2, or both tags 1 and 2 simultaneously.
|
||||
|
||||
**Default behavior:**
|
||||
|
||||
- `Ctrl + 1-9` - View tag 1-9
|
||||
- `Alt + 1-9` - Move current window to tag 1-9
|
||||
- Each tag can have its own layout (tile, scroller, grid, etc.)
|
||||
|
|
@ -101,6 +105,7 @@ MangoWC supports 9 different layouts:
|
|||
| **vertical_grid** | Vertical grid arrangement | Vertical content |
|
||||
|
||||
**Switch layouts:**
|
||||
|
||||
- `Super + N` - Cycle through layouts for current tag
|
||||
- Each tag can have its own default layout (set in `config.conf`)
|
||||
|
||||
|
|
@ -114,6 +119,7 @@ The **scratchpad** is a hidden workspace for temporary windows:
|
|||
- Scratchpad windows float centered on screen
|
||||
|
||||
**Usage example:**
|
||||
|
||||
1. Open a terminal (`Alt + Return`)
|
||||
2. Move it to scratchpad (`Alt + Z`)
|
||||
3. It disappears
|
||||
|
|
@ -161,18 +167,21 @@ Windows can have multiple states:
|
|||
### Typical Workflow
|
||||
|
||||
1. **Open applications:**
|
||||
|
||||
```
|
||||
Alt + Space → Application launcher
|
||||
Alt + Return → Terminal
|
||||
```
|
||||
|
||||
2. **Navigate windows:**
|
||||
|
||||
```
|
||||
Alt + Arrow Keys → Focus window in direction
|
||||
Super + Tab → Focus next window in stack
|
||||
```
|
||||
|
||||
3. **Organize windows:**
|
||||
|
||||
```
|
||||
Super + Shift + Arrows → Swap window positions
|
||||
Alt + \ → Toggle floating
|
||||
|
|
@ -180,12 +189,14 @@ Windows can have multiple states:
|
|||
```
|
||||
|
||||
4. **Adjust layout:**
|
||||
|
||||
```
|
||||
Super + N → Change layout
|
||||
Alt + Shift + X/Z → Increase/decrease gaps
|
||||
```
|
||||
|
||||
5. **Multi-monitor:**
|
||||
|
||||
```
|
||||
Alt + Shift + Left/Right → Focus other monitor
|
||||
Super + Alt + Left/Right → Move window to other monitor
|
||||
|
|
@ -194,16 +205,19 @@ Windows can have multiple states:
|
|||
### Common Use Cases
|
||||
|
||||
**Web browsing + Terminal:**
|
||||
|
||||
- Open browser on tag 1, terminal on tag 2
|
||||
- Use `Ctrl + 1` and `Ctrl + 2` to switch between them
|
||||
|
||||
**Development workflow:**
|
||||
|
||||
- Tag 1: Code editor (center_tile layout)
|
||||
- Tag 2: Browser (monocle layout)
|
||||
- Tag 3: Terminals (tile or scroller layout)
|
||||
- Scratchpad: Calculator, notes
|
||||
|
||||
**Keeping a window visible everywhere:**
|
||||
|
||||
- Open music player or chat app
|
||||
- Press `Super + G` to make it global
|
||||
- It now appears on all tags
|
||||
|
|
@ -250,6 +264,7 @@ mmsg -d spawn firefox
|
|||
### Scripting Examples
|
||||
|
||||
**Auto-save workspace state:**
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# Save current tags to file
|
||||
|
|
@ -257,6 +272,7 @@ mmsg -t > ~/mango-state.txt
|
|||
```
|
||||
|
||||
**Tag-specific wallpapers:**
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# In a loop, change wallpaper based on active tag
|
||||
|
|
@ -268,6 +284,7 @@ done
|
|||
```
|
||||
|
||||
**Quick window layout toggle:**
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# Toggle between tile and monocle layouts
|
||||
|
|
@ -284,18 +301,21 @@ fi
|
|||
### MangoWC won't start
|
||||
|
||||
1. **Check dependencies:**
|
||||
|
||||
```bash
|
||||
# Verify wlroots and scenefx are installed
|
||||
pkg-config --modversion wlroots scenefx
|
||||
```
|
||||
|
||||
2. **Check logs:**
|
||||
|
||||
```bash
|
||||
# Run from terminal to see error messages
|
||||
mango
|
||||
```
|
||||
|
||||
3. **XWayland issues:**
|
||||
|
||||
```bash
|
||||
# If X11 apps won't start, rebuild with XWayland
|
||||
meson configure build -Dxwayland=enabled
|
||||
|
|
@ -311,6 +331,7 @@ fi
|
|||
### Keybindings not working
|
||||
|
||||
1. **Find correct key name:**
|
||||
|
||||
```bash
|
||||
# Install wev to see key names
|
||||
wev
|
||||
|
|
@ -324,12 +345,14 @@ fi
|
|||
### Applications not starting
|
||||
|
||||
1. **Missing required tools:**
|
||||
|
||||
```bash
|
||||
# Install suggested applications
|
||||
sudo pacman -S rofi foot waybar swaybg
|
||||
```
|
||||
|
||||
2. **Check autostart script:**
|
||||
|
||||
```bash
|
||||
# Test autostart manually
|
||||
bash ~/.config/mango/autostart.sh
|
||||
|
|
@ -338,6 +361,7 @@ fi
|
|||
### Performance issues
|
||||
|
||||
1. **Disable effects:**
|
||||
|
||||
```conf
|
||||
# In config.conf
|
||||
animations=0
|
||||
|
|
@ -346,6 +370,7 @@ fi
|
|||
```
|
||||
|
||||
2. **Check GPU drivers:**
|
||||
|
||||
```bash
|
||||
# Ensure proper graphics drivers are installed
|
||||
glxinfo | grep "OpenGL"
|
||||
|
|
@ -354,6 +379,7 @@ fi
|
|||
### Screen sharing not working
|
||||
|
||||
Install portal packages:
|
||||
|
||||
```bash
|
||||
sudo pacman -S xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
```
|
||||
|
|
@ -366,6 +392,7 @@ sudo pacman -S xdg-desktop-portal xdg-desktop-portal-wlr
|
|||
- **Issues**: [GitHub Issues](https://github.com/DreamMaoMao/mangowc/issues)
|
||||
|
||||
# Our discord
|
||||
|
||||
[mangowc](https://discord.gg/CPjbDxesh5)
|
||||
|
||||
---
|
||||
|
|
@ -393,13 +420,16 @@ sudo pacman -S xdg-desktop-portal xdg-desktop-portal-wlr
|
|||
- libxcb
|
||||
|
||||
## Arch Linux
|
||||
|
||||
The package is in the Arch User Repository and is available for manual download [here](https://aur.archlinux.org/packages/mangowc-git) or through a AUR helper like yay:
|
||||
|
||||
```bash
|
||||
yay -S mangowc-git
|
||||
|
||||
```
|
||||
|
||||
## Gentoo Linux
|
||||
|
||||
The package is in the community-maintained repository called GURU.
|
||||
First, add GURU repository:
|
||||
|
||||
|
|
@ -418,6 +448,7 @@ emerge --ask --verbose gui-wm/mangowc
|
|||
```
|
||||
|
||||
## Fedora Linux
|
||||
|
||||
The package is in the third-party Terra repository.
|
||||
First, add the [Terra Repository](https://terra.fyralabs.com/).
|
||||
|
||||
|
|
@ -428,6 +459,7 @@ dnf install mangowc
|
|||
```
|
||||
|
||||
## GuixSD
|
||||
|
||||
The package definition is described in the source repository.
|
||||
First, add `mangowc` channel to `channels.scm` file:
|
||||
|
||||
|
|
@ -477,9 +509,11 @@ sudo ninja -C build install
|
|||
## Suggested Tools
|
||||
|
||||
### Hybrid component
|
||||
|
||||
- [dms-shell](https://github.com/AvengeMedia/DankMaterialShell)
|
||||
|
||||
### Independent component
|
||||
|
||||
- Application launcher (rofi, bemenu, wmenu, fuzzel)
|
||||
- Terminal emulator (foot, wezterm, alacritty, kitty, ghostty)
|
||||
- Status bar (waybar, eww, quickshell, ags), waybar is preferred
|
||||
|
|
@ -570,6 +604,7 @@ sudo ninja -C build install
|
|||
## My Dotfiles
|
||||
|
||||
### Daily
|
||||
|
||||
- Dependencies
|
||||
|
||||
```bash
|
||||
|
|
@ -577,23 +612,26 @@ yay -S rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist w
|
|||
```
|
||||
|
||||
### Dms
|
||||
|
||||
- Dependencies
|
||||
|
||||
```bash
|
||||
yay -S foot xdg-desktop-portal-wlr swaybg wl-clip-persist cliphist wl-clipboard sway-audio-idle-inhibit-git brightnessctl grim slurp satty matugen-bin dms-shell-git
|
||||
|
||||
```
|
||||
|
||||
- use my dms config
|
||||
|
||||
```bash
|
||||
git clone -b dms https://github.com/DreamMaoMao/mango-config.git ~/.config/mango
|
||||
```
|
||||
|
||||
- use my daily config
|
||||
|
||||
```bash
|
||||
git clone https://github.com/DreamMaoMao/mango-config.git ~/.config/mango
|
||||
```
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
MangoWC comes with comprehensive documentation to help you get started and master the compositor:
|
||||
|
|
@ -727,24 +765,23 @@ Read The Friendly Manual on packaging software in your distribution first.
|
|||
|
||||
# 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
|
||||
|
||||
- https://github.com/dqrk0jeste/owl - Basal window animation
|
||||
- <https://github.com/dqrk0jeste/owl> - Basal window animation
|
||||
|
||||
- https://codeberg.org/dwl/dwl - Basal dwl feature
|
||||
- <https://codeberg.org/dwl/dwl> - Basal dwl feature
|
||||
|
||||
- https://github.com/swaywm/sway - Sample of Wayland protocol
|
||||
|
||||
- https://github.com/wlrfx/scenefx - Make it simple to add window effect.
|
||||
- <https://github.com/swaywm/sway> - Sample of Wayland protocol
|
||||
|
||||
- <https://github.com/wlrfx/scenefx> - Make it simple to add window effect.
|
||||
|
||||
# Sponsor
|
||||
|
||||
At present, I can only accept sponsorship through an encrypted connection.
|
||||
If you find this project helpful to you, you can offer sponsorship in the following ways.
|
||||
|
||||
<img width="650" height="870" alt="image" src="https://github.com/user-attachments/assets/8c860317-90d2-4071-971d-f1a92b674469" />
|
||||
|
||||
|
||||
Thanks to the following friends for their sponsorship of this project
|
||||
|
||||
[@tonybanters](https://github.com/tonybanters)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue