Compare commits

...

9 Commits

Author SHA1 Message Date
Jacob Barber
614a7d55fc
Merge 6792338afc into 86e6875d9e 2024-11-10 21:46:09 +01:00
adi1090x
86e6875d9e Deploying to master from @ adi1090x/rofi@f3835e7f72 🚀 2024-11-05 15:04:24 +00:00
Jacoby6000
6792338afc Fix default theme 2024-07-17 00:07:36 -05:00
Jacoby6000
4e5eb9aae5 reuse theme setup in powermenu and launcher scripts 2024-07-17 00:06:27 -05:00
Jacoby6000
1d0689cb33 remove awk 2024-07-16 21:45:11 -05:00
Jacoby6000
2ccb022c95 More portability 2024-07-16 21:36:51 -05:00
Jacoby6000
bd18d5972b Allow applet script to search path relative to the script for cli input themes 2024-07-16 19:48:28 -05:00
Jacoby6000
323f94069c Enable theme specification via cli 2024-07-16 19:36:40 -05:00
Jacoby6000
9060e5c6e1 Use relative paths and readlink for portability 2024-07-16 18:28:49 -05:00
76 changed files with 346 additions and 157 deletions

View File

@ -109,7 +109,7 @@ $ ./setup.sh
</p> </p>
<p align="center"> <p align="center">
<!-- sponsors --><a href="https://github.com/davidtoska"><img src="https:&#x2F;&#x2F;avatars.githubusercontent.com&#x2F;u&#x2F;15263867?u&#x3D;7f45e973d008c1c9fc573554a95efac83751e726&amp;v&#x3D;4" width="60px" alt="David Toska" /></a><a href="https://github.com/snubbi1954-elementary"><img src="https:&#x2F;&#x2F;avatars.githubusercontent.com&#x2F;u&#x2F;162145059?u&#x3D;16ee4fee3e95ea7bc1599abdb2ff0ec4a2385ea2&amp;v&#x3D;4" width="60px" alt="Carl Andersen" /></a><a href="https://github.com/12c76dc"><img src="https:&#x2F;&#x2F;avatars.githubusercontent.com&#x2F;u&#x2F;88608064?u&#x3D;856f093e16e6d33996d2548d871884994b3ee627&amp;v&#x3D;4" width="60px" alt="" /></a><!-- sponsors --> <!-- sponsors --><a href="https://github.com/davidtoska"><img src="https:&#x2F;&#x2F;avatars.githubusercontent.com&#x2F;u&#x2F;15263867?u&#x3D;7f45e973d008c1c9fc573554a95efac83751e726&amp;v&#x3D;4" width="60px" alt="David Toska" /></a><a href="https://github.com/snubbi1954-elementary"><img src="https:&#x2F;&#x2F;avatars.githubusercontent.com&#x2F;u&#x2F;162145059?u&#x3D;16ee4fee3e95ea7bc1599abdb2ff0ec4a2385ea2&amp;v&#x3D;4" width="60px" alt="Carl Andersen" /></a><!-- sponsors -->
</p> </p>
--- ---

View File

@ -6,8 +6,10 @@
## Applets : Run Applications as Root ## Applets : Run Applications as Root
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
prompt='Applications' prompt='Applications'

View File

@ -6,8 +6,11 @@
## Applets : Favorite Applications ## Applets : Favorite Applications
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
prompt='Applications' prompt='Applications'
@ -22,12 +25,12 @@ elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
fi fi
# CMDs (add your apps here) # CMDs (add your apps here)
term_cmd='alacritty' term_cmd="${TERMINAL_CMD:-alacritty}"
file_cmd='thunar' file_cmd="${FILE_BROWSER_CMD:-thunar}"
text_cmd='geany' text_cmd="${TEXT_EDITOR_CMD:-geany}"
web_cmd='firefox' web_cmd="${WEB_BROWSER_CMD:-firefox}"
music_cmd='alacritty -e ncmpcpp' music_cmd="${MUSIC_CMD:-alacritty -e ncmpcpp}"
setting_cmd='xfce4-settings-manager' setting_cmd="${SETTINGS_CMD:-xfce4-settings-manager}"
# Options # Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`

View File

@ -6,8 +6,10 @@
## Applets : Battery ## Applets : Battery
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Battery Info # Battery Info
battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`" battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`"

View File

@ -6,8 +6,10 @@
## Applets : Brightness ## Applets : Brightness
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Brightness Info # Brightness Info
backlight="$(printf "%.0f\n" `light -G`)" backlight="$(printf "%.0f\n" `light -G`)"

View File

@ -6,8 +6,11 @@
## Applets : MPD (music) ## Applets : MPD (music)
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
status="`mpc status`" status="`mpc status`"

View File

@ -6,12 +6,17 @@
## Applets : Power Menu ## Applets : Power Menu
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
prompt="`hostname`" prompt="`hostname`"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
mesg="Uptime : $uptime"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1' list_col='1'

View File

@ -6,8 +6,10 @@
## Applets : Quick Links ## Applets : Quick Links
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
prompt='Quick Links' prompt='Quick Links'

View File

@ -6,8 +6,10 @@
## Applets : Screenshot ## Applets : Screenshot
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Theme Elements # Theme Elements
prompt='Screenshot' prompt='Screenshot'

View File

@ -6,8 +6,11 @@
## Applets : Volume ## Applets : Volume
# Import Current Theme # Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash SCRIPT_INVOCATION="$0"
theme="$type/$style" INPUT_THEME="$1"
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
source "$SCRIPT_DIR/../shared/theme.bash"
# Volume Info # Volume Info
mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`" mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`"

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../colors/onedark.rasi"

View File

@ -1,4 +1,19 @@
## Current Theme ## Current Theme
DEFAULT_TYPE='type-1'
DEFAULT_STYLE='style-1'
type="$HOME/.config/rofi/applets/type-1" # INPUT_THEME should be set by the script that sources this file,
style='style-1.rasi' # if the user wants to override the default theme.
if [ -z "$INPUT_THEME" ]; then
theme="$SCRIPT_DIR/../$DEFAULT_TYPE/$DEFAULT_STYLE.rasi"
elif [[ $1 == "-h" || $1 == "--help" ]]; then
echo "Usage: $SCRIPT_INVOCATION [theme]"
exit 0
else
theme="$SCRIPT_DIR/../$theme.rasi"
if [ ! -f "$theme" ]; then
# fail if we still can't find it.
echo "Theme not found!"
exit 1
fi
fi

View File

@ -64,7 +64,7 @@ inputbar {
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", width); background-image: url("./images/a.png", width);
text-color: @foreground; text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"]; children: [ "textbox-prompt-colon", "prompt"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
border-radius: 20px; border-radius: 20px;
border-color: @selected; border-color: @selected;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", width); background-image: url("./images/d.png", width);
text-color: @foreground; text-color: @foreground;
children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
border-radius: 40px; border-radius: 40px;
border-color: @selected; border-color: @selected;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", width); background-image: url("./images/i.jpg", width);
text-color: @foreground; text-color: @foreground;
children: [ "textbox-prompt-colon", "dummy", "prompt"]; children: [ "textbox-prompt-colon", "dummy", "prompt"];
} }

View File

@ -59,7 +59,7 @@ mainbox {
/*****----- Imagebox -----*****/ /*****----- Imagebox -----*****/
imagebox { imagebox {
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", height); background-image: url("./images/e.jpg", height);
children: [ "dummy", "inputbar", "dummy" ]; children: [ "dummy", "inputbar", "dummy" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
border-radius: 20px; border-radius: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", height); background-image: url("./images/j.jpg", height);
children: [ "dummy", "inputbar", "dummy" ]; children: [ "dummy", "inputbar", "dummy" ];
} }

View File

@ -62,7 +62,7 @@ imagebox {
border-radius: 100%; border-radius: 100%;
border-color: @selected; border-color: @selected;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/g.png", height); background-image: url("./images/g.png", height);
children: [ "dummy", "inputbar", "dummy" ]; children: [ "dummy", "inputbar", "dummy" ];
} }

View File

@ -11,10 +11,16 @@
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
## style-11 style-12 style-13 style-14 style-15 ## style-11 style-12 style-13 style-14 style-15
dir="$HOME/.config/rofi/launchers/type-1" INPUT_THEME=$1
theme='style-1' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '15' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -11,10 +11,16 @@
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
## style-11 style-12 style-13 style-14 style-15 ## style-11 style-12 style-13 style-14 style-15
dir="$HOME/.config/rofi/launchers/type-2" INPUT_THEME=$1
theme='style-1' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '15' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -10,10 +10,18 @@
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
dir="$HOME/.config/rofi/launchers/type-3" INPUT_THEME=$1
theme='style-10' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '10' '10' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -10,10 +10,16 @@
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
dir="$HOME/.config/rofi/launchers/type-4" INPUT_THEME=$1
theme='style-1' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '10' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -9,10 +9,16 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
dir="$HOME/.config/rofi/launchers/type-5" INPUT_THEME=$1
theme='style-1' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -39,7 +39,7 @@ window {
border-radius: 0px; border-radius: 0px;
border-color: black; border-color: black;
cursor: "default"; cursor: "default";
background-image: url("~/.config/rofi/images/paper.png", none); background-image: url("./images/paper.png", none);
} }
/*****----- Main Box -----*****/ /*****----- Main Box -----*****/

View File

@ -41,7 +41,7 @@ window {
padding: 0px; padding: 0px;
border-radius: 12px; border-radius: 12px;
cursor: "default"; cursor: "default";
background-image: url("~/.config/rofi/images/gradient.png", width); background-image: url("./images/gradient.png", width);
} }
/*****----- Main Box -----*****/ /*****----- Main Box -----*****/

View File

@ -42,7 +42,7 @@ window {
border-radius: 20px; border-radius: 20px;
cursor: "default"; cursor: "default";
background-color: #162022; background-color: #162022;
background-image: url("~/.config/rofi/images/flowers-1.png", width); background-image: url("./images/flowers-1.png", width);
} }
/*****----- Main Box -----*****/ /*****----- Main Box -----*****/
@ -63,7 +63,7 @@ inputbar {
border: 2px; border: 2px;
border-radius: 20px; border-radius: 20px;
border-color: white; border-color: white;
background-image: url("~/.config/rofi/images/flowers-3.png", none); background-image: url("./images/flowers-3.png", none);
children: [ "textbox-prompt-colon", "entry" ]; children: [ "textbox-prompt-colon", "entry" ];
} }
@ -108,7 +108,7 @@ listview {
border: 2px; border: 2px;
border-radius: 20px; border-radius: 20px;
border-color: white; border-color: white;
background-image: url("~/.config/rofi/images/flowers-2.png", width); background-image: url("./images/flowers-2.png", width);
cursor: "default"; cursor: "default";
} }

View File

@ -9,11 +9,16 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
INPUT_THEME=$1
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '10' "$INPUT_THEME")
dir="$HOME/.config/rofi/launchers/type-6" if [ $? -ne 0 ]; then
theme='style-1' echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", height); background-image: url("./images/a.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", height); background-image: url("./images/j.jpg", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/b.png", height); background-image: url("./images/b.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/c.png", height); background-image: url("./images/c.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", height); background-image: url("./images/d.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", height); background-image: url("./images/e.jpg", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/f.png", height); background-image: url("./images/f.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/g.png", height); background-image: url("./images/g.png", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/h.jpg", height); background-image: url("./images/h.jpg", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -60,7 +60,7 @@ mainbox {
imagebox { imagebox {
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", height); background-image: url("./images/i.jpg", height);
orientation: vertical; orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ]; children: [ "inputbar", "dummy", "mode-switcher" ];
} }

View File

@ -9,11 +9,16 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
INPUT_THEME=$1
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '10' "$INPUT_THEME")
dir="$HOME/.config/rofi/launchers/type-7" if [ $? -ne 0 ]; then
theme='style-1' echo $theme
exit 1
fi
## Run ## Run
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme $theme

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 80px 60px; padding: 80px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", width); background-image: url("./images/a.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 0px; spacing: 0px;
padding: 100px 40px; padding: 100px 40px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", width); background-image: url("./images/j.jpg", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry" ]; children: [ "textbox-prompt-colon", "entry" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 80px 60px; padding: 80px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/b.png", width); background-image: url("./images/b.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 100px 60px; padding: 100px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/c.png", width); background-image: url("./images/c.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -72,7 +72,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 40px 40px 155px; padding: 40px 40px 155px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", width); background-image: url("./images/d.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry" ]; children: [ "textbox-prompt-colon", "entry" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 80px 60px; padding: 80px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", width); background-image: url("./images/e.jpg", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 100px 60px; padding: 100px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/f.png", width); background-image: url("./images/f.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 100px 40px; padding: 100px 40px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/g.png", width); background-image: url("./images/g.png", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry" ]; children: [ "textbox-prompt-colon", "entry" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 100px 60px; padding: 100px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/h.jpg", width); background-image: url("./images/h.jpg", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -71,7 +71,7 @@ inputbar {
spacing: 10px; spacing: 10px;
padding: 80px 60px; padding: 80px 60px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", width); background-image: url("./images/i.jpg", width);
text-color: @foreground; text-color: @foreground;
orientation: horizontal; orientation: horizontal;
children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ];

View File

@ -9,12 +9,17 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
# Current Theme INPUT_THEME=$1
dir="$HOME/.config/rofi/powermenu/type-1" SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme='style-1' theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -31,7 +36,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "$host" \ -p "$host" \
-mesg "Uptime: $uptime" \ -mesg "Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -44,7 +49,7 @@ confirm_cmd() {
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Ask for confirmation # Ask for confirmation

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -10,12 +10,17 @@
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10 ## style-6 style-7 style-8 style-9 style-10
# Current Theme INPUT_THEME=$1
dir="$HOME/.config/rofi/powermenu/type-2" SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme='style-1' theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '10' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -32,7 +37,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "Uptime: $uptime" \ -p "Uptime: $uptime" \
-mesg "Uptime: $uptime" \ -mesg "Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -45,7 +50,7 @@ confirm_cmd() {
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Ask for confirmation # Ask for confirmation

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -9,12 +9,18 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
# Current Theme INPUT_THEME=$1
dir="$HOME/.config/rofi/powermenu/type-3" SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme='style-1' theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -31,7 +37,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "Uptime: $uptime" \ -p "Uptime: $uptime" \
-mesg "Uptime: $uptime" \ -mesg "Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -39,7 +45,7 @@ confirm_cmd() {
rofi -dmenu \ rofi -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/shared/confirm.rasi -theme ${SCRIPT_DIR}/shared/confirm.rasi
} }
# Ask for confirmation # Ask for confirmation

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -9,12 +9,19 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
# Current Theme
dir="$HOME/.config/rofi/powermenu/type-4" INPUT_THEME=$1
theme='style-5' SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '5' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -31,7 +38,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "Goodbye ${USER}" \ -p "Goodbye ${USER}" \
-mesg "Uptime: $uptime" \ -mesg "Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -39,7 +46,7 @@ confirm_cmd() {
rofi -dmenu \ rofi -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/shared/confirm.rasi -theme ${SCRIPT_DIR}/shared/confirm.rasi
} }
# Ask for confirmation # Ask for confirmation

View File

@ -15,4 +15,4 @@
/* Import color-scheme from `colors` directory */ /* Import color-scheme from `colors` directory */
@import "~/.config/rofi/colors/onedark.rasi" @import "../../../colors/onedark.rasi"

View File

@ -83,7 +83,7 @@ userimage {
border-radius: 100%; border-radius: 100%;
border-color: white; border-color: white;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/user.jpeg", both); background-image: url("./images/user.jpeg", both);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

View File

@ -9,13 +9,19 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
# Current Theme INPUT_THEME=$1
dir="$HOME/.config/rofi/powermenu/type-5" SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme='style-1' theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`" lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`"
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -33,7 +39,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "$USER@$host" \ -p "$USER@$host" \
-mesg " Last Login: $lastlogin |  Uptime: $uptime" \ -mesg " Last Login: $lastlogin |  Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -46,7 +52,7 @@ confirm_cmd() {
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Ask for confirmation # Ask for confirmation

View File

@ -64,7 +64,7 @@ inputbar {
spacing: 0px; spacing: 0px;
padding: 100px 80px; padding: 100px 80px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", width); background-image: url("./images/a.png", width);
children: [ "textbox-prompt-colon", "dummy","prompt"]; children: [ "textbox-prompt-colon", "dummy","prompt"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
spacing: 0px; spacing: 0px;
padding: 100px 80px; padding: 100px 80px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", width); background-image: url("./images/d.png", width);
children: [ "textbox-prompt-colon", "dummy","prompt"]; children: [ "textbox-prompt-colon", "dummy","prompt"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
spacing: 0px; spacing: 0px;
padding: 100px 40px; padding: 100px 40px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", width); background-image: url("./images/e.jpg", width);
children: [ "textbox-prompt-colon", "dummy","prompt"]; children: [ "textbox-prompt-colon", "dummy","prompt"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
spacing: 0px; spacing: 0px;
padding: 150px 40px; padding: 150px 40px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", width); background-image: url("./images/i.jpg", width);
children: [ "textbox-prompt-colon", "dummy","prompt"]; children: [ "textbox-prompt-colon", "dummy","prompt"];
} }

View File

@ -64,7 +64,7 @@ inputbar {
spacing: 20px; spacing: 20px;
padding: 100px 40px; padding: 100px 40px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", width); background-image: url("./images/j.jpg", width);
children: [ "textbox-prompt-colon", "prompt"]; children: [ "textbox-prompt-colon", "prompt"];
} }

View File

@ -9,13 +9,18 @@
# #
## style-1 style-2 style-3 style-4 style-5 ## style-1 style-2 style-3 style-4 style-5
# Current Theme INPUT_THEME=$1
dir="$HOME/.config/rofi/powermenu/type-6" SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
theme='style-1' theme=$($SCRIPT_DIR/../../shared/theme.sh "$SCRIPT_DIR" '1' '5' "$INPUT_THEME")
if [ $? -ne 0 ]; then
echo $theme
exit 1
fi
# CMDs # CMDs
lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`" lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`"
uptime="`uptime -p | sed -e 's/up //g'`" uptime=$($SCRIPT_DIR/../../shared/uptime.sh)
host=`hostname` host=`hostname`
# Options # Options
@ -33,7 +38,7 @@ rofi_cmd() {
rofi -dmenu \ rofi -dmenu \
-p "$USER@$host" \ -p "$USER@$host" \
-mesg " Uptime: $uptime" \ -mesg " Uptime: $uptime" \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Confirmation CMD # Confirmation CMD
@ -46,7 +51,7 @@ confirm_cmd() {
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${dir}/${theme}.rasi -theme $theme
} }
# Ask for confirmation # Ask for confirmation

View File

@ -57,7 +57,7 @@ imagebox {
spacing: 30px; spacing: 30px;
padding: 30px; padding: 30px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", height); background-image: url("./images/a.png", height);
children: [ "inputbar", "dummy", "message" ]; children: [ "inputbar", "dummy", "message" ];
} }
@ -68,7 +68,7 @@ userimage {
border-radius: 10px; border-radius: 10px;
border-color: @background-alt; border-color: @background-alt;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/a.png", height); background-image: url("./images/a.png", height);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

View File

@ -57,7 +57,7 @@ imagebox {
spacing: 20px; spacing: 20px;
padding: 20px; padding: 20px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", height); background-image: url("./images/d.png", height);
children: [ "inputbar", "dummy", "message" ]; children: [ "inputbar", "dummy", "message" ];
} }
@ -68,7 +68,7 @@ userimage {
border-radius: 10px; border-radius: 10px;
border-color: @background-alt; border-color: @background-alt;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/d.png", height); background-image: url("./images/d.png", height);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

View File

@ -57,7 +57,7 @@ imagebox {
spacing: 0px; spacing: 0px;
padding: 30px; padding: 30px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", width); background-image: url("./images/e.jpg", width);
children: [ "inputbar", "dummy", "message" ]; children: [ "inputbar", "dummy", "message" ];
} }
@ -68,7 +68,7 @@ userimage {
border-radius: 10px; border-radius: 10px;
border-color: @background-alt; border-color: @background-alt;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/e.jpg", height); background-image: url("./images/e.jpg", height);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

View File

@ -59,7 +59,7 @@ imagebox {
spacing: 0px; spacing: 0px;
padding: 100px; padding: 100px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", height); background-image: url("./images/i.jpg", height);
children: [ "inputbar", "dummy", "message" ]; children: [ "inputbar", "dummy", "message" ];
} }
@ -70,7 +70,7 @@ userimage {
border-radius: 0px; border-radius: 0px;
border-color: @background-alt; border-color: @background-alt;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/i.jpg", height); background-image: url("./images/i.jpg", height);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

View File

@ -59,7 +59,7 @@ imagebox {
spacing: 0px; spacing: 0px;
padding: 100px; padding: 100px;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", height); background-image: url("./images/j.jpg", height);
children: [ "inputbar", "dummy", "message" ]; children: [ "inputbar", "dummy", "message" ];
} }
@ -70,7 +70,7 @@ userimage {
border-radius: 0px; border-radius: 0px;
border-color: @background-alt; border-color: @background-alt;
background-color: transparent; background-color: transparent;
background-image: url("~/.config/rofi/images/j.jpg", height); background-image: url("./images/j.jpg", height);
} }
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/

