Convert Figma logo to code with AI

adi1090x logorofi

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

6,549
308
6,549
52

Top Related Projects

13,019

Rofi: A window switcher, application launcher and dmenu replacement

9,115

ElKowars wacky widgets

14,043

A fast and easy-to-use status bar

1,055

Awesome WM complements

Quick Overview

The adi1090x/rofi repository is a collection of themes and configuration files for the popular application launcher and window switcher, Rofi. Rofi is a popular open-source tool that provides a customizable and efficient way to launch applications, switch between windows, and perform other system-related tasks.

Pros

  • Extensive Customization: The repository offers a wide range of pre-designed themes and configurations, allowing users to easily customize the appearance and behavior of Rofi to suit their preferences.
  • Active Development: The project is actively maintained, with regular updates and improvements to the available themes and configurations.
  • Community Support: The project has a large and engaged community, providing a wealth of resources, documentation, and support for users.
  • Cross-platform Compatibility: Rofi is compatible with various desktop environments and window managers, making it a versatile tool for users across different Linux distributions.

Cons

  • Learning Curve: Customizing Rofi can be a bit complex for users who are new to the tool, as it requires understanding the configuration file structure and syntax.
  • Limited Documentation: While the project has a large community, the documentation for some of the more advanced features and customization options may be limited.
  • Dependency on Rofi: The repository is entirely focused on Rofi, and users who prefer alternative application launchers or window switchers may not find it as useful.
  • Potential Compatibility Issues: As the repository provides custom themes and configurations, there may be occasional compatibility issues with newer versions of Rofi or changes in the underlying desktop environment.

Getting Started

To get started with the adi1090x/rofi repository, follow these steps:

  1. Install Rofi on your system, if you haven't already done so. Rofi is available in the package repositories of most Linux distributions.
  2. Clone the adi1090x/rofi repository to your local machine:
    git clone https://github.com/adi1090x/rofi.git
    
  3. Navigate to the cloned repository:
    cd rofi
    
  4. Explore the available themes and configurations in the themes/ directory.
  5. To use a specific theme, copy the corresponding configuration file to your Rofi configuration directory (typically ~/.config/rofi/).
  6. Restart Rofi or log out and log back in to see the changes.

Alternatively, you can use the included setup.sh script to automatically install the themes and configurations:

./setup.sh

This script will copy the necessary files to your Rofi configuration directory and update the configuration to use the selected theme.

Competitor Comparisons

13,019

Rofi: A window switcher, application launcher and dmenu replacement

Pros of rofi

  • Core project with active development and maintenance
  • Highly customizable and extensible
  • Comprehensive documentation and man pages

Cons of rofi

  • Requires more manual configuration
  • Less out-of-the-box theming options
  • Steeper learning curve for beginners

Code Comparison

rofi (davatorium/rofi):

static int rofi_view_error_dialog ( const char *msg, int markup )
{
    GString *emesg = g_string_new ( msg );
    if ( !markup ) {
        g_string_replace ( emesg, "&", "&", 0 );
        g_string_replace ( emesg, "<", "&lt;", 0 );
    }
    RofiViewState *state = rofi_view_create ( emesg->str, "Error", NULL, MENU_ERROR_DIALOG );
    g_string_free ( emesg, TRUE );
    return rofi_view_error_dialog_result ( state );
}

rofi (adi1090x/rofi):

#!/usr/bin/env bash

## Author  : Aditya Shakya
## Mail    : adi1090x@gmail.com
## Github  : @adi1090x
## Twitter : @adi1090x

# Available Styles
# >> Created and tested on : rofi 1.6.0-1
#
# style_1     style_2     style_3     style_4     style_5     style_6
# style_7     style_8     style_9     style_10    style_11    style_12

The adi1090x/rofi repository focuses on providing pre-configured themes and scripts for rofi, while davatorium/rofi is the core project with more extensive customization options and development activity.

9,115

ElKowars wacky widgets

Pros of eww

  • Written in Rust, offering better performance and memory safety
  • Highly customizable with a declarative configuration language (Yuck)
  • Supports creating complex widgets and layouts beyond just application launchers

Cons of eww

  • Steeper learning curve due to its unique configuration language
  • Less out-of-the-box themes and configurations compared to rofi
  • Requires more setup and configuration for basic functionality

Code Comparison

eww configuration example:

(defwindow example
  :monitor 0
  :geometry (geometry :x "0%"
                      :y "0%"
                      :width "100%"
                      :height "30px")
  :stacking "fg"
  (bar))

