Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arxari/shofi
Wofi/Rofi but it's in Shell
https://github.com/arxari/shofi
Last synced: about 1 month ago
JSON representation
Wofi/Rofi but it's in Shell
- Host: GitHub
- URL: https://github.com/arxari/shofi
- Owner: Arxari
- License: gpl-3.0
- Created: 2024-08-25T13:05:38.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-27T18:04:36.000Z (4 months ago)
- Last Synced: 2024-08-27T19:56:51.050Z (4 months ago)
- Language: Shell
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shofi
Wofi/Rofi but it's in Shell#### Features!
- Runs in your terminal, no need for GUIs
- Customizable app menus/lists
- Supports both Wayland and X11*
- Configuration and cache files respect XDG Base Directory Specifications
###### *as long as your terminal does#### Example config
###### (~/.config/shofi/menus.conf by default)
```
[Apps]
[Apps]
Zen-browser=zen-browser
Zed=zeditor
Terminal=alacritty[Utils]
Convert-images=flatpak run io.gitlab.adhami3310.Converter
Dither-images=flatpak run halftone io.github.tfuxu.Halftone
```
Currently the menus work by just executing the thing behind =, this means that for pacman/aur apps you need to use the same name you'd use to execute it from the terminal and for flatpak apps you need to use flatpak run###### I won't support snaps in the script, if you want snap support you need to edit the script yourself locally to add support (I won't accept PRs adding snap support)
How to install
- Git clone the repo
```git clone https://github.com/Arxari/Shofi.git```
- Make the shell script executable
```chmod +x location/to/your/shofi.sh```
- If you want to make your life easy it, add it to your .bashrc/.zshrc
```alias shofi='location/to/your/shofi.sh```Do you want to use shofi as a popup window?
If you are using Hyprland, you can setup your Hyprland.conf like this:
```
# Shofi
windowrulev2 = float, class:kitty, title:^(shofi)$ # Makes the window float
windowrulev2 = size 600 600, class:kitty, title:^(shofi)$ # Set fixed width (600) and fixed height (600)
bind = $mainMod, L, exec, kitty --title shofi -e zsh -c "location/to/your/shofi.sh; exec zsh"
```
If you've used ezsh to set up the script, you can just just ```shofi``` instead of ```location/to/your/shofi.sh```
Make sure to change ```kitty``` to whatever terminal you want to use (note, cool-retro-term does not work with the --title command)