What is pawlette?
What is it?
Section titled “What is it?”Pawlette is a universal theme manager for Meowrch that uses an innovative Git-based theme management system. Each theme is a separate branch, ensuring the safety of your settings and complete change history.
🌟 Key Features
Section titled “🌟 Key Features”- Data safety — impossible to lose user settings when switching themes
- Modular architecture — only relevant configuration files are changed
- Git-based versioning — complete change history for each theme
- Patch system — partial configuration modifications
- XDG compatibility — full standards support
🚀 Installation and Setup
Section titled “🚀 Installation and Setup”-
Install Pawlette
Install the package from AUR:
yay -S pawletteor
paru -S pawlette -
Generate configuration
Create basic configuration:
pawlette generate-config -
View available themes
Check out the list of available themes from the remote store:
pawlette get-store-themes -
Install theme
Install the desired theme:
pawlette install-theme catppuccin-mocha -
Apply theme
Activate the installed theme:
pawlette apply catppuccin-mocha
🎛 Theme Management
Section titled “🎛 Theme Management”Basic Commands
Section titled “Basic Commands”| Command | Description |
|---|---|
pawlette get-themes | List installed themes |
pawlette set-theme <name> or pawlette apply <name> | Apply theme |
pawlette current-theme | Show active theme |
pawlette status | Show status and changes |
pawlette restore | Restore original appearance |
pawlette reset-theme <name> | Reset theme to clean state |
Installing, Updating and Removing Themes
Section titled “Installing, Updating and Removing Themes”| Command | Description |
|---|---|
pawlette get-store-themes | JSON with all available themes from the remote store |
pawlette get-themes-info | JSON with installed themes information |
pawlette install-theme <name/url/path> | Install theme |
pawlette update-theme <name> | Update theme |
pawlette update-all-themes | Update all themes |
pawlette uninstall-theme <name> | Delete topic (local files and cache) |
Creating Custom Themes
Section titled “Creating Custom Themes”Detailed documentation on creating custom themes in Pawlette is available here.
Working with Versions (Git)
Section titled “Working with Versions (Git)”| Command | Description |
|---|---|
pawlette history [theme] [--limit N] | Commit history (shows 10 by default) |
pawlette user-changes [theme] | User changes |
pawlette restore-commit <hash> [theme] | Restore commit |
🔄 Git-based Version Management
Section titled “🔄 Git-based Version Management”Pawlette automatically creates an internal Git repository to track changes:
Checking Status
Section titled “Checking Status”pawlette status# ➤ Current theme: catppuccin-mocha# ⚠️ You have 3 uncommitted changes# Modified files:# - kitty/kitty.conf# - waybar/config.json# - hypr/hyprland.confViewing History
Section titled “Viewing History”pawlette history# 📜 History for theme: catppuccin-mocha# 👤 a1b2c3d Personal font settings [USER]# 🔧 e4f5g6h Waybar configuration update# 🔧 h7i8j9k Initial theme application
# Limit number of commitspawlette history --limit 5Working with User Changes
Section titled “Working with User Changes”# See which files are modifiedpawlette user-changes# 🔍 User changes for theme: catppuccin-mocha# Found 2 modified files:# 📝 kitty/kitty.conf# 📝 waybar/style.css
# Restore specific commitpawlette restore-commit a1b2c3d# ✅ Successfully restored commit a1b2c3d for theme catppuccin-mocha🛠️ Direct Git Repository Access
Section titled “🛠️ Direct Git Repository Access”Pawlette stores all theme information in a Git repository located at ~/.local/state/pawlette/config_state.git.
Connecting to the Git Repository
Section titled “Connecting to the Git Repository”# Navigate to config directorycd ~/.config
# Use Git with our repositoryset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# Now you can execute any Git commandsgit statusgit loggit diffUseful Commands
Section titled “Useful Commands”View All Branches (Themes)
Section titled “View All Branches (Themes)”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.gitgit branch --all
# Output:# * catppuccin-mocha# catppuccin-latte# catppuccin-mocha-v1.3.1-backup-20251024-165427# mainView Complete Diff of Your Changes
Section titled “View Complete Diff of Your Changes”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# View all uncommitted changes in current themegit diff
# View staged changesgit diff --cached
# View changes relative to last theme commitgit diff HEAD
# Save diff to filegit diff > my-changes.patchView Detailed History
Section titled “View Detailed History”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# Detailed history with filesgit log --stat
# History with full diffgit log -p
# History of specific filegit log -- kitty/kitty.conf
# Beautiful commit treegit log --graph --oneline --allCompare Branches (Themes)
Section titled “Compare Branches (Themes)”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# Compare two themesgit diff catppuccin-mocha..catppuccin-latte
# See which files differgit diff --name-only catppuccin-mocha..catppuccin-latte🗂️ Theme Backup Management
Section titled “🗂️ Theme Backup Management”When updating a theme, Pawlette automatically creates a backup of the old version.
Viewing Backups
Section titled “Viewing Backups”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# List all backupsgit branch --list '*-backup-*'
# Output:# catppuccin-mocha-v1.3.1-backup-20251024-165427# catppuccin-mocha-v1.2.0-backup-20251020-120000Restoring Changes from Backup
Section titled “Restoring Changes from Backup”Method 1: Switch to Backup
# Apply backup as a regular themepawlette apply catppuccin-mocha-v1.3.1-backup-20251024-165427Method 2: Copy Changes via Cherry-pick
cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# View commits in backupgit log catppuccin-mocha-v1.3.1-backup-20251024-165427
# Copy needed commit to current branchgit cherry-pick <commit-hash>Method 3: Create Patch File
cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# Export all changes from backupgit diff main..catppuccin-mocha-v1.3.1-backup-20251024-165427 > my-customizations.patch
# Apply patch to current themegit apply my-customizations.patchDeleting Old Backups
Section titled “Deleting Old Backups”cd ~/.configset -gx GIT_DIR ~/.local/state/pawlette/config_state.git
# Delete specific backupgit branch -D catppuccin-mocha-v1.2.0-backup-20251020-120000
# Delete all old backups (keep last 3)# You can use a script or do it manuallygit branch --list '*-backup-*' | sort -r | tail -n +4 | xargs -r git branch -D🔗 Automatic Symlink Creation
Section titled “🔗 Automatic Symlink Creation”When applying a theme, Pawlette automatically creates symbolic links:
Debugging Issues
Section titled “Debugging Issues”- For theme application issues, use
pawlette restore - To reset a theme to its original state:
pawlette reset-theme <name> - Check logs and status after each change
- Use
pawlette user-changesto view your modifications
Compatibility
Section titled “Compatibility”The Pawlette system makes customizing meowrch simple and safe, allowing you to easily experiment with the system’s appearance without risk of losing important settings.