adds rofi as styling

This commit is contained in:
Michel Fedde 2025-10-03 17:35:48 +02:00
parent d03146f3a1
commit 1682bed87f
9 changed files with 124 additions and 8 deletions

View file

@ -111,3 +111,5 @@ bind = $mainMod, O, exec, killall -USR1 waybar
# Master Layout Keybinds # Master Layout Keybinds
bind = $mainMod, A, layoutmsg,swapwithmaster master bind = $mainMod, A, layoutmsg,swapwithmaster master
bind = $mainMod, F10, exec, rofi -modes "pactl" -show pactl

View file

@ -1,5 +1,5 @@
configuration { configuration {
modes: "window,drun,calc,system"; modes: "window,drun,calc,system,pactl";
/* font: "mono 12";*/ /* font: "mono 12";*/
/* location: 0;*/ /* location: 0;*/
/* yoffset: 0;*/ /* yoffset: 0;*/
@ -79,6 +79,7 @@ configuration {
display-system: "System"; display-system: "System";
display-calc: "Calculator"; display-calc: "Calculator";
display-2fa: "2FA Codes"; display-2fa: "2FA Codes";
display-pactl: "Audio";
/* ml-row-left: "ScrollLeft";*/ /* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/ /* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/ /* ml-row-up: "ScrollUp";*/
@ -109,7 +110,7 @@ configuration {
@theme "./style.rasi" @theme "./style.rasi"
window { window {
width: calc(50% max 1080); width: calc(50% min 786);
} }
listview { listview {

43
.config/rofi/scripts/2fa.sh Executable file
View file

@ -0,0 +1,43 @@
#!/bin/bash
set -o pipefail
source "$HOME/.config/rofi/scripts/_lib.sh"
KEYRING_NAME="2fauth"
KEYRING_VALUE="token"
DOMAIN="https://auth.iedsoftworks.com"
getApiToken() {
token=$(secret-tool lookup "$KEYRING_NAME" "$KEYRING_VALUE")
if [[ $? == 0 ]]; then
return 0
fi
token=$(zenity --forms --add-multiline-entry="API Key" --text="Provide a valid API key")
if [[ $token == "" ]]; then
return 1
fi
echo "$token" | secret-tool store --label "2FAuth API Key" "$KEYRING_NAME" "$KEYRING_VALUE"
}
getApiToken
setOption no-custom true
case $ROFI_RETV in
0)
echo -en $(curl --oauth2-bearer "$token" "$DOMAIN/api/v1/twofaccounts" | jq -r '.[] | "\(.id)\\0display\\x1f\(.service) - \(.account)\\x1finfo\\x1f\(.)\\n"')
;;
1)
id=$@
curl --oauth2-bearer "$token" "$DOMAIN/api/v1/twofaccounts/$id/otp" |
jq ".password" -r |
wl-copy
$(echo $ROFI_INFO | jq -r '"\(.service) - \(.account)"')
notify-send -i "lock" "2FA Code copied" "Copied code for '$(echo $ROFI_INFO | jq -r '"\(.service) - \(.account)"')'"
;;
esac

View file

@ -0,0 +1,5 @@
#!/bin/env sh
setOption() {
echo -en "\0$1\x1f$2\n"
}

20
.config/rofi/scripts/calc.sh Executable file
View file

@ -0,0 +1,20 @@
#!/bin/bash
case $ROFI_RETV in
1)
wl-copy "$@"
;;
2)
result=$(rink "$@" | grep -v '^>')
NUMBERS=$(echo "$result "tr '\n' ' ' | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g')
IFS=' '
for number in $NUMBERS; do
echo $number
done
echo -en "$result\0non-selectable\x1ftrue\n"
;;
esac

15
.config/rofi/scripts/pactl.sh Executable file
View file

@ -0,0 +1,15 @@
#!/bin/bash
source "$HOME/.config/rofi/scripts/_lib.sh"
setOption no-custom true
case $ROFI_RETV in
0)
defaultSink=$(pactl get-default-sink)
echo -en $(pactl --format=json list sinks | jq --arg default "$defaultSink" -r 'map("\(.name)\\0display\\x1f\(.description)\\x1fmeta\\x1fsinks,output,\(.description)\\x1factive\\x1f\(.name == $default)\\n") | add')
;;
1)
name=$@
pactl set-default-sink "$name"
;;
esac

25
.config/rofi/scripts/system.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
source "$HOME/.config/rofi/scripts/_lib.sh"
SCRIPTS_DIR="$HOME/.config/scripts"
declare -A scripts
scripts["Shutdown"]="systemctl poweroff"
scripts["Reboot"]="systemctl reboot"
scripts["Logout"]="logout terminate-user $USER"
scripts["Lock"]="$SCRIPTS_DIR/LockScreen.sh"
scripts["Notification Center (SwayNC)"]="swaync-client -t -sw"
setOption no-custom true
setOption use-hot-keys true
case $ROFI_RETV in
0)
printf "%s\n" "${!scripts[@]}"
;;
1)
command="${scripts[$@]}"
coproc ($command >/dev/null 2>&1)
exit 0
;;
esac

View file

@ -13,10 +13,9 @@ $transparentBackground: rgba(128,128,128, 0.6);
window { window {
transparency: "real"; transparency: "real";
} }
inputbar, listview { inputbar, listview, textbox {
border-radius: $border-radius; border-radius: $border-radius;
border: 1px solid; border: 1px solid;
border-color: $border-color; border-color: $border-color;
@ -30,18 +29,20 @@ inputbar, listview, message, element {
} }
inputbar { inputbar {
orientation: vertical;
children: [mode-switcher, entry] children: [mode-switcher, entry]
} }
textbox {
padding: $input-padding;
}
prompt { prompt {
border: 0 1px 0 0; border: 0 1px 0 0;
border-color: $border-color; border-color: $border-color;
} }
entry { entry {
border: 0 0 0 1px;
border-color: $border-color;
padding: $input-padding; padding: $input-padding;
margin: 0 0 0 4px;
} }
listview { listview {
@ -65,10 +66,12 @@ element-icon {
} }
mode-switcher { mode-switcher {
border: 0 0 1px 0;
border-color: $border-color;
enabled: true; enabled: true;
} }
button { button {
border-radius: $border-radius; border-radius: $border-radius;
expand: false; expand: false;
margin: 4px; margin: 4px;

2
.gitignore vendored
View file

@ -9,6 +9,8 @@
!/.config/yazi/ !/.config/yazi/
/.config/yazi/plugins/* /.config/yazi/plugins/*
!/.config/rofi/
/.config/rofi/style.rasi
!/.config/hypr/ !/.config/hypr/
!/.config/ghostty/ !/.config/ghostty/
!/.config/nvim/ !/.config/nvim/