rofi/README.md
Aditya Shakya ec0a1678aa
Merge pull request #34 from scollado/feature-brightnessctl
Add support for `brightnessctl` for blacklight control
2021-09-01 01:16:52 +05:30

24 KiB

undefined undefined undefined undefined undefined

A large collection of Rofi based custom Menu, Applets, Launchers & Powermenus.

Applets Menu Android
img img img
Powermenu Colorful Misc
img img img
Ribbon Text Slate
img img img

What is Rofi?

Rofi is A window switcher, Application launcher and dmenu replacement. Rofi started as a clone of simpleswitcher and It has been extended with extra features, like an application launcher and ssh-launcher, and can act as a drop-in dmenu replacement, making it a very versatile tool. Rofi, like dmenu, will provide the user with a textual list of options where one or more can be selected. This can either be running an application, selecting a window, or options provided by an external script. More here...

Installation

Everything here is created on Rofi version : 1.7.0

  • First, Make sure you have the same (stable) version of rofi installed.
    • On Arch / Arch-based : pacman -S rofi
    • On Debian / Ubuntu : apt-get install rofi
    • On Fedora : dnf install rofi
  • Then, Clone this repository -
$ git clone --depth=1 https://github.com/adi1090x/rofi.git
  • Change to cloned directory and make setup.sh executable -
$ cd rofi
$ chmod +x setup.sh
  • Run setup.sh and select your screen resolution -
$ ./setup.sh

[*] Installing Rofi Themes...

[*] Choose your screen resolution -
[1] 1920x1080
[2] 1366x768

[?] Select Option : 1

[*] Installing fonts...
[*] Creating a backup of your rofi configs...
[*] Successfully Installed.
  • That's it, These themes are now installed on your system.

Note

: These themes are like an ecosystem, everything here is connected with each other in some way. So... before modifying anything by your own, make sure you know what you doing.

Applets & Menus

Applets Description Supported / Required Applications
Apps Shortcuts for most used applications. termite/urxvt/kitty/xterm, thunar/pcmanfm, geany/leafpad/mousepad/code, firefox/chromium/midori, etc
Backlight Display and adjust screen brightness. brightnessctl, blight and xbacklight
Battery Display battery percentage & charging-discharging status with dynamic icons. acpi and xfce4-power-manager-settings
MPD Control the song play through mpd. mpd, mpc and dunst
Network Display Online-Offline status with dynamic icons. dnsutils, nmcli, nmtui, bmon, nm-connection-editor and termite
Powermenu A classic power menu, with Uptime. systemd, i3lock/betterlockscreen etc
Quicklinks Bookmarks shortcuts for most used sites. firefox or chromium or midori
Screenshot Take screenshots using scrot. scrot and viewnior
Time Display Time, Day & Date. date
Volume Display and control volume with dynamic icons with mute status. amixer and dunst

To use your programs, You can edit each script located inside following directories :

$HOME/.config/rofi/applets/applets
$HOME/.config/rofi/applets/menu
$HOME/.config/rofi/applets/android

Applets

Few useful applets that can be used with status bars like polybar, lemonbar etc. See usage

img

Change Colors : Edit $HOME/.config/rofi/applets/styles/colors.rasi to change the color-scheme.

@import "dark.rasi"

Change Style : Edit $HOME/.config/rofi/applets/applets/style.sh to change the style.

style="square"

You can enable random styles as well.

Previews
Apps Quick Links
img img
MPD Powermenu
img img
Network Time
img img
Brightness Battery
img img
Screenshot Volume
img img
Styles
Square Circle Rounded
img img img

Menu

Few useful menu that can be used with window manager keybindings. See usage

img

Change Colors : Edit $HOME/.config/rofi/applets/styles/colors.rasi to change the color-scheme.

@import "dark.rasi"

Change Style : Edit $HOME/.config/rofi/applets/menu/style.sh to change the style.

style="square"

You can enable random styles as well.

Previews
Apps Quick Links
img img
MPD Powermenu
img img
Network Time
img img
Brightness Battery
img img
Screenshot Volume
img img
Styles
Square Circle Rounded
img img img
Color Schemes
Popular Material Dark Material Light
img img img

Android

Android style applets that can be used as shortcuts and quick action. See usage

img

Change Colors : Edit $HOME/.config/rofi/applets/android/colors.rasi to change the color-scheme.

@import "../styles/arc.rasi"
Color Schemes

img

Application Launchers

Colorful

A collection of launchers with random colors and styles.

img

Change Colors and Style : Edit $HOME/.config/rofi/launchers/colorful/launcher.sh to change the colors and style. To use light mode, uncomment the light colors. If you want to use a single accent color, assign ACCENT variable a single color code.

theme="style_1"

Make sure you disable the random mode in the same script before using a single style.

Previews
Style_1 Style_2 Style_3 Style_4
img img img img
Style_5 Style_6 Style_7 Style_8
img img img img
Style_9 Style_10 Style_11 Style_12
img img img img

Misc

A collection of launchers inspired by popular launcher applications from different platforms.

img

Change Colors : Edit the respective style's .rasi file to change the colors in $HOME/.config/rofi/launchers/misc

Change Style : Edit $HOME/.config/rofi/launchers/misc/launcher.sh to change the style.

