# rofi-scripts The scripts behind the rofi menus on my Hyprland desktop: power menu, app launcher, screenshot picker, SSH host cards, password store, emoji picker, Firefox profile picker, notification actions and a Stable Diffusion model picker. They are styled by the layouts from [unified-desktop-theme](https://git.danix.xyz/unified-desktop-theme/), which must be installed for them to look right. ## Requirements - rofi 2.0 - unified-desktop-theme's rofi layouts in `~/.config/rofi/udt/` - a Nerd Font (Inconsolata Nerd Font Mono) for the menu glyphs - per menu: `pass` (rofipass), `grimblast` (screenshots), `notifyctl` (notification actions), `pcmanfm-qt` (launcher folders), `sd-server` (sd-webui), `hyprctl`, `jq` ## Install ./install.sh Symlinks every script in `bin/` into `~/bin/` (which must be on `PATH`), replacing any file of the same name. Bind them to keys in your window manager. ## Scripts | Script | What it opens | | --- | --- | | `udt-powermenu.sh` | shutdown, reboot, sleep, logout, with a confirmation step | | `udt-launcher.sh` | fullscreen launcher: Apps, Run and Folders tabs, icons with names below | | `udt-folders` | the launcher's Folders tab: home and bookmarked folders, opened in pcmanfm-qt | | `qar-scrotmenu.sh` | whole screen or area screenshot | | `blackpearl-sshmenu.sh` | hosts from `~/.ssh/config` as cards, opens `ssh` in a terminal | | `rofipass` | password store browser: copy, add, edit, delete, OTP | | `blackpearl-emoji.sh` | emoji picker | | `firefox-profile` | Firefox profile picker, one profile behind a password | | `notify-actions.sh` | pick one of a notification's actions | | `sd-webui` | pick a Stable Diffusion model, start sd-server, open its web UI | ## License Copyright (C) 2026 Danilo M. GPLv2 only. See [LICENSE](LICENSE) for the full text. Exceptions, noted in each file: `rofipass` derives from [aocoronel/rofipass](https://github.com/aocoronel/rofipass) (MIT), and `udt-powermenu.sh` derives from [adi1090x/rofi](https://github.com/adi1090x/rofi) (GPL-3.0). ## Development Approach This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback. All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions. The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.