#desktop #entries #rofi #menu #launcher #themes #requires

yanked rofi-games

A small program which makes a rofi game launcher menu possible by creating .desktop entries for games

0.0.2 May 1, 2023

#16 in #rofi

Custom license

16KB
285 lines

rofi-games

A small program which makes a rofi game launcher menu possible by creating .desktop entries for games

demo_image

Installation

Manual

  1. Clone repo:

    git clone https://github.com/Rolv-Apneseth/rofi-games.git
    
  2. Use make to install (requires cargo)

    cd rofi-games && make install
    

Uninstall with make uninstall

Usage

After installing, simply run rofi-games sync to generate .desktop files at $XDG_DATA_HOME/applications/rofi_games

To display a menu with these using rofi, use the following command:

rofi -show drun -drun-categories RofiGames -show-icons

These can be combined for an easy one-liner to run with a keybind:

rofi-games sync && rofi -show drun -drun-categories RofiGames -show-icons

Commands

  • sync: Sync desktop entries by deleting any entries which don't match any currently detected game, then creating desktop entries for any detected games which don't have a matching desktop entry. This is what I would recommend as the default way to run this program

  • reset: Reset desktop entries by completely deleting the current desktop entries folder this program creates, then re-generating desktop entries for all detected games

  • delete: Simply deletes the desktop entries folder created by this program

Theme

For the optimal experience, and to achieve what is shown in the demo image, use a good rofi theme.

The theme used in the demo image can be found in my dotfiles here. To use it, follow these steps:

  1. Clone that repo and take the .rasi files (or just copy the contents of the files). The relevant files are colours.rasi, launcher.rasi and games.rasi

  2. Put these with your rofi config, usually at ~/.config/rofi

  3. Run rofi with -theme games, so the full command becomes:

    rofi-games sync && rofi -show drun -drun-categories RofiGames -theme games
    
  4. Modify config files to suit your needs / preferences

Todo

  • Add install methods (crate and possibly AUR)
  • Support more than just Steam games (depends how difficult this is to implement)

Credits

The original idea belongs (as far as I know) to @ntcarlson, so big thanks to them. The original script I used to use for this is from this Reddit post they shared.

However, I had modified it as I didn't like that sub menu for each game, and the script didn't work to update entries sometimes (as well as it didn't remove old entries for games I no longer had installed), so eventually I decided to have a go at making a Rust program out of it.

Dependencies

~5–15MB
~198K SLoC