theme="screen"

Make sure you disable the random mode in the same script before using a single style.

Previews
Blurry Launchpad
gif gif
SimpleMenu Light SimpleMenu Dark Krunner Light Krunner Dark
gif gif gif gif
Slingshot Light Slingshot Dark
gif gif
AppDrawer Light AppDrawer Dark AppDrawer Alt Light AppDrawer Alt Dark
gif gif gif gif
AppFolder Light AppFolder Dark
gif gif
Column Light Column Dark Row Light Row Dark
gif gif gif gif
RowCenter Light RowCenter Dark
gif gif
RowDock Light RowDock Dark RowDropdown Light RowDropdown Dark
gif gif gif gif
Screen Light Screen Dark
gif gif
GnomeDo Classic GnomeDo Light GnomeDo Dark GnomeDo Black
gif gif gif gif

Text

A collection of text-only launchers for minimal desktop setups.

img

Change Colors : Edit $HOME/.config/rofi/launchers/text/styles/colors.rasi to change the colors.

@import "gotham.rasi"

Change Style : Edit $HOME/.config/rofi/launchers/text/launcher.sh to change the style.

theme="style_2"

Make sure you disable the random mode in the same script before using a single style.

Previews
Style_1 Style_2
img img
Style_3 Style_4
img img
Style_5 Style_6
img img
Colors

img

Ribbon

A collection of launchers for fancy desktop setups.

img

Change Colors : Edit $HOME/.config/rofi/launchers/ribbon/styles/colors.rasi to change the colors.

@import "bluish.rasi"

Change Style : Edit $HOME/.config/rofi/launchers/ribbon/launcher.sh to change the style.

theme="ribbon_top_round"

Make sure you disable the random mode in the same script before using a single style.

Previews
Ribbon Top Ribbon Top Round
img img
Ribbon Bottom Ribbon Bottom Round
img img
Full Bottom Full Top Full Left Full Right
img img img img
Ribbon Left Ribbon Left Round
img img
Ribbon Right Ribbon Right Round
img img
Colors

img

Slate

A collection of launchers for solid color wallpaers.

img

Change Colors : Edit $HOME/.config/rofi/launchers/slate/styles/colors.rasi to change the colors.

@import "Black.rasi"

Change Style : Edit $HOME/.config/rofi/launchers/slate/launcher.sh to change the style.

theme="slate_full"

Make sure you disable the random mode in the same script before using a single style.

Colors
Dark Light
img img

Powermenu

A collection of powermenu with different styles and colors.

img

Change Colors : Edit $HOME/.config/rofi/powermenu/styles/colors.rasi to change the colors.

@import "nightly.rasi"

Change Style : Edit $HOME/.config/rofi/powermenu/powermenu.sh to change the style.

theme="full_circle"

Make sure you disable the random mode in the same script before using a single style.

Previews
Fullscreen Row
img img
Dock Dropdown
img img
Card Column
img img
Colors

img

Tips

Simple way to execute scripts

There's a $HOME/.config/rofi/bin directory, which contains links to each script. you can execute these links to open any applet, menu, launcher or powermenu.

You can add $HOME/.config/rofi/bin directory to your $PATH variable so that entering powermenu in the terminal (or executing this command) will summon the Powermenu. you can do it by -

  • In bash
# Add directory to the $PATH variable
echo "PATH=$PATH:~/.config/rofi/bin" >> ~/.profile
  • In zsh (oh-my-zsh)
# Edit .zshrc and add this line
export PATH=$HOME/.config/rofi/bin:$PATH

Note: after doing this, your $PATH variable won't be updated, so you will need to log out and then back in to be able to summon the menus this way.

Usage

With polybar

An example to use these applets with polybar by adding modules and giving full paths of selected applet, eg: ~/.config/rofi/applets/menu/backlight.sh or simply name, eg: applet_backlight if you followed the method above -

[module/backlight]
type = custom/text
content = 

content-background = ${color.bg}
content-foreground = ${color.cyan}

click-left = ~/.config/rofi/applets/menu/backlight.sh &

## Or...

[module/backlight]
type = custom/text
content = 

content-background = ${color.bg}
content-foreground = ${color.green}

click-left = applet_backlight

With i3wm

You can call the scripts by giving full path, eg: ~/.config/rofi/bin/menu_powermenu or follow method above to call the menu in one word. Then add these lines to your i3 config file -

set $mod Mod4
set $Alt Mod1
bindsym $mod+m exec --no-startup-id menu_mpd
bindsym $mod+n exec --no-startup-id menu_network
bindsym $mod+p exec --no-startup-id ~/.config/rofi/bin/menu_powermenu
#etc

With Openbox

Same thing can be done with openbox by adding these lines to rc.xml file:

    <keybind key="W-p">
      <action name="Execute">
        <command>~/.config/rofi/bin/launcher_misc</command>
      </action>
    </keybind>
    <!-- Or -->
    <keybind key="W-x">
      <action name="Execute">
        <command>powermenu</command>
      </action>
    </keybind>
    <!-- etc -->

FYI

  • Sometimes i think... Why the hell i'm doing this?
  • Anyway... Pull Requests, Issues, Contributions are welcome.
  • Share this with your friends, Have a good day.