24
files/shared/theme.sh Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
SOURCE_DIR=$1
DEFAULT_THEME=$2
MAX_THEME=$3
INPUT_THEME=$4
if [ -z "$INPUT_THEME" ]; then
theme="$SOURCE_DIR/style-$DEFAULT_THEME.rasi"
elif [[ "$INPUT_THEME" == "-h" || "$INPUT_THEME" == "--help" ]]; then
echo "Usage: $SOURCE_DIR [1..$MAX_THEME]"
exit 1
elif [[ "$INPUT_THEME" -gt "$MAX_THEME" || "$INPUT_THEME" -lt 1 ]]; then
echo "Invalid theme number! Theme must be between 1 and $MAX_THEME"
exit 1
else
theme="$SOURCE_DIR/style-$INPUT_THEME.rasi"
if [ ! -f "$theme" ]; then
echo "Theme not found at $theme"
exit 1
fi
fi
echo -n "$theme"

32
files/shared/uptime.sh Executable file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env bash
uptime_seconds=$(cat /proc/uptime | sed 's/^\([0-9]\+\)\..*/\1/')
# Format the uptime
days=$(( uptime_seconds / 86400 ))
hours=$(( (uptime_seconds % 86400) / 3600 ))
minutes=$(( (uptime_seconds % 3600) / 60 ))
# Helper function for pluralization
pluralize() {
local value=$1
local singular=$2
local plural=$3
if [ "$value" -eq 1 ]; then
echo "$value $singular"
else
echo "$value $plural"
fi
}
# Construct the uptime string
if [ "$days" -gt 0 ]; then
uptime="$(pluralize $days day days), $(pluralize $hours hour hours), $(pluralize $minutes minute minutes)"
elif [ "$hours" -gt 0 ]; then
uptime="$(pluralize $hours hour hours), $(pluralize $minutes minute minutes)"
else
uptime="$(pluralize $minutes minute minutes)"
fi
echo "$uptime"

