From 3509e1d959c9865d45fb47d48ded4c1339dacef4 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Mon, 25 Mar 2024 17:54:43 +0100 Subject: [PATCH] Switch to a better rofi theme --- modules/home/rofi/rofi-theme.rasi | 356 ++++++++++++++++++++++++------ 1 file changed, 290 insertions(+), 66 deletions(-) diff --git a/modules/home/rofi/rofi-theme.rasi b/modules/home/rofi/rofi-theme.rasi index 34d5d65..b6dec71 100644 --- a/modules/home/rofi/rofi-theme.rasi +++ b/modules/home/rofi/rofi-theme.rasi @@ -1,95 +1,319 @@ -/******************************************************************************* - * ROFI SQUARED THEME USING THE NORD PALETTE - * User : LR-Tech - * Theme Repo : https://github.com/lr-tech/rofi-themes-collection - *******************************************************************************/ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: " "; + display-run: " "; + display-filebrowser: " "; + display-window: " "; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + background: #1E2127FF; + background-alt: #282B31FF; + foreground: #FFFFFFFF; + selected: #61AFEFFF; + active: #98C379FF; + urgent: #E06C75FF; +} * { - font: "JetBrainsMono Nerd Font Medium 12"; - - bg0: #2E3440; - bg1: #3B4252; - fg0: #D8DEE9; - - accent-color: #88C0D0; - urgent-color: #EBCB8B; - - background-color: transparent; - text-color: @fg0; - - margin: 0; - padding: 0; - spacing: 0; + font: "JetBrains Mono Nerd Font 12"; } +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ window { - location: center; - width: 480; + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; - background-color: @bg0; + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); } +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ inputbar { - spacing: 8px; - padding: 8px; - - background-color: @bg1; -} - -prompt, entry, element-icon, element-text { - vertical-align: 0.5; + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry", "mode-switcher" ]; } prompt { - text-color: @accent-color; -} - -textbox { - padding: 8px; - background-color: @bg1; + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; } +/*****----- Listview -----*****/ listview { - padding: 4px 0; - lines: 8; - columns: 1; - - fixed-height: false; + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; } +/*****----- Elements -----*****/ element { - padding: 8px; - spacing: 8px; + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; } - -element normal normal { - text-color: @fg0; +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); } - -element normal urgent { - text-color: @urgent-color; +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); } - -element normal active { - text-color: @accent-color; +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); } - -element selected { - text-color: @bg0; +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); } - -element selected normal, element selected active { - background-color: @accent-color; +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); } - -element selected urgent { - background-color: @urgent-color; +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); } - element-icon { - size: 0.8em; + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; } -element-text { - text-color: inherit; +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 5px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; } \ No newline at end of file