mirror of
https://github.com/duma799/hyprduma-config.git
synced 2026-05-13 22:21:00 +00:00
Update README with recent changes
This commit is contained in:
@@ -11,9 +11,10 @@ Personal Hyprland configuration focused on productivity and ergonomics.
|
|||||||
|
|
||||||
### Visual & UX
|
### Visual & UX
|
||||||
- Minimal gaps (10px/40px) for space efficiency
|
- Minimal gaps (10px/40px) for space efficiency
|
||||||
- Blur effects and transparency
|
- Transparency with configurable opacity (active: 0.985, inactive: 0.85)
|
||||||
- Smooth custom animations with bezier curves
|
- Smooth custom animations with bezier curves
|
||||||
- **Pywal integration** - Dynamic colors from wallpaper (optional)
|
- **Pywal integration** - Dynamic system-wide colors from wallpaper
|
||||||
|
- **Caelestia shell** integration for dynamic theming and AI features
|
||||||
|
|
||||||
### Input
|
### Input
|
||||||
- 3-finger gestures (horizontal: workspace, vertical: fullscreen)
|
- 3-finger gestures (horizontal: workspace, vertical: fullscreen)
|
||||||
@@ -22,9 +23,15 @@ Personal Hyprland configuration focused on productivity and ergonomics.
|
|||||||
- Optimized touchpad scrolling
|
- Optimized touchpad scrolling
|
||||||
|
|
||||||
### Display Setup
|
### Display Setup
|
||||||
- Dual monitor configuration (HDMI-A-1 flipped + eDP-1)
|
- Auto-detected monitor configuration (works with any setup out of the box)
|
||||||
- Workspaces 1-4 on external monitor
|
- Workspaces 1-4 on external monitor, 5-10 on laptop screen
|
||||||
- Workspaces 5-10 on laptop screen
|
- **Monitor handler** - automatically restores wallpaper and Caelestia shell after config reload
|
||||||
|
|
||||||
|
### Automation
|
||||||
|
- **Auto-installer** - interactive Python installer handles the entire setup
|
||||||
|
- **Waypaper hook** - pywal colors auto-apply when wallpaper changes via waypaper GUI
|
||||||
|
- **Monitor handler** - listens for Hyprland config reloads and restarts swaybg/Caelestia
|
||||||
|
- **Fastfetch config** - custom system info display with ASCII art
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -40,131 +47,104 @@ git clone https://github.com/duma799/hyprduma-config.git ~/Downloads/hyprduma-co
|
|||||||
python3 ~/Downloads/hyprduma-config/install.py
|
python3 ~/Downloads/hyprduma-config/install.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The interactive installer handles everything:
|
||||||
|
1. AUR helpers (yay/paru)
|
||||||
|
2. Required packages via pacman
|
||||||
|
3. Caelestia shell
|
||||||
|
4. Config backup and installation
|
||||||
|
5. Pywal integration (templates, scripts, bashrc, initial colors)
|
||||||
|
6. Waypaper hook for automatic color application
|
||||||
|
7. Monitor handler for config reload resilience
|
||||||
|
8. Fastfetch config with custom ASCII art
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Complete Installation Guide (Manual)
|
## Manual Installation Guide
|
||||||
|
|
||||||
Follow these steps in order to install the complete setup from scratch.
|
If you prefer to install manually instead of using the auto-installer, follow these steps.
|
||||||
|
|
||||||
### Prerequisites: Install AUR Helpers (Optional but Recommended)
|
### Prerequisites: Install AUR Helpers (Optional but Recommended)
|
||||||
|
|
||||||
If you don't have yay and paru installed yet, you can install both:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install yay
|
# Install yay
|
||||||
sudo pacman -S --needed git base-devel
|
sudo pacman -S --needed git base-devel
|
||||||
git clone https://aur.archlinux.org/yay.git
|
git clone https://aur.archlinux.org/yay.git
|
||||||
cd yay
|
cd yay && makepkg -si && cd .. && rm -rf yay
|
||||||
makepkg -si
|
|
||||||
cd .. && rm -rf yay
|
|
||||||
|
|
||||||
# Install paru
|
# Install paru
|
||||||
git clone https://aur.archlinux.org/paru.git
|
git clone https://aur.archlinux.org/paru.git
|
||||||
cd paru
|
cd paru && makepkg -si && cd .. && rm -rf paru
|
||||||
makepkg -si
|
|
||||||
cd .. && rm -rf paru
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 1: Install Required Packages
|
### Step 1: Install Required Packages
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install all required packages in one command
|
sudo pacman -S hyprland hyprlock hyprshot wlogout kitty waybar swaybg waypaper wofi nautilus wireplumber pipewire-pulse brightnessctl playerctl adwaita-cursors python-pywal fastfetch
|
||||||
sudo pacman -S hyprland hyprlock hyprshot wlogout kitty waybar swaybg waypaper wofi nautilus wireplumber pipewire-pulse brightnessctl playerctl adwaita-cursors python-pywal
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 2: Install Caelestia Shell (Recommended)
|
### Step 2: Install Caelestia Shell (Recommended)
|
||||||
|
|
||||||
Caelestia is a modern shell with AI features that integrates with the pywal theming system.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install Caelestia via yay
|
yay -S caelestia-shell
|
||||||
yay -S caelestia-shell # caelestia-shell-git is bleeding edge & unstable one
|
|
||||||
|
|
||||||
# Start Caelestia daemon (it will auto-restart when pywal colors change)
|
|
||||||
caelestia shell -d &
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Caelestia runs as a background service and integrates with pywal for dynamic color theming.
|
### Step 3: Clone and Install Config
|
||||||
|
|
||||||
### Step 3: Clone This Repository
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone to a temporary location
|
|
||||||
cd ~/Downloads
|
cd ~/Downloads
|
||||||
git clone https://github.com/duma799/hyprduma-config.git
|
git clone https://github.com/duma799/hyprduma-config.git
|
||||||
cd hyprduma-config
|
cd hyprduma-config
|
||||||
```
|
|
||||||
|
|
||||||
### Step 4: Backup Existing Configs (If Any)
|
# Backup existing configs
|
||||||
|
|
||||||
```bash
|
|
||||||
# Backup existing Hyprland config
|
|
||||||
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/.config/hypr.backup
|
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/.config/hypr.backup
|
||||||
|
|
||||||
# Backup existing waybar config
|
|
||||||
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/.config/waybar.backup
|
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/.config/waybar.backup
|
||||||
|
|
||||||
# Backup existing wlogout config
|
|
||||||
[ -d ~/.config/wlogout ] && mv ~/.config/wlogout ~/.config/wlogout.backup
|
[ -d ~/.config/wlogout ] && mv ~/.config/wlogout ~/.config/wlogout.backup
|
||||||
```
|
|
||||||
|
|
||||||
### Step 5: Install Hyprland Configuration
|
# Install Hyprland config
|
||||||
|
|
||||||
```bash
|
|
||||||
# Create Hypr config directory
|
|
||||||
mkdir -p ~/.config/hypr
|
mkdir -p ~/.config/hypr
|
||||||
|
|
||||||
# Copy main config
|
|
||||||
cp hyprland.conf ~/.config/hypr/
|
cp hyprland.conf ~/.config/hypr/
|
||||||
cp hyprland-colors.conf ~/.config/hypr/
|
cp -r wallpapers ~/.config/hypr/
|
||||||
|
|
||||||
# Create screenshots directory (used by config)
|
|
||||||
mkdir -p ~/Pictures/Screenshots
|
mkdir -p ~/Pictures/Screenshots
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 6: Configure Your Applications
|
### Step 4: Install Scripts
|
||||||
|
|
||||||
**IMPORTANT:** Edit the config file to set your preferred applications.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Open the config file
|
# Copy all scripts
|
||||||
nvim ~/.config/hypr/hyprland.conf
|
cp pywal.sh sync-caelestia-wallpaper.sh waypaper-hook.sh ~/.config/hypr/
|
||||||
|
cp monitor-handler.py ~/.config/hypr/
|
||||||
|
chmod +x ~/.config/hypr/pywal.sh ~/.config/hypr/sync-caelestia-wallpaper.sh ~/.config/hypr/waypaper-hook.sh
|
||||||
|
|
||||||
# Find lines 27-34 and adjust these variables:
|
# Copy pywal.sh to home for convenience
|
||||||
# $terminal = kitty # Your terminal
|
cp pywal.sh ~/pywal.sh && chmod +x ~/pywal.sh
|
||||||
# $fileManager = dolphin # Your file manager
|
|
||||||
# $menu = wofi --show drun # Your app launcher
|
|
||||||
# $telegram = Telegram # Path to Telegram
|
|
||||||
# $spotify = spotify # Path to Spotify
|
|
||||||
# $vscode = code # Path to VSCode
|
|
||||||
# $browser = your-browser # Your browser command
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 7: Install Pywal Integration (Strongly Recommended)
|
### Step 5: Configure Your Applications
|
||||||
|
|
||||||
Pywal provides dynamic color theming based on your wallpaper.
|
Edit `~/.config/hypr/hyprland.conf` and adjust the app variables (lines 28-34):
|
||||||
|
|
||||||
|
```
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = nautilus
|
||||||
|
$menu = wofi --show drun
|
||||||
|
$telegram = Telegram
|
||||||
|
$spotify = spotify
|
||||||
|
$vscode = code
|
||||||
|
$browser = your-browser
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 6: Install Pywal Integration
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install pywal templates (REQUIRED for color generation)
|
# Install pywal templates
|
||||||
mkdir -p ~/.config/wal/templates
|
mkdir -p ~/.config/wal/templates
|
||||||
cp -r wal/templates/* ~/.config/wal/templates/
|
cp -r wal/templates/* ~/.config/wal/templates/
|
||||||
|
|
||||||
# Copy the color application and wallpaper sync scripts
|
# Setup Kitty terminal
|
||||||
cp pywal.sh ~/.config/hypr/
|
|
||||||
cp sync-caelestia-wallpaper.sh ~/.config/hypr/
|
|
||||||
chmod +x ~/.config/hypr/pywal.sh
|
|
||||||
chmod +x ~/.config/hypr/sync-caelestia-wallpaper.sh
|
|
||||||
|
|
||||||
# Also copy to home directory for easier access
|
|
||||||
cp pywal.sh ~/pywal.sh
|
|
||||||
chmod +x ~/pywal.sh
|
|
||||||
|
|
||||||
# Setup Kitty terminal to use pywal colors
|
|
||||||
mkdir -p ~/.config/kitty
|
mkdir -p ~/.config/kitty
|
||||||
cp kitty/kitty.conf ~/.config/kitty/
|
cp kitty/kitty.conf ~/.config/kitty/
|
||||||
|
|
||||||
# Configure bash shell to load pywal colors
|
# Add pywal to bashrc
|
||||||
# Add these lines to your ~/.bashrc if they're not already there:
|
|
||||||
cat >> ~/.bashrc << 'EOF'
|
cat >> ~/.bashrc << 'EOF'
|
||||||
|
|
||||||
# Import pywal colorscheme from cache
|
# Import pywal colorscheme from cache
|
||||||
@@ -174,202 +154,99 @@ cat >> ~/.bashrc << 'EOF'
|
|||||||
source ~/.cache/wal/colors-tty.sh 2>/dev/null
|
source ~/.cache/wal/colors-tty.sh 2>/dev/null
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Generate initial colors from a wallpaper
|
# Generate initial colors
|
||||||
wal -i /path/to/your/wallpaper.png
|
wal -i wallpapers/sakura.jpg && ~/pywal.sh
|
||||||
|
|
||||||
# Or use included wallpaper
|
|
||||||
wal -i wallpapers/sakura.jpg
|
|
||||||
|
|
||||||
# Apply colors to all components
|
|
||||||
~/pywal.sh
|
|
||||||
|
|
||||||
# Reload bash to apply shell colors
|
|
||||||
source ~/.bashrc
|
source ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
**What this does:**
|
### Step 7: Configure Waypaper Hook
|
||||||
- Generates a color scheme from your wallpaper
|
|
||||||
- Applies colors to Hyprland window borders
|
|
||||||
- Applies colors to Caelestia shell (if installed)
|
|
||||||
- Applies colors to Kitty terminals
|
|
||||||
- Applies colors to bash shell
|
|
||||||
- Restarts necessary services to apply changes
|
|
||||||
|
|
||||||
### Step 8: Start Hyprland
|
The waypaper hook automatically applies pywal colors whenever you change wallpaper through the waypaper GUI.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# If you're in a TTY, start Hyprland
|
# Set waypaper-hook.sh as waypaper's post_command
|
||||||
|
mkdir -p ~/.config/waypaper
|
||||||
|
# Add to ~/.config/waypaper/config.ini under [Settings]:
|
||||||
|
# post_command = /home/YOUR_USER/.config/hypr/waypaper-hook.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 8: Install Fastfetch Config (Optional)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp -r fastfetch ~/.config/fastfetch
|
||||||
|
|
||||||
|
# Fix hardcoded paths for your user
|
||||||
|
sed -i "s|/home/duma/|$HOME/|g" ~/.config/fastfetch/config.jsonc
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 9: Start Hyprland
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# From TTY
|
||||||
Hyprland
|
Hyprland
|
||||||
|
|
||||||
# If already in Hyprland, reload the config
|
# Or if already running, reload config
|
||||||
# Press SUPER + SHIFT + R (or restart Hyprland session)
|
# Press SUPER + SHIFT + R
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Post-Installation
|
## Post-Installation
|
||||||
|
|
||||||
### Setting Wallpaper with Pywal
|
### Setting Wallpaper
|
||||||
|
|
||||||
|
**Using waypaper GUI (recommended):**
|
||||||
|
- Press `Super+W` to open waypaper
|
||||||
|
- Select a wallpaper - the **waypaper hook** automatically runs pywal and syncs colors to all components (Hyprland, Caelestia, Kitty, GTK, Firefox)
|
||||||
|
|
||||||
|
**Using command line:**
|
||||||
```bash
|
```bash
|
||||||
# Generate colors and apply them
|
|
||||||
wal -i /path/to/wallpaper.png && ~/pywal.sh
|
wal -i /path/to/wallpaper.png && ~/pywal.sh
|
||||||
|
|
||||||
# Or use the wallpapers included in this repo
|
|
||||||
wal -i ~/.config/hypr/wallpapers/sakura.jpg && ~/pywal.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note about waypaper and Caelestia:**
|
**How wallpaper management works:**
|
||||||
- This config uses **swaybg** as the wallpaper backend (not hyprpaper)
|
- **swaybg** is the wallpaper backend (not hyprpaper)
|
||||||
- Use `waypaper` GUI (Super+W) to select wallpapers
|
- **waypaper** GUI sets the wallpaper and triggers `waypaper-hook.sh` as a post-command
|
||||||
- Waypaper with swaybg backend automatically saves and restores your wallpaper on login
|
- The hook runs pywal, syncs Caelestia colors/wallpaper, reloads Hyprland, and updates GTK/Firefox themes
|
||||||
- **Important**: Caelestia shell has its own wallpaper management that may conflict with waypaper
|
- **sync-caelestia-wallpaper.sh** syncs Caelestia's wallpaper reference with swaybg on startup
|
||||||
- The config includes `sync-caelestia-wallpaper.sh` to automatically sync Caelestia's wallpaper reference with swaybg
|
- **monitor-handler.py** listens for config reloads and restores swaybg/Caelestia if they get killed
|
||||||
- This sync happens automatically on startup and when you open waypaper (Super+W)
|
|
||||||
- For pywal integration, use `wal -i` as shown above, then run the apply script (which also syncs Caelestia)
|
|
||||||
|
|
||||||
### System-Wide Theme Syncing (Dark/Light Mode)
|
### System-Wide Theme Syncing
|
||||||
|
|
||||||
The enhanced `pywal.sh` script now supports system-wide theme synchronization, making browsers, GTK apps, and other applications respect PyWal color scheme and dark/light mode preference.
|
The `pywal.sh` script supports dark/light mode and system-wide theme synchronization (GTK, Firefox, Qt). See **[PYWAL-SETUP.md](PYWAL-SETUP.md)** for the full guide including optional enhancements, light/dark theme switching, and backend options.
|
||||||
|
|
||||||
#### Basic Usage
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Apply dark theme with wallpaper (default)
|
~/pywal.sh ~/Pictures/wallpaper.jpg # Dark theme (default)
|
||||||
~/.config/hypr/pywal.sh ~/Pictures/wallpaper.jpg
|
~/pywal.sh ~/Pictures/wallpaper.jpg light # Light theme
|
||||||
|
~/pywal.sh "" dark # Switch mode, keep wallpaper
|
||||||
# Apply light theme with wallpaper
|
~/pywal.sh # Refresh current theme
|
||||||
~/.config/hypr/pywal.sh ~/Pictures/wallpaper.jpg light
|
|
||||||
|
|
||||||
# Switch to light mode (keep current wallpaper)
|
|
||||||
~/.config/hypr/pywal.sh "" light
|
|
||||||
|
|
||||||
# Switch to dark mode (keep current wallpaper)
|
|
||||||
~/.config/hypr/pywal.sh "" dark
|
|
||||||
|
|
||||||
# Refresh themes (reapply current colors)
|
|
||||||
~/.config/hypr/pywal.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Enhanced System-Wide Support (Optional)
|
|
||||||
|
|
||||||
For full system-wide theming across all applications, install these optional packages:
|
|
||||||
|
|
||||||
**1. GTK Theme Support**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install GTK theme generator
|
|
||||||
yay -S wal-gtk-theme-git
|
|
||||||
|
|
||||||
# The script will automatically generate GTK themes
|
|
||||||
# GTK apps (Nautilus, GNOME apps, etc.) will use PyWal colors
|
|
||||||
```
|
|
||||||
|
|
||||||
**2. Firefox Theme Support**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install pywalfox backend
|
|
||||||
yay -S python-pywalfox
|
|
||||||
pywalfox install
|
|
||||||
|
|
||||||
# Then install the Pywalfox extension from Firefox Add-ons:
|
|
||||||
# https://addons.mozilla.org/en-US/firefox/addon/pywalfox/
|
|
||||||
```
|
|
||||||
|
|
||||||
**3. Qt Application Support (Optional)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install Qt theming tools
|
|
||||||
yay -S qt5ct qt6ct kvantum
|
|
||||||
|
|
||||||
# Set environment variables
|
|
||||||
echo "QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.config/environment.d/qt.conf
|
|
||||||
echo "QT_STYLE_OVERRIDE=kvantum" >> ~/.config/environment.d/qt.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
**4. Create GTK Configuration Files**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Create GTK 3 settings
|
|
||||||
mkdir -p ~/.config/gtk-3.0
|
|
||||||
cat > ~/.config/gtk-3.0/settings.ini << 'EOF'
|
|
||||||
[Settings]
|
|
||||||
gtk-theme-name=FlatColor
|
|
||||||
gtk-icon-theme-name=Papirus-Dark
|
|
||||||
gtk-font-name=Sans 10
|
|
||||||
gtk-cursor-theme-name=Adwaita
|
|
||||||
gtk-cursor-theme-size=24
|
|
||||||
gtk-application-prefer-dark-theme=1
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Create GTK 4 settings (same content)
|
|
||||||
mkdir -p ~/.config/gtk-4.0
|
|
||||||
cp ~/.config/gtk-3.0/settings.ini ~/.config/gtk-4.0/
|
|
||||||
```
|
|
||||||
|
|
||||||
#### What Gets Themed
|
|
||||||
|
|
||||||
Once configured, the following applications will sync with your PyWal colors:
|
|
||||||
|
|
||||||
- **Hyprland**: Window borders and decorations
|
|
||||||
- **Caelestia Shell**: Status bar and UI elements
|
|
||||||
- **Kitty Terminal**: Background, foreground, and color palette
|
|
||||||
- **GTK Applications**: File managers (Nautilus), settings, GNOME apps
|
|
||||||
- **Firefox**: Browser UI via Pywalfox (if installed)
|
|
||||||
- **Chrome/Chromium**: Via system dark mode preference
|
|
||||||
- **Qt Applications**: Via qt5ct/qt6ct (if configured)
|
|
||||||
- **Bash Shell**: Terminal color sequences
|
|
||||||
|
|
||||||
#### Automatic Dark/Light Mode by Time (Optional)
|
|
||||||
|
|
||||||
Create a script to automatically switch themes based on time of day:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Create auto-theme script
|
|
||||||
cat > ~/.local/bin/auto-theme.sh << 'EOF'
|
|
||||||
#!/bin/bash
|
|
||||||
HOUR=$(date +%H)
|
|
||||||
|
|
||||||
if [ $HOUR -ge 18 ] || [ $HOUR -lt 6 ]; then
|
|
||||||
# Dark mode (6 PM to 6 AM)
|
|
||||||
~/.config/hypr/pywal.sh "" dark
|
|
||||||
else
|
|
||||||
# Light mode (6 AM to 6 PM)
|
|
||||||
~/.config/hypr/pywal.sh "" light
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chmod +x ~/.local/bin/auto-theme.sh
|
|
||||||
|
|
||||||
# Add to Hyprland config to run on startup
|
|
||||||
echo "exec-once = ~/.local/bin/auto-theme.sh" >> ~/.config/hypr/hyprland.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
#### How It Works
|
|
||||||
|
|
||||||
The enhanced `pywal.sh` script:
|
|
||||||
1. Generates PyWal colors from wallpaper (or switches theme mode)
|
|
||||||
2. Creates GTK themes via `wal-gtk` (if installed)
|
|
||||||
3. Sets system-wide dark/light preference via `gsettings`
|
|
||||||
4. Updates Firefox theme via `pywalfox` (if installed)
|
|
||||||
5. Reloads Hyprland, Caelestia, and Kitty with new colors
|
|
||||||
6. Automatically detects if theme is light or dark based on background brightness
|
|
||||||
|
|
||||||
### Monitor Configuration
|
### Monitor Configuration
|
||||||
|
|
||||||
If you have different monitors, adjust lines 4-18 in `~/.config/hypr/hyprland.conf`:
|
The default config uses auto-detection which works with any monitor setup:
|
||||||
|
|
||||||
|
```
|
||||||
|
monitor = , preferred, auto, 1
|
||||||
|
```
|
||||||
|
|
||||||
|
To customize for specific monitors, edit `~/.config/hypr/hyprland.conf` (line 4):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nvim ~/.config/hypr/hyprland.conf
|
# Example: dual monitor with specific resolution
|
||||||
|
monitor = eDP-1, 1920x1080@144, 1920x0, 1
|
||||||
# Edit monitor configuration:
|
monitor = HDMI-A-1, 1920x1080@144, 0x0, 1, transform, 2
|
||||||
# monitor = eDP-1, 1920x1080@144, 1920x0, 1
|
|
||||||
# monitor = HDMI-A-1, 1920x1080@144, 0x0, 1, transform, 2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Workspace assignment (lines 7-17) distributes workspaces 1-4 to the external monitor and 5-10 to the laptop screen.
|
||||||
|
|
||||||
|
### Monitor Handler
|
||||||
|
|
||||||
|
The `monitor-handler.py` script runs in the background and listens for Hyprland config reloads. When a reload is detected, it checks if swaybg and Caelestia are still running, and restarts them if needed. This prevents losing your wallpaper or shell after editing the config.
|
||||||
|
|
||||||
### Keyboard Layout
|
### Keyboard Layout
|
||||||
|
|
||||||
Default is US/RU with ALT+SHIFT toggle. To change, edit `~/.config/hypr/hyprland.conf` line 42:
|
Default is US/RU with ALT+SHIFT toggle. To change, edit the input section in `~/.config/hypr/hyprland.conf`:
|
||||||
|
|
||||||
```
|
```
|
||||||
kb_layout = us, ru # Change to your layouts
|
kb_layout = us, ru # Change to your layouts
|
||||||
@@ -377,6 +254,25 @@ kb_layout = us, ru # Change to your layouts
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
hyprduma-config/
|
||||||
|
├── hyprland.conf # Main Hyprland configuration
|
||||||
|
├── pywal.sh # Apply pywal colors to all components
|
||||||
|
├── waypaper-hook.sh # Auto-apply colors on wallpaper change
|
||||||
|
├── sync-caelestia-wallpaper.sh # Sync swaybg wallpaper to Caelestia
|
||||||
|
├── monitor-handler.py # Restart wallpaper/shell after config reload
|
||||||
|
├── install.py # Interactive auto-installer
|
||||||
|
├── install.sh # Curl one-liner bootstrap script
|
||||||
|
├── wallpapers/ # Included wallpapers
|
||||||
|
├── wal/templates/ # Pywal templates for Hyprland & Caelestia
|
||||||
|
├── kitty/kitty.conf # Kitty terminal config with pywal support
|
||||||
|
├── fastfetch/ # Custom fastfetch config with ASCII art
|
||||||
|
├── KEYBINDS.md # Complete keybindings reference
|
||||||
|
└── PYWAL-SETUP.md # Detailed pywal integration guide
|
||||||
|
```
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
- **[KEYBINDS.md](KEYBINDS.md)** - Complete keybindings reference
|
||||||
@@ -391,7 +287,7 @@ kb_layout = us, ru # Change to your layouts
|
|||||||
- Review error logs: `journalctl -b | grep hyprland`
|
- Review error logs: `journalctl -b | grep hyprland`
|
||||||
|
|
||||||
### Applications don't launch
|
### Applications don't launch
|
||||||
- Make sure you edited the app variables in `hyprland.conf` (lines 27-34)
|
- Make sure you edited the app variables in `hyprland.conf` (lines 28-34)
|
||||||
- Check if the applications are actually installed
|
- Check if the applications are actually installed
|
||||||
|
|
||||||
### Pywal colors not applying
|
### Pywal colors not applying
|
||||||
@@ -465,13 +361,26 @@ kb_layout = us, ru # Change to your layouts
|
|||||||
pkill caelestia && sleep 0.5 && caelestia shell -d &
|
pkill caelestia && sleep 0.5 && caelestia shell -d &
|
||||||
```
|
```
|
||||||
|
|
||||||
### Wallpaper not showing on startup
|
### Wallpaper not showing after config reload
|
||||||
|
The monitor handler should restore it automatically. If not:
|
||||||
```bash
|
```bash
|
||||||
# Restore wallpaper with waypaper
|
# Check if monitor-handler is running
|
||||||
waypaper restore
|
pgrep -f monitor-handler.py
|
||||||
|
|
||||||
# Manually restart swaybg if needed
|
# Restart it if needed
|
||||||
pkill swaybg && swaybg &
|
python3 ~/.config/hypr/monitor-handler.py &
|
||||||
|
|
||||||
|
# Or manually restore
|
||||||
|
waypaper --restore
|
||||||
|
```
|
||||||
|
|
||||||
|
### Waypaper hook not applying colors
|
||||||
|
```bash
|
||||||
|
# Check if hook is registered
|
||||||
|
grep post_command ~/.config/waypaper/config.ini
|
||||||
|
|
||||||
|
# Check hook logs
|
||||||
|
cat /tmp/waypaper-hook.log
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user