Compare commits
4 Commits
b43720082d
...
44dee82f35
| Author | SHA1 | Date | |
|---|---|---|---|
| 44dee82f35 | |||
| 8e59f9298a | |||
| 3acfe42ece | |||
| c3213cc0ce |
@ -1,142 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based tool launcher that provides a searchable menu of system utilities.
|
||||
# ABOUTME: Includes VPN, sound, bluetooth, shortcuts, and other system management tools.
|
||||
|
||||
declare -A LABELS
|
||||
declare -A COMMANDS
|
||||
|
||||
###
|
||||
# List of defined 'bangs'
|
||||
|
||||
# launch programs
|
||||
# COMMANDS["apps"]="rofi -combi-modi window,drun -show combi"
|
||||
# LABELS["apps"]=""
|
||||
|
||||
# open bookmarks
|
||||
# COMMANDS["bookmarks"]="~/.scripts/rofi-scripts-collection/rofi-surfraw-bookmarks.sh"
|
||||
# LABELS["bookmarks"]=""
|
||||
|
||||
# search local files
|
||||
COMMANDS[""]="moonarch-locate"
|
||||
LABELS[""]="Locate"
|
||||
|
||||
COMMANDS[""]="wlogout -P 1 -s -r 10 -c 10"
|
||||
LABELS[""]="Session Menu"
|
||||
|
||||
# open custom web searches
|
||||
# COMMANDS["websearch"]="~/.scripts/rofi-scripts-collection/rofi-surfraw-websearch.sh"
|
||||
# LABELS["websearch"]=""
|
||||
|
||||
# show clipboard history
|
||||
# source: https://bitbucket.org/pandozer/rofi-clipboard-manager/overview
|
||||
# COMMANDS["clipboard"]='rofi -modi "clipboard:~/.bin/rofi-clipboard-manager/mclip.py menu" -show clipboard && ~/.bin/rofi-clipboard-manager/mclip.py paste'
|
||||
# LABELS["clipboard"]=""
|
||||
|
||||
# references --------------------------
|
||||
# COMMANDS[";sr2"]="chromium 'wikipedia.org/search-redirect.php?search=\" \${input}\""
|
||||
# LABELS[";sr2"]=""
|
||||
|
||||
# COMMANDS[";piratebay"]="chromium --disk-cache-dir=/tmp/cache http://thepiratebay.org/search/\" \${input}\""
|
||||
# LABELS[";piratebay"]=""
|
||||
|
||||
# COMMANDS[".bin"]="spacefm -r '/home/dka/bin'"
|
||||
# LABELS[".bin"]=".bin"
|
||||
|
||||
# COMMANDS["#screenshot"]='/home/dka/bin/screenshot-scripts/myscreenshot.sh'
|
||||
# LABELS["#screenshot"]="screenshot"
|
||||
|
||||
# greenclip clipboard history
|
||||
# source: https://github.com/erebe/greenclip
|
||||
COMMANDS[""]='rofi -modi "clipboard:greenclip print" -show Clipboard'
|
||||
LABELS[""]="Clipboard"
|
||||
|
||||
COMMANDS[""]='moonarch-vpn'
|
||||
LABELS[""]='VPN Connection Manager'
|
||||
|
||||
COMMANDS[""]='moonarch-volume'
|
||||
LABELS[""]='Sound Manager'
|
||||
|
||||
#COMMANDS[""]='shortcuts module was removed'
|
||||
#LABELS[""]='Hotkey List'
|
||||
|
||||
COMMANDS[""]='wdisplays'
|
||||
LABELS[""]='Display Setup'
|
||||
|
||||
COMMANDS[""]='nwg-look'
|
||||
LABELS[""]='Appearance Settings'
|
||||
|
||||
COMMANDS[""]='noisetorch'
|
||||
LABELS[""]='Audio Noise Reduction'
|
||||
|
||||
COMMANDS[""]='$HOME/.local/share/headset-charge-indicator/headset-charge-indicator.py &'
|
||||
LABELS[""]='Headset Control'
|
||||
|
||||
COMMANDS[""]='moonarch-bluetooth'
|
||||
LABELS[""]='Bluetooth Control'
|
||||
|
||||
COMMANDS[""]='nm-applet --indicator &'
|
||||
LABELS[""]='Networker Manager'
|
||||
|
||||
COMMANDS[""]='wl-color-picker'
|
||||
LABELS[""]='Color Picker'
|
||||
|
||||
COMMANDS[""]='font-manager'
|
||||
LABELS[""]='Font Manager'
|
||||
|
||||
COMMANDS[""]='gufw'
|
||||
LABELS[""]='Firewall Settings'
|
||||
|
||||
COMMANDS[""]='stacer'
|
||||
LABELS[" "]='System Maintenance'
|
||||
|
||||
|
||||
################################################################################
|
||||
# do not edit below
|
||||
################################################################################
|
||||
##
|
||||
# Generate menu
|
||||
##
|
||||
function print_menu()
|
||||
{
|
||||
for key in ${!LABELS[@]}
|
||||
do
|
||||
# echo "$key ${LABELS}"
|
||||
echo "$key ${LABELS[$key]}"
|
||||
# my top version just shows the first field in labels row, not two words side by side
|
||||
done
|
||||
}
|
||||
##
|
||||
# Show rofi.
|
||||
##
|
||||
function start()
|
||||
{
|
||||
# print_menu | rofi -dmenu -p "?=>"
|
||||
print_menu | sort | rofi -show "Tools" -dmenu -mesg " Tools" -i -p "rofi-bangs: "
|
||||
}
|
||||
|
||||
|
||||
# Run it
|
||||
value="$(start)"
|
||||
|
||||
# Split input.
|
||||
# grab upto first space.
|
||||
choice=${value%%\ *}
|
||||
# graph remainder, minus space.
|
||||
input=${value:$((${#choice}+1))}
|
||||
|
||||
##
|
||||
# Cancelled? bail out
|
||||
##
|
||||
if test -z ${choice}
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if choice exists
|
||||
if test ${COMMANDS[$choice]+isset}
|
||||
then
|
||||
# Execute the choice
|
||||
${COMMANDS[$choice]}
|
||||
else
|
||||
echo "Unknown command: ${choice}" | rofi -dmenu -p "error"
|
||||
fi
|
||||
@ -302,7 +302,7 @@ show_menu() {
|
||||
}
|
||||
|
||||
# Rofi command to pipe into, can add any options here
|
||||
rofi_command="rofi -dmenu $* -p -theme /etc/xdg/rofi/bluetooth/bluetooth.rasi -mesg -Bluetooth-Control"
|
||||
rofi_command="rofi -dmenu $* -p -theme /etc/xdg/rofi/themes/bluetooth.rasi -mesg -Bluetooth-Control"
|
||||
|
||||
case "$1" in
|
||||
--status)
|
||||
|
||||
@ -1,98 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based calendar widget with month navigation.
|
||||
# ABOUTME: Displays a calendar grid and highlights the current day.
|
||||
|
||||
DIR=$(dirname $PWD)
|
||||
|
||||
current_day=$(date +"%e")
|
||||
current_month=$(date +"%m")
|
||||
current_year=$(date +"%Y")
|
||||
|
||||
month=$(date +"%-m")
|
||||
year=$(date +"%Y")
|
||||
previous_month="◀"
|
||||
next_month="▶"
|
||||
last_selected_option=""
|
||||
|
||||
format_calendar () {
|
||||
echo "$1" \
|
||||
| sed -E 's/([[:alpha:]])__/\1\n/g' \
|
||||
| sed -E 's/___([[:digit:]])/.\n\1/g' \
|
||||
| sed -e 's/___/\n./g' \
|
||||
| sed -e 's/__/\n/g' \
|
||||
| sed -e 's/_/\n/g'
|
||||
}
|
||||
|
||||
print_month() {
|
||||
calendar="$(cal -v -- $1 $2 | tail -n +2 | sed -e 's/ /_/g')"
|
||||
echo "$(format_calendar "$calendar")"
|
||||
}
|
||||
|
||||
find_day_index() {
|
||||
index=0
|
||||
while IFS=' ' read -ra arr; do
|
||||
for i in "${arr[@]}"; do
|
||||
if [[ "$i" == "$2" ]]; then
|
||||
echo "$index"
|
||||
break
|
||||
fi
|
||||
((index++))
|
||||
done
|
||||
done <<< "$1"
|
||||
}
|
||||
|
||||
calendar_menu() {
|
||||
calendar_header=$(cal -v -- $month $year | head -n 1)
|
||||
|
||||
month_page="$(print_month $month $year)"
|
||||
calendar_body="\n\n\n$previous_month\n\n\n\n$month_page\n\n\n\n$next_month\n\n\n"
|
||||
|
||||
previous_month_index="3"
|
||||
next_month_index="59"
|
||||
calendar_body_column="7"
|
||||
urgent="-u $previous_month_index,$next_month_index"
|
||||
active=""
|
||||
selected_row=""
|
||||
|
||||
if [[ "$(echo $current_month | bc) $current_year" == "$(echo $month | bc) $year" ]]; then
|
||||
current_day_index=$(($(find_day_index "$month_page" $current_day) + $calendar_body_column))
|
||||
active="-a $current_day_index"
|
||||
selected_row="-selected-row $current_day_index"
|
||||
fi
|
||||
|
||||
if [[ $last_selected_option == $previous_month ]]; then
|
||||
selected_row="-selected-row $previous_month_index"
|
||||
fi
|
||||
|
||||
if [[ $last_selected_option == $next_month ]]; then
|
||||
selected_row="-selected-row $next_month_index"
|
||||
fi
|
||||
|
||||
echo -e "$calendar_body" | rofi -dmenu \
|
||||
-theme /etc/xdg/rofi/calendar/rofi-calendar.rasi \
|
||||
-p "$calendar_header" $urgent $active $selected_row
|
||||
}
|
||||
|
||||
while [[ true ]]; do
|
||||
selected=$(calendar_menu)
|
||||
last_selected_option="$selected"
|
||||
case $selected in
|
||||
$previous_month)
|
||||
((month--))
|
||||
if [[ $month -lt 1 ]]; then
|
||||
month=12
|
||||
((year--))
|
||||
fi
|
||||
;;
|
||||
$next_month)
|
||||
((month++))
|
||||
if [[ $month -gt 12 ]]; then
|
||||
month=1
|
||||
((year++))
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
26
defaults/bin/moonarch-clipboard
Executable file
26
defaults/bin/moonarch-clipboard
Executable file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based clipboard history manager using cliphist and wl-copy.
|
||||
# ABOUTME: Lists clipboard entries and copies the selected one.
|
||||
|
||||
CLIPHIST_DB="/run/user/1000/cliphist/db"
|
||||
|
||||
function start_rofi() {
|
||||
local content="$1"
|
||||
echo -e "$content" | rofi -dmenu -theme /etc/xdg/rofi/themes/clipboard.rasi -mesg " Clipboard History"
|
||||
}
|
||||
|
||||
function main() {
|
||||
local entries
|
||||
local result
|
||||
|
||||
entries=$(cliphist -db-path "$CLIPHIST_DB" list)
|
||||
result=$(start_rofi "$entries")
|
||||
|
||||
if [ -n "$result" ]; then
|
||||
echo "$result" | cliphist -db-path "$CLIPHIST_DB" decode | wl-copy
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
main
|
||||
@ -39,7 +39,7 @@ function print_menu()
|
||||
function start()
|
||||
{
|
||||
# print_menu | rofi -dmenu -p "?=>"
|
||||
print_menu | sort | rofi -theme /etc/xdg/rofi/cpugov/rofi-cpugov.rasi -show "CPU Modes" -dmenu -mesg " CPU Modes" -i -p "rofi-bangs: "
|
||||
print_menu | sort | rofi -theme /etc/xdg/rofi/themes/cpugov.rasi -show "CPU Modes" -dmenu -mesg " CPU Modes" -i -p "rofi-bangs: "
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
# ABOUTME: Waybar-Modul das den DND-Status von dunst als JSON ausgibt.
|
||||
# ABOUTME: Wird von der Waybar custom/dnd Config referenziert.
|
||||
set -euo pipefail
|
||||
trap '' PIPE
|
||||
|
||||
readonly ENABLED=''
|
||||
readonly DISABLED=''
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
# ABOUTME: Rofi emoji picker that copies selected emoji to clipboard.
|
||||
# ABOUTME: Reads emoji list from /etc/xdg/rofi/emojis/emojis.txt.
|
||||
|
||||
FILE="/etc/xdg/rofi/emojis/emojis.txt"
|
||||
|
||||
if [ "$@" ]
|
||||
then
|
||||
smiley=$(echo $@ | cut -d' ' -f1)
|
||||
echo -n "$smiley" | xsel -bi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat $FILE
|
||||
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# ABOUTME: Converts GTK theme colors to rofi-compatible CSS color values.
|
||||
# ABOUTME: Reads a template file and replaces {@theme_*_color} placeholders with hex values.
|
||||
|
||||
# https://github.com/Git-Fal7/gtk-rofi/
|
||||
# Taken from MATE-HUD github.com/ubuntu-mate/mate-hud
|
||||
# Used for rofi css
|
||||
|
||||
# Usage
|
||||
# ./moonarch-gtk-style [input file] > [output file]
|
||||
|
||||
# examples
|
||||
# background-color: {@theme_bg_color}
|
||||
|
||||
# see the array below for list of style context to use
|
||||
|
||||
import sys
|
||||
|
||||
if len(sys.argv)<2:
|
||||
sys.exit(1)
|
||||
|
||||
import gi
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gio, GLib, Gtk
|
||||
|
||||
#Converts from rgba <GTK R, G, B> to hex #RRGGBB
|
||||
def rgba_to_hex(color):
|
||||
return "#{0:02x}{1:02x}{2:02x}".format( int(color.red * 255), int(color.green * 255), int(color.blue * 255))
|
||||
|
||||
window = Gtk.Window()
|
||||
style_context = window.get_style_context()
|
||||
|
||||
#List of style contexts
|
||||
lists = [
|
||||
#Foreground
|
||||
'theme_fg_color', 'theme_selected_fg_color', 'theme_fg_color',
|
||||
'warning_fg_color', 'info_fg_color',
|
||||
#Background
|
||||
'theme_bg_color', 'theme_selected_bg_color', 'error_bg_color',
|
||||
'warning_bg_color', 'info_bg_color',
|
||||
#Others
|
||||
'theme_unfocused_fg_color', 'theme_text_color',
|
||||
'theme_unfocused_text_color',
|
||||
'theme_base_color',
|
||||
'theme_unfocused_fg_color',
|
||||
'theme_unfocused_text_color',
|
||||
'theme_unfocused_bg_color',
|
||||
'theme_unfocused_base_color',
|
||||
'theme_unfocused_selected_bg_color',
|
||||
'theme_unfocused_selected_fg_color',
|
||||
'unfocused_insensitive_color',
|
||||
'borders',
|
||||
'unfocused_borders',
|
||||
'warning_color',
|
||||
'error_color',
|
||||
'success_color'
|
||||
]
|
||||
|
||||
with open(sys.argv[1]) as f:
|
||||
file=f.read()
|
||||
for style in lists:
|
||||
file=file.replace("{@" + style + "}", rgba_to_hex(style_context.lookup_color(style)[1]))
|
||||
print(file)
|
||||
@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
# ABOUTME: Rofi helper that reads a JSON config file to build a dynamic menu.
|
||||
# ABOUTME: Parses name/command/icon fields from JSON and launches selected entries.
|
||||
|
||||
#https://github.com/luiscrjunior/rofi-json
|
||||
|
||||
user_file="${1/#\~/$HOME}"
|
||||
|
||||
if [[ "$user_file" = /* ]]
|
||||
then
|
||||
config_file="$user_file"
|
||||
else
|
||||
cwd=$(dirname $0)
|
||||
config_file="${cwd}/${user_file}"
|
||||
fi
|
||||
|
||||
json=$(cat ${config_file})
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
echo $json | jq -cr '.[] | "\(.name)|\(.command)|\(.icon)"' |
|
||||
while IFS="|" read -r name command icon
|
||||
do
|
||||
if [[ $name == "null" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ $icon == "null" ]]; then
|
||||
icon="system-run"
|
||||
fi
|
||||
echo -en "${name}\0icon\x1f${icon}\n"
|
||||
done
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $# -eq 2 ]; then
|
||||
|
||||
selected=$2
|
||||
task=$(echo $json | jq ".[] | select(.name == \"$selected\")")
|
||||
|
||||
if [[ $task == "" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
command=$(echo $task | jq -j ".command")
|
||||
|
||||
if [[ $command == "null" ]]; then
|
||||
command=$(echo $task | jq -j ".name")
|
||||
fi
|
||||
|
||||
coproc bash -c "$command"
|
||||
exit
|
||||
|
||||
fi
|
||||
@ -1,24 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Application launcher using rofi with GTK theme integration.
|
||||
# ABOUTME: Application launcher using rofi with Catppuccin Mocha theme.
|
||||
# ABOUTME: Supports window, files, run, and drun modes.
|
||||
|
||||
SETTINGS=/etc/xdg/rofi/gtk-theme.ini
|
||||
|
||||
#Gets the current gtk using gsettings and removes the quotes
|
||||
CURRENT_GTK_THEME=$(gsettings get org.gnome.desktop.interface gtk-theme)
|
||||
CURRENT_GTK_THEME="${CURRENT_GTK_THEME#?}"
|
||||
CURRENT_GTK_THEME="${CURRENT_GTK_THEME%?}"
|
||||
|
||||
#Gets the gtk theme that is in the settings.ini file
|
||||
SETTINGS_GTK_THEME=$(grep "GTK_THEME" "${SETTINGS}" | cut -b 11-)
|
||||
|
||||
#create new colors.rasi from template
|
||||
if [ "${SETTINGS_GTK_THEME}" != "${CURRENT_GTK_THEME}" ]; then
|
||||
sed -i "s:GTK_THEME=${SETTINGS_GTK_THEME}:GTK_THEME=${CURRENT_GTK_THEME}:g" "${SETTINGS}"
|
||||
|
||||
python3 moonarch-gtk-style /etc/xdg/rofi/_template/colors.rasi > /etc/xdg/rofi/colors.rasi
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
window)
|
||||
showmode="window"
|
||||
@ -38,4 +21,4 @@ esac
|
||||
rofi \
|
||||
-show $showmode \
|
||||
-click-to-exit \
|
||||
-theme /etc/xdg/rofi/launcher/launcher.rasi
|
||||
-theme /etc/xdg/rofi/themes/launcher.rasi
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
#!/bin/bash
|
||||
# ABOUTME: Rofi-based file search using the locate/mlocate database.
|
||||
# ABOUTME: Opens selected files with xdg-open.
|
||||
|
||||
# info: rofi-locate is a script to search local files and folders on your computer using the locate command and the updatedb database
|
||||
# requirements: rofi mlocate
|
||||
# playlist: rofi https://www.youtube.com/playlist?list=PLqv94xWU9zZ0LVP1SEFQsLEYjZC_SUB3m
|
||||
|
||||
xdg-open "$(locate home media | rofi -threads 0 -width 100 -dmenu -i -p "locate:")"
|
||||
@ -1,84 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-basiertes Power-Menü für Moonarch (Niri).
|
||||
# ABOUTME: Bietet Shutdown, Reboot, Lock, Suspend und Logout.
|
||||
|
||||
# CMDs
|
||||
uptime="`uptime -p | sed -e 's/up //g'`"
|
||||
host="$USER@"`hostname`
|
||||
|
||||
# Options
|
||||
shutdown=''
|
||||
reboot=''
|
||||
lock=''
|
||||
suspend=''
|
||||
logout=''
|
||||
yes=''
|
||||
no=''
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -dmenu \
|
||||
-p "$host uptime: $uptime" \
|
||||
-mesg "$host uptime: $uptime" \
|
||||
-theme /etc/xdg/rofi/powermenu/powermenu.rasi
|
||||
}
|
||||
|
||||
# Confirmation CMD
|
||||
confirm_cmd() {
|
||||
rofi -dmenu \
|
||||
-p 'Confirmation' \
|
||||
-normal-window \
|
||||
-mesg 'Confirm '${chosen} \
|
||||
-theme /etc/xdg/rofi/powermenu/confirm.rasi
|
||||
}
|
||||
|
||||
# Ask for confirmation
|
||||
confirm_exit() {
|
||||
echo -e "$yes\n$no" | confirm_cmd ${chosen}
|
||||
}
|
||||
|
||||
# Pass variables to rofi dmenu
|
||||
run_rofi() {
|
||||
echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd
|
||||
}
|
||||
|
||||
# Execute Command
|
||||
run_cmd() {
|
||||
selected="$(confirm_exit)"
|
||||
if [[ "$selected" == "$yes" ]]; then
|
||||
if [[ $1 == '--shutdown' ]]; then
|
||||
systemctl poweroff
|
||||
elif [[ $1 == '--reboot' ]]; then
|
||||
systemctl reboot
|
||||
elif [[ $1 == '--suspend' ]]; then
|
||||
mpc -q pause
|
||||
amixer set Master mute
|
||||
systemctl suspend
|
||||
elif [[ $1 == '--logout' ]]; then
|
||||
niri msg action quit
|
||||
fi
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
# Actions
|
||||
chosen="$(run_rofi)"
|
||||
case ${chosen} in
|
||||
$shutdown)
|
||||
run_cmd --shutdown
|
||||
;;
|
||||
$reboot)
|
||||
run_cmd --reboot
|
||||
;;
|
||||
$lock)
|
||||
killall rofi
|
||||
wlogout -P 1 -s -r 10 -c 10
|
||||
;;
|
||||
$suspend)
|
||||
run_cmd --suspend
|
||||
;;
|
||||
$logout)
|
||||
run_cmd --logout
|
||||
;;
|
||||
esac
|
||||
43
defaults/bin/moonarch-session
Executable file
43
defaults/bin/moonarch-session
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based session menu with horizontal icon layout.
|
||||
# ABOUTME: Replaces wlogout — provides lock, logout, suspend, hibernate, reboot, shutdown.
|
||||
|
||||
declare -A actions
|
||||
declare -a order
|
||||
|
||||
order=("lock" "logout" "suspend" "hibernate" "reboot" "shutdown")
|
||||
|
||||
actions[lock]="gtklock"
|
||||
actions[logout]="niri msg action quit"
|
||||
actions[suspend]="systemctl suspend"
|
||||
actions[hibernate]="systemctl hibernate"
|
||||
actions[reboot]="systemctl reboot"
|
||||
actions[shutdown]="systemctl poweroff"
|
||||
|
||||
# GTK icon theme names
|
||||
declare -A icons
|
||||
icons[lock]="system-lock-screen"
|
||||
icons[logout]="system-log-out"
|
||||
icons[suspend]="system-suspend"
|
||||
icons[hibernate]="system-suspend-hibernate"
|
||||
icons[reboot]="system-reboot"
|
||||
icons[shutdown]="system-shutdown"
|
||||
|
||||
# Build menu — use rofi icon protocol
|
||||
menu=""
|
||||
for key in "${order[@]}"; do
|
||||
[[ -n "$menu" ]] && menu+="\n"
|
||||
menu+="${key}\x00icon\x1f${icons[$key]}"
|
||||
done
|
||||
|
||||
selected=$(echo -e "$menu" | rofi -dmenu \
|
||||
-theme /etc/xdg/rofi/themes/session.rasi \
|
||||
-show-icons \
|
||||
-p "")
|
||||
|
||||
[[ -z "$selected" ]] && exit 0
|
||||
|
||||
# Execute the selected action
|
||||
if [[ -n "${actions[$selected]+x}" ]]; then
|
||||
eval "${actions[$selected]}"
|
||||
fi
|
||||
@ -6,7 +6,7 @@
|
||||
# @author moonarch.de (nevaforget)
|
||||
# script used with rofi to list desktop files of specific dir
|
||||
# dir: /usr/share/settings-menu/
|
||||
# @example rofi -show fb -modes "fb:moonarch-setmen" -theme /etc/xdg/rofi/settings-menu/settings-menu.rasi
|
||||
# @example rofi -show fb -modes "fb:moonarch-setmen" -theme /etc/xdg/rofi/themes/settings-menu.rasi
|
||||
# @dependencies glib >= 2.67.2
|
||||
####
|
||||
|
||||
|
||||
@ -1,135 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based settings menu that launches various system tools and scripts.
|
||||
# ABOUTME: Provides a searchable list of system utilities like VPN, sound, bluetooth, etc.
|
||||
|
||||
declare -A LABELS
|
||||
declare -A COMMANDS
|
||||
|
||||
###
|
||||
# List of defined 'bangs'
|
||||
|
||||
# launch programs
|
||||
# COMMANDS["apps"]="rofi -combi-modi window,drun -show combi"
|
||||
# LABELS["apps"]=""
|
||||
|
||||
# open bookmarks
|
||||
# COMMANDS["bookmarks"]="~/.scripts/rofi-scripts-collection/rofi-surfraw-bookmarks.sh"
|
||||
# LABELS["bookmarks"]=""
|
||||
|
||||
# search local files
|
||||
# COMMANDS[""]="moonarch-locate"
|
||||
# LABELS[""]="Locate"
|
||||
|
||||
COMMANDS[""]="wlogout -P 1 -s -r 10 -c 10"
|
||||
LABELS[""]="Session Menu"
|
||||
|
||||
# greenclip clipboard history
|
||||
# source: https://github.com/erebe/greenclip
|
||||
COMMANDS[""]='cliphist -db-path /run/user/1000/cliphist/db list | rofi -dmenu | cliphist -db-path /run/user/1000/cliphist/db decode | wl-copy'
|
||||
LABELS[""]="Clipboard"
|
||||
|
||||
COMMANDS[""]='moonarch-vpn'
|
||||
LABELS[""]='VPN Connection Manager'
|
||||
|
||||
COMMANDS[""]='waypaper'
|
||||
LABELS[""]='Wallpaper Settings'
|
||||
|
||||
COMMANDS[""]='moonarch-volume'
|
||||
LABELS[""]='Sound Manager'
|
||||
|
||||
#COMMANDS[""]='shortcuts module was removed'
|
||||
#LABELS[""]='Hotkey List'
|
||||
|
||||
COMMANDS[""]='wdisplays'
|
||||
LABELS[""]='Display Setup'
|
||||
|
||||
COMMANDS[""]='nwg-look'
|
||||
LABELS[""]='Appearance Settings'
|
||||
|
||||
COMMANDS[""]='noisetorch'
|
||||
LABELS[""]='Audio Noise Reduction'
|
||||
|
||||
COMMANDS[""]='$HOME/.local/share/headset-charge-indicator/headset-charge-indicator.py &'
|
||||
LABELS[""]='Headset Control'
|
||||
|
||||
COMMANDS[""]='moonarch-bluetooth'
|
||||
LABELS[""]='Bluetooth Control'
|
||||
|
||||
COMMANDS[""]='nm-applet --indicator &'
|
||||
LABELS[""]='Networker Manager'
|
||||
|
||||
COMMANDS[""]='wl-color-picker'
|
||||
LABELS[""]='Color Picker'
|
||||
|
||||
COMMANDS[""]='font-manager'
|
||||
LABELS[""]='Font Manager'
|
||||
|
||||
COMMANDS[""]='gufw'
|
||||
LABELS[""]='Firewall Settings'
|
||||
|
||||
COMMANDS[""]='env GTK_THEME=Adwaita:dark resources'
|
||||
LABELS[""]='System Resources'
|
||||
|
||||
COMMANDS[""]='moonarch-cpugov'
|
||||
LABELS[""]='CPU Modes'
|
||||
|
||||
COMMANDS[""]='hardinfo'
|
||||
LABELS[""]='System Profiler and Benchmark'
|
||||
|
||||
COMMANDS[""]='alarm-clock-applet'
|
||||
LABELS[""]='Alarm & Timer'
|
||||
|
||||
COMMANDS[""]='moonarch-launcher'
|
||||
LABELS[""]='App Launcher'
|
||||
|
||||
################################################################################
|
||||
# do not edit below
|
||||
################################################################################
|
||||
##
|
||||
# Generate menu
|
||||
##
|
||||
function print_menu()
|
||||
{
|
||||
for key in ${!LABELS[@]}
|
||||
do
|
||||
# echo "$key ${LABELS}"
|
||||
echo "$key ${LABELS[$key]}"
|
||||
# my top version just shows the first field in labels row, not two words side by side
|
||||
done
|
||||
}
|
||||
##
|
||||
# Show rofi.
|
||||
##
|
||||
function start()
|
||||
{
|
||||
# print_menu | rofi -dmenu -p "?=>"
|
||||
title="MoonArch \ $USER \ $(date +"%H:%M") \ $(uptime -p | sed 's/up //')"
|
||||
print_menu | sort | rofi -theme /etc/xdg/rofi/settings-menu/settings-menu.rasi -show $title -dmenu -markup-rows -mesg " $title" -i -p "rofi-bangs: "
|
||||
}
|
||||
|
||||
|
||||
# Run it
|
||||
value="$(start)"
|
||||
|
||||
# Split input.
|
||||
# grab upto first space.
|
||||
choice=${value%%\ *}
|
||||
# graph remainder, minus space.
|
||||
input=${value:$((${#choice}+1))}
|
||||
|
||||
##
|
||||
# Cancelled? bail out
|
||||
##
|
||||
if test -z ${choice}
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if choice exists
|
||||
if test ${COMMANDS[$choice]+isset}
|
||||
then
|
||||
# Execute the choice
|
||||
${COMMANDS[$choice]}
|
||||
else
|
||||
echo "Unknown command: ${choice}" | rofi -dmenu -p "error"
|
||||
fi
|
||||
@ -6,7 +6,7 @@
|
||||
# changes default sink and moves all streams to that sink
|
||||
#https://gist.github.com/Nervengift/844a597104631c36513c?permalink_comment_id=1826282
|
||||
|
||||
sink=$(ponymix -t sink list|awk '/^sink/ {s=$1" "$2;getline;gsub(/^ +/,"",$0);print s" "$0}'|rofi -dmenu -theme '/etc/xdg/rofi/volume/volume.rasi' -mesg ' Sink Switcher' -p 'pulseaudio sink:' -location 6 -width 100|grep -Po '[0-9]+(?=:)') &&
|
||||
sink=$(ponymix -t sink list|awk '/^sink/ {s=$1" "$2;getline;gsub(/^ +/,"",$0);print s" "$0}'|rofi -dmenu -theme '/etc/xdg/rofi/themes/volume.rasi' -mesg ' Sink Switcher' -p 'pulseaudio sink:' -location 6 -width 100|grep -Po '[0-9]+(?=:)') &&
|
||||
|
||||
|
||||
ponymix set-default -d $sink &&
|
||||
|
||||
@ -1,142 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# ABOUTME: Rofi-based tool launcher with SSH and system utility shortcuts.
|
||||
# ABOUTME: Provides a searchable menu of tools including VPN, sound, bluetooth, etc.
|
||||
|
||||
declare -A LABELS
|
||||
declare -A COMMANDS
|
||||
|
||||
###
|
||||
# List of defined 'bangs'
|
||||
|
||||
# launch programs
|
||||
# COMMANDS["apps"]="rofi -combi-modi window,drun -show combi"
|
||||
# LABELS["apps"]=""
|
||||
|
||||
# open bookmarks
|
||||
# COMMANDS["bookmarks"]="~/.scripts/rofi-scripts-collection/rofi-surfraw-bookmarks.sh"
|
||||
# LABELS["bookmarks"]=""
|
||||
|
||||
# search local files
|
||||
COMMANDS[""]="moonarch-locate"
|
||||
LABELS[""]="Locate"
|
||||
|
||||
# open custom web searches
|
||||
# COMMANDS["websearch"]="~/.scripts/rofi-scripts-collection/rofi-surfraw-websearch.sh"
|
||||
# LABELS["websearch"]=""
|
||||
|
||||
# show clipboard history
|
||||
# source: https://bitbucket.org/pandozer/rofi-clipboard-manager/overview
|
||||
# COMMANDS["clipboard"]='rofi -modi "clipboard:~/.bin/rofi-clipboard-manager/mclip.py menu" -show clipboard && ~/.bin/rofi-clipboard-manager/mclip.py paste'
|
||||
# LABELS["clipboard"]=""
|
||||
|
||||
# references --------------------------
|
||||
# COMMANDS[";sr2"]="chromium 'wikipedia.org/search-redirect.php?search=\" \${input}\""
|
||||
# LABELS[";sr2"]=""
|
||||
|
||||
# COMMANDS[";piratebay"]="chromium --disk-cache-dir=/tmp/cache http://thepiratebay.org/search/\" \${input}\""
|
||||
# LABELS[";piratebay"]=""
|
||||
|
||||
# COMMANDS[".bin"]="spacefm -r '/home/dka/bin'"
|
||||
# LABELS[".bin"]=".bin"
|
||||
|
||||
# COMMANDS["#screenshot"]='/home/dka/bin/screenshot-scripts/myscreenshot.sh'
|
||||
# LABELS["#screenshot"]="screenshot"
|
||||
|
||||
# greenclip clipboard history
|
||||
# source: https://github.com/erebe/greenclip
|
||||
COMMANDS[""]='rofi -modi "clipboard:greenclip print" -show Clipboard'
|
||||
LABELS[""]="Clipboard"
|
||||
|
||||
COMMANDS[""]='moonarch-vpn'
|
||||
LABELS[""]='VPN Connection Manager'
|
||||
|
||||
COMMANDS[""]='moonarch-volume'
|
||||
LABELS[""]='Sound Manager'
|
||||
|
||||
#COMMANDS[""]='shortcuts module was removed'
|
||||
#LABELS[""]='Hotkey List'
|
||||
|
||||
COMMANDS[""]='wlogout'
|
||||
LABELS[""]='Session Menu'
|
||||
|
||||
COMMANDS[""]='wdisplays'
|
||||
LABELS[""]='Display Setup'
|
||||
|
||||
COMMANDS[""]='nwg-look'
|
||||
LABELS[""]='Appearance Settings'
|
||||
|
||||
COMMANDS[""]='noisetorch'
|
||||
LABELS[""]='Audio Noise Reduction'
|
||||
|
||||
COMMANDS[""]='$HOME/.local/share/headset-charge-indicator/headset-charge-indicator.py &'
|
||||
LABELS[""]='Headset Control'
|
||||
|
||||
COMMANDS[""]='moonarch-bluetooth'
|
||||
LABELS[""]='Bluetooth Control'
|
||||
|
||||
COMMANDS[""]='nm-applet --indicator &'
|
||||
LABELS[""]='Networker Manager'
|
||||
|
||||
COMMANDS[""]='wl-color-picker'
|
||||
LABELS[""]='Color Picker'
|
||||
|
||||
COMMANDS[""]='font-manager'
|
||||
LABELS[""]='Font Manager'
|
||||
|
||||
COMMANDS[""]='gufw'
|
||||
LABELS[""]='Firewall Settings'
|
||||
|
||||
COMMANDS[""]='stacer'
|
||||
LABELS[" "]='System Maintenance'
|
||||
|
||||
|
||||
################################################################################
|
||||
# do not edit below
|
||||
################################################################################
|
||||
##
|
||||
# Generate menu
|
||||
##
|
||||
function print_menu()
|
||||
{
|
||||
for key in ${!LABELS[@]}
|
||||
do
|
||||
# echo "$key ${LABELS}"
|
||||
echo "$key ${LABELS[$key]}"
|
||||
# my top version just shows the first field in labels row, not two words side by side
|
||||
done
|
||||
}
|
||||
##
|
||||
# Show rofi.
|
||||
##
|
||||
function start()
|
||||
{
|
||||
# print_menu | rofi -dmenu -p "?=>"
|
||||
print_menu | sort | rofi -show "Tools" -dmenu -mesg " Tools" -i -p "rofi-bangs: "
|
||||
}
|
||||
|
||||
|
||||
# Run it
|
||||
value="$(start)"
|
||||
|
||||
# Split input.
|
||||
# grab upto first space.
|
||||
choice=${value%%\ *}
|
||||
# graph remainder, minus space.
|
||||
input=${value:$((${#choice}+1))}
|
||||
|
||||
##
|
||||
# Cancelled? bail out
|
||||
##
|
||||
if test -z ${choice}
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
# check if choice exists
|
||||
if test ${COMMANDS[$choice]+isset}
|
||||
then
|
||||
# Execute the choice
|
||||
${COMMANDS[$choice]}
|
||||
else
|
||||
echo "Unknown command: ${choice}" | rofi -dmenu -p "error"
|
||||
fi
|
||||
@ -7,7 +7,7 @@
|
||||
#
|
||||
## Applets : Volume
|
||||
|
||||
theme="/etc/xdg/rofi/volume/volume.rasi"
|
||||
theme="/etc/xdg/rofi/themes/volume.rasi"
|
||||
|
||||
# Volume Info
|
||||
mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`"
|
||||
|
||||
@ -80,7 +80,7 @@ function extract_connection_name_from_result() {
|
||||
# used as lines to select from.
|
||||
function start_rofi() {
|
||||
local content="$1"
|
||||
echo -e "$content" | rofi -dmenu -theme /etc/xdg/rofi/nm-vpn/nm-vpn.rasi -mesg " VPN Connection Manager" -icon ""
|
||||
echo -e "$content" | rofi -dmenu -theme /etc/xdg/rofi/themes/vpn.rasi -mesg " VPN Connection Manager" -icon ""
|
||||
}
|
||||
|
||||
# List the VPN connections and let the user toggle one using rofi.
|
||||
|
||||
37
defaults/user/waybar/config
Normal file
37
defaults/user/waybar/config
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
// ABOUTME: User-Override fuer Waybar — erweitert die systemweite Config aus /etc/xdg/waybar/.
|
||||
// ABOUTME: Eigene Module hier definieren und in modules-left/center/right eintragen.
|
||||
|
||||
// Systemweite Moonarch-Config als Basis laden.
|
||||
// Properties die hier definiert werden, ueberschreiben die aus dem Include.
|
||||
"include": ["/etc/xdg/waybar/config"]
|
||||
|
||||
// Beispiel: Modul-Leiste erweitern (muss komplett angegeben werden, da sie die
|
||||
// systemweite ersetzt):
|
||||
//
|
||||
// "modules-right": [
|
||||
// "mpris",
|
||||
// "custom/cpugov",
|
||||
// "group/net",
|
||||
// "group/sound",
|
||||
// "backlight",
|
||||
// "battery",
|
||||
// "battery#keyboard",
|
||||
// "group/indicators"
|
||||
// ],
|
||||
|
||||
// Beispiel: Logitech-Tastatur-Akku anzeigen
|
||||
// (hidpp_battery_X ggf. anpassen — siehe /sys/class/power_supply/)
|
||||
//
|
||||
// "battery#keyboard": {
|
||||
// "bat": "hidpp_battery_4",
|
||||
// "interval": 120,
|
||||
// "states": {
|
||||
// "warning": 35,
|
||||
// "critical": 20
|
||||
// },
|
||||
// "format": "{capacity}% ",
|
||||
// "format-charging": "{capacity}% ",
|
||||
// "tooltip-format": "Tastatur: {capacity}%"
|
||||
// }
|
||||
}
|
||||
18
defaults/user/waybar/style.css
Normal file
18
defaults/user/waybar/style.css
Normal file
@ -0,0 +1,18 @@
|
||||
/* ABOUTME: User-Override fuer Waybar-Styling — erweitert die systemweite style.css. */
|
||||
/* ABOUTME: Eigene Styles hier definieren, die systemweite Basis wird per @import geladen. */
|
||||
|
||||
@import url("/etc/xdg/waybar/style.css");
|
||||
|
||||
/* Eigene Styles unterhalb eintragen. */
|
||||
/* Selektoren aus der systemweiten Config koennen hier ueberschrieben werden. */
|
||||
|
||||
/* Beispiel: Logitech-Tastatur-Akku einfaerben */
|
||||
/*
|
||||
#battery-keyboard.warning:not(.charging) {
|
||||
color: #e6a200;
|
||||
}
|
||||
|
||||
#battery-keyboard.critical:not(.charging) {
|
||||
color: #cc3436;
|
||||
}
|
||||
*/
|
||||
@ -121,13 +121,13 @@ window-rule {
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
Super+C hotkey-overlay-title=null { spawn-sh "cliphist -db-path /run/user/1000/cliphist/db list | rofi -dmenu | cliphist -db-path /run/user/1000/cliphist/db decode | wl-copy"; }
|
||||
Super+C hotkey-overlay-title=null { spawn "moonarch-clipboard"; }
|
||||
|
||||
Alt+W { spawn-sh "killall waybar && waybar &"; }
|
||||
|
||||
Super+E { spawn-sh "xdg-open ~"; }
|
||||
|
||||
Super+T { spawn-sh "pkill rofi || rofi -show fb -modes \"fb:moonarch-setmen\" -theme /etc/xdg/rofi/settings-menu/settings-menu.rasi"; }
|
||||
Super+T { spawn-sh "pkill rofi || rofi -show fb -modes \"fb:moonarch-setmen\" -theme /etc/xdg/rofi/themes/settings-menu.rasi"; }
|
||||
|
||||
Super+N { spawn-sh "pkill rofi || moonarch-vpn"; }
|
||||
|
||||
|
||||
@ -1,82 +0,0 @@
|
||||
/**
|
||||
* @author Dominik Kressler
|
||||
* @package rofi-archer
|
||||
* @version 1.0.0
|
||||
**/
|
||||
|
||||
* {
|
||||
background: {@theme_bg_color};
|
||||
background-alt: {@theme_unfocused_fg_color}80;
|
||||
|
||||
|
||||
|
||||
foreground: {@theme_text_color};
|
||||
selected: #4c566a;
|
||||
border: {@borders};
|
||||
active: #98C37988;
|
||||
urgent: var(error-color);
|
||||
|
||||
|
||||
|
||||
/*https://catppuccin.ryanccn.dev/palette*/
|
||||
rosewater: #f5e0dc;
|
||||
flamingo: #f2cdcd;
|
||||
pink: #f5c2e7;
|
||||
mauve: #cba6f7;
|
||||
red: #f38ba8;
|
||||
maroon: #eba0ac;
|
||||
peach: #fab387;
|
||||
yellow: #f9e2af;
|
||||
green: #a6e3a1;
|
||||
teal: #94e2d5;
|
||||
sky: #89dceb;
|
||||
sapphire: #74c7ec;
|
||||
blue: #89b4fa;
|
||||
lavender: #b4befe;
|
||||
|
||||
text: {@theme_text_color};
|
||||
subtext1: {@theme_text_color}80;
|
||||
subtext0: #a6adc8;
|
||||
|
||||
overlay0: #6c7086;
|
||||
overlay1: #7f849c;
|
||||
overlay2: #9399b2;
|
||||
|
||||
surface0: #313244;
|
||||
surface1: #45475a;
|
||||
surface2: #585b70;
|
||||
|
||||
base: #1e1e2e;
|
||||
mantle: #181825;
|
||||
crust: #11111b;
|
||||
|
||||
|
||||
|
||||
/* GTK THEME VARS*/
|
||||
theme-fg-color: {@theme_fg_color};
|
||||
theme-text-color: {@theme_text_color};
|
||||
theme-bg-color: {@theme_bg_color};
|
||||
theme-base-color: {@theme_base_color};
|
||||
|
||||
theme-bg-color-shade-1: {@theme_bg_color}EF;
|
||||
theme-bg-color-shade-2: {@theme_bg_color}D8;
|
||||
theme-bg-color-shade-3: {@theme_bg_color}C9;
|
||||
|
||||
theme-selected-bg-color: {@theme_selected_bg_color};
|
||||
theme-selected-fg-color: {@theme_selected_fg_color};
|
||||
|
||||
theme-unfocused-fg-color: {@theme_unfocused_fg_color};
|
||||
theme-unfocused-text-color: {@theme_unfocused_text_color};
|
||||
theme-unfocused-bg-color: {@theme_unfocused_bg_color};
|
||||
theme-unfocused-base-color: {@theme_unfocused_base_color};
|
||||
theme-unfocused-selected-bg-color: {@theme_unfocused_selected_bg_color};
|
||||
theme-unfocused-selected-fg-color: {@theme_unfocused_selected_fg_color};
|
||||
unfocused-insensitive-color: {@unfocused_insensitive_color};
|
||||
|
||||
borders: {@theme_selected_bg_color}30;
|
||||
unfocused-borders: {@unfocused_borders};
|
||||
|
||||
warning-color: {@warning_color};
|
||||
error-color: {@error_color};
|
||||
success-color: {@success_color};
|
||||
}
|
||||
@ -1,157 +0,0 @@
|
||||
* {
|
||||
on: #98B3C8;
|
||||
off: #CC9498;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
@import "../colors.rasi"
|
||||
@import "../fonts.rasi"
|
||||
|
||||
configuration {
|
||||
show-icons: false;
|
||||
icon-theme: "Papirus";
|
||||
display-drun: ":";
|
||||
drun-display-format: "{name}";
|
||||
threads: 0;
|
||||
scroll-method: 0;
|
||||
disable-history: false;
|
||||
fullscreen: false;
|
||||
hide-scrollbar: true;
|
||||
sidebar-mode: false;
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
width: 384px;
|
||||
location: center;
|
||||
anchor: center;
|
||||
x-offset: 0;
|
||||
y-offset: 0;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 4px 4px 6px 6px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: "";
|
||||
background-color: @background;
|
||||
text-color: @urgent;
|
||||
padding: 5px 0px 0px 4px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ textbox-prompt-colon, prompt ];
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
expand: false;
|
||||
border: 0px 0px 1px 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 0px 0px 0px 0px;
|
||||
position: center;
|
||||
}
|
||||
|
||||
|
||||
entry {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
placeholder-color: @foreground;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
placeholder: "Search";
|
||||
blink: true;
|
||||
padding: 4px 0px 0px 0px;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
listview {
|
||||
background-color: @background;
|
||||
columns: 9;
|
||||
lines: 7;
|
||||
spacing: 5px;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @background;
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 5px;
|
||||
padding: 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
orientation: horizontal;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
padding: 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 24px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
vertical-align: 0;
|
||||
margin: 2px 0px 2px 2px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
}
|
||||
|
||||
element.active,
|
||||
element.selected.urgent {
|
||||
background-color: @background-alt;
|
||||
text-color: @background;
|
||||
border-color: @background-alt;
|
||||
}
|
||||
|
||||
element.selected.urgent {
|
||||
border-color: @urgent;
|
||||
}
|
||||
|
||||
element.urgent,
|
||||
element.selected.active {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
border-color: @background;
|
||||
}
|
||||
|
||||
element.selected.active {
|
||||
border-color: @selected;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
@ -80,7 +80,7 @@ window {
|
||||
border-color: var(borders);
|
||||
cursor: "default";
|
||||
|
||||
background-color: @theme-bg-color-shade-3;
|
||||
background-color: @theme-bg-color-shade-1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,280 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
@import "../config.rasi"
|
||||
@import "../colors.rasi"
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
|
||||
show-icons: true;
|
||||
display-emoji: "";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
|
||||
* {
|
||||
border-colour: var(border);
|
||||
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 {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 600px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
|
||||
}
|
||||
|
||||
/*****----- 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: [ "message", "listview", "inputbar" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0;
|
||||
padding: 20px 0px 0;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
children: [ "textbox-prompt-colon", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 5px 0px 0px 15px;
|
||||
expand: false;
|
||||
font: "UbuntuSans Nerd Font 14";
|
||||
str: "";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "...";
|
||||
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 {
|
||||
enabled: true;
|
||||
columns: 4;
|
||||
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;
|
||||
|
||||
background-color: transparent;
|
||||
text-color: @subtext1;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px;
|
||||
handle-color: @handle-colour;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 5px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @text;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: transparent;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(normal-foreground);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 0;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- 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: 7px 15px 7px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
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;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
GTK_THEME=catppuccin-mocha-lavender-standard+default
|
||||
@ -1,291 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser,window";
|
||||
show-icons: true;
|
||||
drun-display-format: "{name}";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
@import "../config.rasi"
|
||||
@import "../colors.rasi"
|
||||
@import "../fonts.rasi"
|
||||
|
||||
* {
|
||||
border-colour: var(border);
|
||||
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 {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 600px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
|
||||
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: [ "message", "listview", "inputbar" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0;
|
||||
padding: 20px 0px 0;
|
||||
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 {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 5px 0px 0px 15px;
|
||||
expand: false;
|
||||
font: "UbuntuSans Nerd Font 14";
|
||||
str: "";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "...";
|
||||
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 {
|
||||
enabled: true;
|
||||
columns: 2;
|
||||
lines: 8;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
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: transparent;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0;
|
||||
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 {
|
||||
background-color: transparent;
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(normal-foreground);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 0;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- 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: 7px 15px 7px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
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;
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
@import "config.rasi"
|
||||
@import "colors.rasi"
|
||||
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
window {
|
||||
|
||||
width:200px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ "message", "listview"];
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
background-color: transparent;
|
||||
text-color: var(theme-text-color);
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
|
||||
placeholder-color: var(theme-text-color);
|
||||
|
||||
font: "UbuntuSans Nerd Font Bold 12";
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
background-color: var(theme-bg-color);
|
||||
text-color: var(theme-text-color);
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 1;
|
||||
layout:vertical;
|
||||
}
|
||||
|
||||
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
background-color: transparent;
|
||||
|
||||
cursor: "pointer";
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: var(theme-text-color);
|
||||
cursor: inherit;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align:0;
|
||||
font: "UbuntuSans Nerd Font 18";
|
||||
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(theme-selected-bg-color);
|
||||
text-color: var(theme-selected-fg-color);
|
||||
}
|
||||
element-text selected.normal {
|
||||
text-color: var(mantle);
|
||||
}
|
||||
@ -1,102 +0,0 @@
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
@import "../config.rasi"
|
||||
|
||||
|
||||
window {
|
||||
fullscreen: true;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 200px;
|
||||
background-color: transparent;
|
||||
children: ["inputbar", "listview" ];
|
||||
expand: true;
|
||||
}
|
||||
|
||||
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 12px 19px 12px 16px;
|
||||
border-radius: 10px;
|
||||
text-color: var(theme-selected-bg-color);
|
||||
children: ["textbox-prompt-colon", "prompt"];
|
||||
background-color: var(theme-selected-fg-color);
|
||||
expand: false;
|
||||
}
|
||||
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
margin: 0;
|
||||
padding: 0 4px 0 0;
|
||||
font: "UbuntuSans Nerd Font 16";
|
||||
}
|
||||
prompt {
|
||||
padding: 4px 0 0 0;
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
layout: horizontal;
|
||||
columns: 2;
|
||||
lines: 5;
|
||||
cycle: true;
|
||||
dynamic: false;
|
||||
scrollbar: false;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
spacing: 15px;
|
||||
background-color: transparent;
|
||||
text-color: var(theme-text-color);
|
||||
cursor: "default";
|
||||
padding: 0;
|
||||
margin:0 ;
|
||||
}
|
||||
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
|
||||
background-color: transparent;
|
||||
|
||||
cursor: "pointer";
|
||||
}
|
||||
element-text {
|
||||
font: "UbuntuSans Nerd Font 28";
|
||||
background-color: transparent;
|
||||
text-color: var(text);
|
||||
cursor: inherit;
|
||||
vertical-align: 0;
|
||||
horizontal-align: 1;
|
||||
padding: 0 10px;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(theme-selected-bg-color);
|
||||
}
|
||||
element-text selected.normal {
|
||||
text-color: var(theme-bg-color);
|
||||
}
|
||||
44
defaults/xdg/rofi/themes/clipboard.rasi
Normal file
44
defaults/xdg/rofi/themes/clipboard.rasi
Normal file
@ -0,0 +1,44 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
show-icons: false;
|
||||
drun-display-format: "{name}";
|
||||
}
|
||||
|
||||
@import "../config.rasi"
|
||||
@import "../colors.rasi"
|
||||
|
||||
|
||||
window {
|
||||
enabled: true;
|
||||
cursor: "default";
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
|
||||
mainbox {
|
||||
children: [ "message", "listview", "inputbar" ];
|
||||
}
|
||||
|
||||
|
||||
inputbar {
|
||||
enabled: true;
|
||||
|
||||
children: [ "textbox-prompt-colon", "entry", "mode-switcher" ];
|
||||
}
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 10;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0px;
|
||||
}
|
||||
85
defaults/xdg/rofi/themes/session.rasi
Normal file
85
defaults/xdg/rofi/themes/session.rasi
Normal file
@ -0,0 +1,85 @@
|
||||
/**
|
||||
* @author Moonarch
|
||||
* @description Rofi session menu — horizontal icon layout
|
||||
**/
|
||||
|
||||
@import "../config.rasi"
|
||||
@import "../colors.rasi"
|
||||
|
||||
window {
|
||||
width: 674px;
|
||||
location: center;
|
||||
anchor: center;
|
||||
border-radius: var(border-radius);
|
||||
border: var(frame-border);
|
||||
border-color: var(borders);
|
||||
background-color: @theme-bg-color-shade-1;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
padding: 30px;
|
||||
background-color: transparent;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
message {
|
||||
enabled: true;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox {
|
||||
background-color: transparent;
|
||||
text-color: var(theme-text-color);
|
||||
horizontal-align: 0.5;
|
||||
font: "UbuntuSans Nerd Font 11";
|
||||
markup: true;
|
||||
}
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 6;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: false;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element {
|
||||
enabled: true;
|
||||
padding: 15px;
|
||||
border-radius: var(border-radius);
|
||||
background-color: transparent;
|
||||
text-color: var(theme-text-color);
|
||||
cursor: pointer;
|
||||
orientation: vertical;
|
||||
children: [ "element-icon" ];
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: var(theme-selected-fg-color);
|
||||
text-color: var(theme-selected-bg-color);
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
size: 64px;
|
||||
cursor: inherit;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
font: "UbuntuSans Nerd Font 9";
|
||||
}
|
||||
@ -1,176 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
* ---
|
||||
*
|
||||
* @Modification Dominik Kressler
|
||||
* @package rofi-archer
|
||||
* @version 1.0.0
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
@import "../colors.rasi"
|
||||
@import "../fonts.rasi"
|
||||
|
||||
/*
|
||||
USE_BUTTONS=YES
|
||||
*/
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 800px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @selected;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
children: [ "textbox-prompt-colon", "prompt"];
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 12px 20px 12px 16px;
|
||||
border-radius: 100%;
|
||||
background-color: @urgent;
|
||||
text-color: @background;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 12px;
|
||||
border-radius: 100%;
|
||||
background-color: @active;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
font-weight: bold;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
placeholder-color: @foreground;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 5;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 40px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
border-color: @selected;
|
||||
background-color: @selected;
|
||||
text-color: var(background-alt);
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
font: "UbuntuSans Nerd Font Bold 32";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(background-alt);
|
||||
text-color: @foreground;
|
||||
}
|
||||
@ -98,7 +98,7 @@
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "<b>{:%d.%m.%Y %H:%M}</b>",
|
||||
"format": "<b>{:%d.%m. %H:%M}</b>",
|
||||
"timezone": "DE",
|
||||
"timezone": "Europe/Berlin",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
@ -136,18 +136,18 @@
|
||||
"format-bluetooth": "{icon} {volume}% {format_source}",
|
||||
"format-bluetooth-muted": "{icon} {format_source}",
|
||||
"format-muted": "{icon} <b>0</b>%",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
},
|
||||
@ -167,7 +167,7 @@
|
||||
"player-icons": {
|
||||
"default": "⏸",
|
||||
"mpv": "🎵",
|
||||
"spotify": "",
|
||||
"spotify": "",
|
||||
"firefox": "",
|
||||
"mercury": ""
|
||||
},
|
||||
@ -177,21 +177,13 @@
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"menu": "on-click",
|
||||
"menu-file": "~/.config/waybar/session_menu.xml",
|
||||
"menu-actions": {
|
||||
"lock": "gtklock",
|
||||
"logout": "niri msg action quit",
|
||||
"hibernate": "systemctl hibernate",
|
||||
"reboot": "systemctl reboot",
|
||||
"suspend": "systemctl suspend",
|
||||
"shutdown": "systemctl poweroff"
|
||||
}
|
||||
"on-click": "wlogout",
|
||||
"tooltip-format": "Session Menu"
|
||||
},
|
||||
"gamemode": {
|
||||
"format": "{glyph}<small>{count}</small>",
|
||||
"format-alt": "{glyph}",
|
||||
"glyph": "",
|
||||
"glyph": "",
|
||||
"hide-not-running": true,
|
||||
"use-icon": true,
|
||||
"icon-name": "input-gaming-symbolic",
|
||||
@ -338,6 +330,7 @@
|
||||
"restart-interval": 10
|
||||
},
|
||||
"battery": {
|
||||
"bat": "BAT0",
|
||||
"interval": 60,
|
||||
"states": {
|
||||
"warning": 30,
|
||||
@ -345,11 +338,11 @@
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"max-length": 25
|
||||
},
|
||||
@ -417,13 +410,13 @@
|
||||
"format-icons": {
|
||||
// Named workspaces
|
||||
// (you need to configure them in niri)
|
||||
"browser": "",
|
||||
"discord": "",
|
||||
"browser": "",
|
||||
"discord": "",
|
||||
"chat": "<b></b>",
|
||||
|
||||
// Icons by state
|
||||
"active": "",
|
||||
"default": ""
|
||||
"active": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
"niri/window": {
|
||||
@ -436,7 +429,7 @@
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", ""]
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"backlight/slider": {
|
||||
"min": 10,
|
||||
@ -465,19 +458,18 @@
|
||||
// A mapping from window app_id to icon. Note that this module does
|
||||
// case-insensitive matching of app_ids, so capitalization doesn't matter.
|
||||
"window-icons": {
|
||||
"com.mitchellh.ghostty": "",
|
||||
"darktable": "",
|
||||
"foot": "",
|
||||
"google-chrome": "",
|
||||
"spotify": "",
|
||||
"steam": "",
|
||||
"com.mitchellh.ghostty": "",
|
||||
"darktable": "",
|
||||
"foot": "",
|
||||
"google-chrome": "",
|
||||
"spotify": "",
|
||||
"steam": "",
|
||||
},
|
||||
// If no icon is found for a window, the default is used instead
|
||||
"window-icon-default": "*",
|
||||
},
|
||||
"height": 40,
|
||||
},
|
||||
"cffi/niri-windows": {
|
||||
"cffi/niri-windows": {
|
||||
// path where you placed the .so file
|
||||
"module_path": "/usr/lib/waybar-niri-windows.so",
|
||||
// configure the module's behavior
|
||||
@ -527,13 +519,13 @@
|
||||
"rules": [
|
||||
// .alacritty will be added to all windows with the App ID "Alacritty"
|
||||
// will be drawn in windows that match
|
||||
{ "app-id": "Alacritty", "class": "alacritty", "icon": "" },
|
||||
{ "app-id": "Alacritty", "class": "alacritty", "icon": "" },
|
||||
// .firefox will be added to all windows with the App ID "firefox"
|
||||
// subsequent rules are also checked and applied for firefox windows
|
||||
{ "app-id": "firefox", "class": "firefox", "continue": true },
|
||||
// .youtube-music will be added to all windows that have "YouTube Music" at the end of their title
|
||||
// will be drawn in windows that match
|
||||
{ "title": "YouTube Music$", "class": "youtube-music", "icon": "" }
|
||||
{ "title": "YouTube Music$", "class": "youtube-music", "icon": "" }
|
||||
],
|
||||
|
||||
// ======= text mode options =======
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label">Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label">Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="lock">
|
||||
<property name="label"> Lock</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="logout">
|
||||
<property name="label"> Logout</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label"> Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label"> Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label"> Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@ -1,9 +1,6 @@
|
||||
/* ABOUTME: Moonarch default waybar stylesheet with Catppuccin Mocha inspired styling. */
|
||||
/* ABOUTME: User overrides go in ~/.config/waybar/style.css */
|
||||
|
||||
* {
|
||||
border: none;
|
||||
font-family: "UbuntuSans Nerd Font", sans-serif;
|
||||
font-family: "Ubuntu Nerd Font", sans-serif;
|
||||
font-size: 13px;
|
||||
color: alpha(@theme_text_color, 0.8);
|
||||
}
|
||||
@ -114,7 +111,6 @@ window#waybar {
|
||||
border-radius: 4px;
|
||||
padding: 0px 8px 0px 8px;
|
||||
margin: 8px 0px 8px 0px;
|
||||
background-color: alpha(@theme_selected_bg_color, 0.1);
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
|
||||
@ -148,6 +148,24 @@ else
|
||||
log "moongreet bereits installiert."
|
||||
fi
|
||||
|
||||
# --- moonset installieren (Power Menu aus Gitea) ---
|
||||
|
||||
if ! command -v moonset &>/dev/null; then
|
||||
log "Installiere moonset..."
|
||||
MOONSET_TMPDIR=$(mktemp -d)
|
||||
git clone https://gitea.moonarch.de/nevaforget/moonset.git "$MOONSET_TMPDIR/moonset"
|
||||
(cd "$MOONSET_TMPDIR/moonset" && uv pip install --system .)
|
||||
rm -rf "$MOONSET_TMPDIR"
|
||||
else
|
||||
log "moonset bereits installiert."
|
||||
fi
|
||||
|
||||
# --- moonlock systemd user service ---
|
||||
|
||||
log "Konfiguriere moonlock User-Service..."
|
||||
sudo mkdir -p /etc/systemd/user
|
||||
sudo cp "$DEFAULTS_DIR/etc/systemd/user/moonlock.service" /etc/systemd/user/moonlock.service
|
||||
|
||||
# --- greetd / moongreet Konfiguration ---
|
||||
|
||||
log "Konfiguriere greetd + moongreet..."
|
||||
@ -204,6 +222,31 @@ if ! groups | grep -q docker; then
|
||||
sudo usermod -aG docker "$USER"
|
||||
fi
|
||||
|
||||
# --- User-Config-Defaults installieren ---
|
||||
|
||||
log "Installiere User-Config-Defaults nach ~/.config/..."
|
||||
USER_DEFAULTS_DIR="$DEFAULTS_DIR/user"
|
||||
if [[ -d "$USER_DEFAULTS_DIR" ]]; then
|
||||
# Jedes Unterverzeichnis in defaults/user/ entspricht einem ~/.config/-Verzeichnis.
|
||||
# Dateien werden nur kopiert wenn sie noch nicht existieren (kein Ueberschreiben).
|
||||
for src_dir in "$USER_DEFAULTS_DIR"/*/; do
|
||||
app_name="$(basename "$src_dir")"
|
||||
dest_dir="$HOME/.config/$app_name"
|
||||
mkdir -p "$dest_dir"
|
||||
find "$src_dir" -type f -print0 | while IFS= read -r -d '' src_file; do
|
||||
rel_path="${src_file#"$src_dir"}"
|
||||
dest_file="$dest_dir/$rel_path"
|
||||
if [[ ! -f "$dest_file" ]]; then
|
||||
mkdir -p "$(dirname "$dest_file")"
|
||||
cp "$src_file" "$dest_file"
|
||||
log " + $app_name/$rel_path"
|
||||
else
|
||||
log " ~ $app_name/$rel_path existiert bereits, uebersprungen."
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# --- Screenshots-Verzeichnis ---
|
||||
|
||||
mkdir -p "$HOME/Pictures/Screenshots"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user