Skip to content

ChristianAlessandri/switchblade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Switchblade 🗡️

A Swiss Army Knife menu for Rofi (App launcher, Wallpaper, Package manager, System Cleanup and much more).

Screenshot

Features

  • App Launcher: Cached for speed.
  • Wallpaper Manager: Selects, applies via matugen and updates SDDM theme.
  • Package Manager: Unified search/install/remove for Pacman, Yay, and Flatpak.
  • Automated System Cleanup: One-click maintenance script that removes orphan packages (pacman/yay), clears package caches, vacuums system logs (journald), and empties the Trash/Thumbnails to free up disk space.
  • Reload UI: Instantly reload SwayNC and Waybar configurations without restarting the session.

Requirements

Before using, ensure you have these installed:

Required

  • libnotify (for system notifications)
  • matugen (for color generation)
  • polkit (required for SDDM permission escalation)
  • rofi
  • yay

Optional

Installation

  1. Clone the repo:

    git clone https://github.com/ChristianAlessandri/switchblade.git ~/switchblade
  2. Make it executable:

    chmod +x ~/switchblade/switchblade.sh ~/switchblade/scripts/*.sh

Configuration

1. Script Variables

Open switchblade.sh and edit the top variables to match your system:

WALL_DIR="$HOME/Pictures/Wallpapers"      # Your wallpaper folder
SDDM_THEME_DIR="/usr/share/sddm/themes/..." # Your SDDM theme path

2. Theme Integration (Matugen)

To enable dynamic theming for apps (Waybar, Kitty, etc.) and SDDM, you need to configure Matugen. 👉 Please read the Matugen Setup Guide.

It explains how to:

  • Copy the config files.
  • Set up the sudoers permission for the login screen.
  • Configure your SDDM theme to use the dynamic wallpaper.

Usage

Add this to your hyprland.conf:

  1. Open the menu:

    bind = $mainMod, TAB, exec, /home/$USER/switchblade/switchblade.sh
  2. Fast UI Reload

    Bypass the menu to instantly reload Waybar and SwayNC:

    bind = $mainMod, R, exec, ~/switchblade/switchblade.sh --reload

Notes ⚠️

  • Cleanup Safety: The cleanup script runs in non-interactive mode (--noconfirm) for a seamless experience. It is designed to be safe, but please review scripts/clean.sh if you want to customize the aggressive cache cleaning.
  • Wallpapers: Ensure all backgrounds are in .jpg format for SDDM compatibility.

License

This project is distributed under the GNU GPLv3 license.

Copyright (C) 2026 Christian Alessandri.

See the LICENSE file for details.

About

A Swiss Army Knife menu for Rofi (App launcher, Wallpaper, Package manager, System Cleanup and much more).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages