/relight

The no-compromises launcher for Linux.

Primary LanguageShell

๐Ÿฎ ReLight

The no-compromises launcher for Linux.

ReLight

Rofi was the first glow-up to the classic launchers/menus like dmenu. ReLight is that light to rofi - standing on the shoulders of the giants.

Relight comes from the drive and passion to innovate, and not from discontent but rather from a perspective of relentlessness.

Look beyond what you see. - Rafiki, The Lion King

Table of contents

๐ŸŽ‰ Features

๐Ÿšง WIP

Getting Started

๐Ÿ’ป Compatibility

Platform Status
Linux โœ…
macOS โŒ
Windows โŒ

*Compatibility on Windows is WIP ๐Ÿšง

โšก๏ธ Prerequisites

General requirments:

Extension specific requirments:

Checkout the requirments for each extension from here

๐Ÿ“ฆ Installation

๐Ÿš€ Quickstart (Recommended)

This is the easiest and the recommended method of installation. This script, by default, installs ReLight to your home directory. You can also install to a custom directory; described in detail in the manaul installation section.

Execute install script:

curl -fsSL https://raw.github.com/wasituf/relight/install.sh | sh

If you don't have curl installed, you can install it with sudo apt install curl (Ubuntu/Debian), or download from official download page.

Note that this command installs ReLight from it's official GitHub repository.

๐Ÿ’ช Manual Installation

The manual method consists of first, downloading this repository to your system, and then adding the a symlink to the launch script in /usr/local/bin

  1. Download the repository, either using git:
git clone https://github.com/wasituf/relight

or, download zip from GitHub.

It is important to note that the location where you clone/download the repository is it's install location as well. ReLight doesn't have to installed beyond that as was made using static bash/sh files

  1. Change to the relight directory and create a symlink to /usr/local/bin:
# From the relight directory
sudo ln -s "./launch" "/usr/local/bin/relight"
  1. Test your installation by running ReLight from your terminal:
relight

If this throws an error or doesn't open relight, check out the Troubleshoot section to see potential solutions.

๐Ÿ› ๏ธ Configuration

๐Ÿงช Rofi Configuration

ReLight does'nt rely on your Rofi configuration to function. This means you can keep your rofi config just how you like it. ReLight instead embeds all its rofi configuration in it's code.

The next few sections are about optional settings for Rofi that might make your life easier.

Vim Bindings in Rofi

If you want vim bindings in Rofi, the configuration below is a good starting point.

configuration {
	/* I don't have anything setup for completion (unset Control+l) */
	kb-mode-complete: "";

    /* Unset Control+j */
    kb-accept-entry: "Control+m,Return,KP_Enter";

	/* I don't anything setup for this either (unset Control+k) */
    kb-remove-to-eol: "";

    /* Unset Control+h
    kb-remove-char-back: "BackSpace,Shift+BackSpace";

	# These vim bindings to easily move around
    kb-row-up: "Up,Control+k";
    kb-row-down: "Down,Control+j";
    kb-row-right: "Control+l";
    kb-row-left: "Control+h";
}

*These bindings are for the default vim motions in the QWERTY layout.

Font

For the best experience using ReLight, a Nerd Font is recommended. A font size of 10-12 is recommended (depending on the font). You can set your preferred font in Rofi like this:

configuration {
...
font: "JetBrainsMono Nerd Font 11";
...
}

๐ŸŽจ ReLight Configuration

ReLight can be configured using the relightconf file located at $HOME/.config/relight/ directory. If you installed ReLight via the quickstart method, this file should be created for you along with some sane defaults.

If you installed ReLight manually, you have to create a relightconf file at $HOME/.config/relight/ directory.

For examples of fully configured relightconf, check out - Examples.

*The configurations below assume that you are in the relightconf file.

Add/Remove Extensions

You can choose which extensions are visible using:

...
[extensions]
calc
emoji
silicon
tldr
...

For a full list of available extensions, check out - Extensions.

Themes

*Themes support is coming soon.

# Potential implementation
# [theme]
# theme-name
# theme-option1
# theme-option2

๐Ÿ”Œ Extensions

Available Extensions

This is an exhaustive list of all available extensions in ReLight. Be aware that each extension can have it's own requirments, so check the prerequisites section for each extension before enabling them.

โœ… - Works as Expected.
โš ๏ธ - Some features don't work.
โ›” - Does not work.

Extension Description State
Calc qalculate's qalc based natural language calculator โœ…
Bitwarden bitwarden password database โœ…
Emoji rofimoji based emoji picker โœ…
Httpie cli based api testing โ›”
Silicon rust based img2code generation โš ๏ธ
Tldr tldr pages, alternative to man โœ…

Below are the required configurations for each extension.

Calc ๐Ÿ’ฑ

Install the calc package.


Bitwarden ๐Ÿ”’
  1. Install the following packages:
  1. Create a Bitwarden account. You can skip this step if you already have one.

  2. From the terminal run rbw config set pinentry "gtk2".

  3. To login to your Bitwarden account, run:

# replace <your-email-address> with your bitwarden email address
rbw config set email <your-email-address>

# enter your bitwarden password when prompted
rbw login
If you have a custom bitwarden server
# replace <server-url> with you're custom bitwarden server's URL
rbw config set base_url <server-url>

You might need to run rbw login or rbw sync if periodically if you run into problems.


Emoji ๐Ÿคฏ
  1. Install the rofimoji package.

  2. Create a rofimoji.rc file at $HOME/.config/

*This will likely be configurable through relightconf in the future!

  1. In the rofimoji.rc file, add:
files = [emojis, nerd_font, fontawesome6]
no-frecency = True
hidden-descriptions = True
prompt = ''

You can add any files you like from rofimoji data. Just add it's name to the files list. You can also configure other rofimoji settings from here, but I strongly suggest keeping the above config in your file.


Httpie ๐Ÿ“ก

๐Ÿšง WIP

Uses the httpie cli.


Silicon ๐Ÿ–จ๏ธ

Install the silicon package and it's dependencies

ReLight does not change the dafault style of silicon outputs as multples of arguments can cause error. If you want to style you're silicon outputs, check out silicon configuration


Tldr ๐Ÿ“–

Make sure you are able to use xdg-open. To test it out, from a terminal window, run:

xdg-open https://github.com/wasituf/relight

This should open the official ReLight GitHub page in your default browser.


๐Ÿšฆ Troubleshoot

*Nothing to see here yet. ๐Ÿ™ˆ

๐Ÿ“‘-FAQ

*Nothing to see here yet. ๐Ÿ™ˆ