rofi configuration example:

rofi -show drun -theme themes/appfolder.rasi

eww focuses on creating custom widgets with a declarative language, while rofi primarily serves as an application launcher with simpler configuration options. eww offers more flexibility for creating complex UI elements, but rofi provides a more straightforward approach for basic application launching and window switching tasks.

14,043

A fast and easy-to-use status bar

Pros of polybar

  • More comprehensive and feature-rich status bar solution
  • Highly customizable with extensive configuration options
  • Active development and large community support

Cons of polybar

  • Steeper learning curve due to complexity
  • Requires more system resources compared to lightweight alternatives

Code comparison

Polybar configuration example:

[bar/mybar]
modules-left = i3
modules-center = date
modules-right = pulseaudio battery

Rofi configuration example:

configuration {
    modi: "run,drun,window";
    width: 50;
    lines: 15;
    columns: 2;
}

Summary

Polybar is a powerful and versatile status bar for Linux systems, offering extensive customization options and a wide range of features. It's well-suited for users who want a highly configurable and feature-rich status bar solution. However, it may require more time to set up and configure compared to simpler alternatives like Rofi.

Rofi, on the other hand, is primarily an application launcher and window switcher, which can be extended to include additional functionality. It's generally easier to set up and use out of the box, making it a good choice for users who prefer a simpler, more lightweight solution.

While both projects serve different primary purposes, they can be used together in a Linux desktop environment to create a comprehensive and customized user experience.

1,055

Awesome WM complements

Pros of Lain

  • Lain provides a wide range of widgets and utilities for the Awesome window manager, enhancing its functionality and customization options.
  • The project has a large and active community, with regular updates and a well-documented wiki.
  • Lain integrates seamlessly with the Awesome window manager, providing a cohesive and streamlined user experience.

Cons of Lain

  • Lain may have a steeper learning curve compared to Rofi, as it requires a deeper understanding of the Awesome window manager and its configuration.
  • The project's focus on Awesome may limit its appeal to users of other window managers or desktop environments.
  • Lain's extensive feature set may be overkill for users who only require basic functionality.

Code Comparison

Rofi:

configuration {
  modi: "window,run,ssh";
  width: 50;
  lines: 15;
  font: "Noto Sans 10";
  bw: 1;
  bc: "#005577";
  bg: "#222222";
  fg: "#eeeeee";
  hlfg: "#eeeeee";
  hlbg: "#005577";
}

Lain:

local awful = require("awful")
local beautiful = require("beautiful")
local wibox = require("wibox")

local lain = {}
lain.widgets = {}

lain.widgets.calendar = {
    attach_to = { "clock" },
    font = "Noto Sans Mono 10",
    position = "bottom_right",
    radius = 4,
    spacing = 10,
    icon = beautiful.widget_calendar_icon
}

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

undefined undefined undefined

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

Launchers
Type 1Type 2Type 3Type 4
imgimgimgimg
Type 5Type 6Type 7
imgimgimg
Applets
Type 1Type 2Type 3
imgimgimg
Type 4Type 5
imgimg
Powermenus
Type 1Type 2Type 3
imgimgimg
Type 4Type 5Type 6
imgimgimg

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.

Installation

Everything here is created on rofi version : 1.7.4

  • First, Make sure you have the same (stable) version of rofi installed.
    • On Arch / Arch-based : sudo pacman -S rofi
    • On Debian / Ubuntu : sudo apt-get install rofi
    • On Fedora : sudo 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 to install the configs -
$ ./setup.sh

[*] Installing fonts...
[*] Updating font cache...

[*] Creating a backup of your rofi configs...
[*] Installing 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.


Special thanks to all the Sponsors. Maintenance of this project is made possible by you guys. If you'd like to sponsor this project and have your avatar appear below, click here 💖

David Toska


Launchers

Change Style : Edit ~/.config/rofi/launchers/type-X/launcher.sh script and edit the following line to use the style you like.

theme='style-1'

Change Colors : Edit ~/.config/rofi/launchers/type-X/shared/colors.rasi file and edit the following line to use the color-scheme you like.

@import "~/.config/rofi/colors/onedark.rasi"

Colors in type-5, type-6 and type-7 are hard-coded (based on image colors) and can be changed by editing the respective style-X.rasi file.

Previews

Type 1
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Style 11Style 12Style 13Style 14Style 15
imgimgimgimgimg
Type 2
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Style 11Style 12Style 13Style 14Style 15
imgimgimgimgimg
Type 3
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Type 4
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Type 5
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Type 6
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Type 7
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg

Color Schemes
AdaptaArcBlackCatppuccinCyberpunk
imgimgimgimgimg
DraculaEverforestGruvboxLovelaceNavy
imgimgimgimgimg
NordOnedarkPaperSolarizedYousai
imgimgimgimgimg

Applets

AppletsDescriptionRequired Applications
Apps As RootOpen Applications as rootpkexec : alacritty, thunar, geany, ranger, vim
AppsFavorite or most used Applicationsalacritty, thunar, geany, firefox, ncmpcpp, xfce4-settings-manager
BatteryDisplay battery percentage & charging status with dynamic iconspkexec, acpi, powertop xfce4-power-manager-settings
BrightnessDisplay and adjust screen brightnesslight, xfce4-power-manager-settings
MPDControl the song play through mpdmpd, mpc
PowermenuA classic power menu, with Uptimesystemd, betterlockscreen
QuicklinksBookmarks for most used websitesfirefox or chromium or any other browser
ScreenshotTake screenshots using maimmaim, xrandr, dunst, xclip
VolumeDisplay and control volume with dynamic icons and mute statusamixer and pavucontrol

To use your programs with these applets, Edit the scripts in ~/.config/rofi/applets/bin directory.

Change Theme : Edit ~/.config/rofi/applets/shared/theme.bash script and edit the following line to use the type and style you like.

type="$HOME/.config/rofi/applets/type-1"
style='style-1.rasi'

Change Colors : Edit ~/.config/rofi/applets/shared/colors.rasi file and edit the following line to use the color-scheme you like.

@import "~/.config/rofi/colors/onedark.rasi"

Colors in type-4 and type-5 are hard-coded (based on image colors) and can be changed by editing the respective style-X.rasi file.

Previews

Apps as root
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Apps
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Battery
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Brightness
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
MPD
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Powermenu
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Quicklinks
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Screenshot
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg
Volume
Type 1Type 2Type 3Type 4Type 5
imgimgimgimgimg

Powermenus

Change Style : Edit ~/.config/rofi/powermenu/type-X/powermenu.sh script and edit the following line to use the style you like.

theme='style-1'

Change Colors : Edit ~/.config/rofi/powermenu/type-X/shared/colors.rasi file and edit the following line to use the color-scheme you like.

@import "~/.config/rofi/colors/onedark.rasi"

Colors in type-5 and type-6 are hard-coded (based on image colors) and can be changed by editing the respective style-X.rasi file.

Previews

Type 1
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Type 2
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Style 6Style 7Style 8Style 9Style 10
imgimgimgimgimg
Type 3
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Type 4
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Type 5
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg
Type 6
Style 1Style 2Style 3Style 4Style 5
imgimgimgimgimg

Tips

Simple way to execute scripts

There's a $HOME/.config/rofi/scripts directory, which contains links to each script. you can execute these links to open any type of Launcher, Applet or Powermenu.

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

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

Warning: After changing the shell files, Logout and Login back again to update the $PATH environment variable.

Usage

with polybar

You can use these launchers, powermenus or applets with polybar by simply adding a module like that:

;; Application Launcher Module
[module/launcher]
type = custom/text

content = 異
content-background = black
content-foreground = green

click-left = ~/.config/rofi/launchers/type-1/launcher.sh
click-right = launcher_t1

;; Power Menu Module
[module/powermenu]
type = custom/text

content = 襤
content-background = black
content-foreground = red

click-left = ~/.config/rofi/powermenu/type-1/powermenu.sh
click-right = powermenu_t1

with i3wm

You can also use them with the keybindings on your window manager, For example:

set $mod Mod4

bindsym $mod+p exec --no-startup-id ~/.config/rofi/launchers/type-2/launcher.sh
bindsym $mod+x exec --no-startup-id powermenu_t2

with Openbox

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

  <keyboard>
    <keybind key="W-p">
      <action name="Execute">
        <command>launcher_t3</command>
      </action>
    </keybind>
    <keybind key="W-x">
      <action name="Execute">
        <command>~/.config/rofi/powermenu/type-3/powermenu.sh</command>
      </action>
    </keybind>
  </keyboard>

FYI

  • For previous versions, check the respective branch, 1.7.0 is the most recent branch.
  • These themes are created on a display with 1920x1080 resolution. Everything should work fine on your display as well, except fullscreen themes. So Adjust the margin and padding by yourself.
  • The purpose of this repository is to provide you a complete (almost) reference. So by using the files as reference, You can theme rofi by yourself.