View File

@ -10,46 +10,64 @@ Color_Off='\033[0m'
BBlack='\033[1;30m' BRed='\033[1;31m' BGreen='\033[1;32m' BYellow='\033[1;33m' BBlack='\033[1;30m' BRed='\033[1;31m' BGreen='\033[1;32m' BYellow='\033[1;33m'
BBlue='\033[1;34m' BPurple='\033[1;35m' BCyan='\033[1;36m' BWhite='\033[1;37m' BBlue='\033[1;34m' BPurple='\033[1;35m' BCyan='\033[1;36m' BWhite='\033[1;37m'
## Directories ---------------------------- ## Directories ----------------------------
DIR=`pwd` ROFI_INSTALL_DIR=$1
FONT_INSTALL_DIR=$2
if [ -z "$ROFI_INSTALL_DIR" ]; then
ROFI_INSTALL_DIR="$HOME/.config/rofi"
FONT_DIR="$HOME/.local/share/fonts" FONT_DIR="$HOME/.local/share/fonts"
ROFI_DIR="$HOME/.config/rofi" ROFI_DIR="$HOME/.config/rofi"
else
if [ -z "$FONT_INSTALL_DIR" ]; then
FONT_DIR="$ROFI_INSTALL_DIR/fonts"
else
FONT_DIR="$FONT_INSTALL_DIR"
fi
ROFI_DIR="$ROFI_INSTALL_DIR"
fi
DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
# Install Fonts # Install Fonts
install_fonts() { install_fonts() {
echo -e ${BBlue}"\n[*] Installing fonts..." ${Color_Off} echo -e ${BBlue}"\n[*] Installing fonts to $FONT_DIR ${Color_Off}"
if [[ -d "$FONT_DIR" ]]; then
cp -rf $DIR/fonts/* "$FONT_DIR" if [ ! -d "$FONT_DIR" ]; then
else
mkdir -p "$FONT_DIR" mkdir -p "$FONT_DIR"
cp -rf $DIR/fonts/* "$FONT_DIR"
fi fi
echo -e ${BYellow}"[*] Updating font cache...\n" ${Color_Off}
cp -rf $DIR/fonts/* "$FONT_DIR"
echo -e ${BYellow}"[*] Updating font cache" ${Color_Off}
fc-cache fc-cache
} }
# Install Themes # Install Themes
install_themes() { install_themes() {
if [[ -d "$ROFI_DIR" ]]; then if [ -d "$ROFI_DIR" ]; then
echo -e ${BPurple}"[*] Creating a backup of your rofi configs..." ${Color_Off} echo -e ${BPurple}"[*] Creating a backup of your rofi configs in '${ROFI_DIR}.${USER}'" ${Color_Off}
mv "$ROFI_DIR" "${ROFI_DIR}.${USER}" mv "$ROFI_DIR" "${ROFI_DIR}.${USER}"
fi fi
echo -e ${BBlue}"[*] Installing rofi configs..." ${Color_Off} echo -e ${BBlue}"[*] Installing rofi configs in '$ROFI_DIR'" ${Color_Off}
{ mkdir -p "$ROFI_DIR"; cp -rf $DIR/files/* "$ROFI_DIR"; } { mkdir -p "$ROFI_DIR"; cp -rf $DIR/files/* "$ROFI_DIR"; }
if [[ -f "$ROFI_DIR/config.rasi" ]]; then if [ -f "$ROFI_DIR/config.rasi" ]; then
echo -e ${BGreen}"[*] Successfully Installed.\n" ${Color_Off} echo -e ${BGreen}"[*] Successfully Installed." ${Color_Off}
exit 0 exit 0
else else
echo -e ${BRed}"[!] Failed to install.\n" ${Color_Off} echo -e ${BRed}"[!] Failed to install." ${Color_Off}
exit 1 exit 1
fi fi
} }
# Main # Main
main() { main() {
install_fonts
install_themes install_themes
echo ""
install_fonts
echo ""
} }
main main