Add ac-adaptive and ac-i3

This commit is contained in:
2024-12-30 17:42:34 -07:00
parent 08266c9e8a
commit 0df5cf6ad2
77 changed files with 11099 additions and 24 deletions

31
ac-adaptive/colors.ini Normal file
View File

@@ -0,0 +1,31 @@
[color]
BACKGROUND = #222d32
FOREGROUND = #c4c7c5
ALTBACKGROUND = #415660
ALTFOREGROUND = #767c78
ACCENT = #00BCD4
BLACK = #263640
RED = #ec7875
GREEN = #61c766
YELLOW = #fdd835
BLUE = #42a5f5
MAGENTA = #ba68c8
CYAN = #4dd0e1
WHITE = #bfbaac
ALTBLACK = #4a697d
ALTRED = #fb8784
ALTGREEN = #70d675
ALTYELLOW = #ffe744
ALTBLUE = #51b4ff
ALTMAGENTA = #c979d7
ALTCYAN = #5cdff0
ALTWHITE = #fdf6e3
BACKGROUND1 = #273439
BACKGROUND2 = #2c3a41
BACKGROUND3 = #314148
BACKGROUND4 = #364850
BACKGROUND5 = #3c4f58
BACKGROUND6 = #415660

282
ac-adaptive/config.ini Normal file
View File

@@ -0,0 +1,282 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; Global WM Settings
[global/wm]
; Adjust the _NET_WM_STRUT_PARTIAL top value
; Used for top aligned bars
margin-bottom = 0
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
; Used for bottom aligned bars
margin-top = 0
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; File Inclusion
; include an external file, like module file, etc.
#include-file = ../../system.ini
include-file = ./colors.ini
include-file = ./modules.ini
include-file = ./decor.ini
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; Bar Settings
[bar/primary]
; This is for the primary monitor, the launch.sh script uses this bar for primary monitor only
; the modules-right includes the tray for primary monitor only!
inherit = bar/main
modules-right = 2RD ethernet 3RD battery 4RD volume 5RD date 6RD tray 7RD sysmenu sepR
[bar/main]
; Use either of the following command to list available outputs:
; If unspecified, the application will pick the first one it finds.
; $ polybar -m | cut -d ':' -f 1
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
monitor = ${env:MONITOR:}
; Use the specified monitor as a fallback if the main one is not found.
monitor-fallback =
; Require the monitor to be in connected state
; XRandR sometimes reports my monitor as being disconnected (when in use)
monitor-strict = false
; Tell the Window Manager not to configure the window.
; Use this to detach the bar if your WM is locking its size/position.
override-redirect = false
; Put the bar at the bottom of the screen
bottom = false
; Prefer fixed center position for the `modules-center` block
; When false, the center position will be based on the size of the other blocks.
fixed-center = true
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
; the percentage can optionally be extended with a pixel offset like so:
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
width = 100%
height = 28
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
; the percentage can optionally be extended with a pixel offset like so:
; 50%:-10, this will result in an offset in the x or y direction
; of 50% minus 10 pixels
offset-x = 0%
offset-y = 0%
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
background = ${color.BACKGROUND}
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
foreground = ${color.FOREGROUND}
; Background gradient (vertical steps)
; background-[0-9]+ = #aarrggbb
;;background-0 =
; Value used for drawing rounded corners
; Note: This shouldn't be used together with border-size because the border
; doesn't get rounded
; Individual top/bottom values can be defined using:
; radius-{top,bottom}
radius-top = 0.0
radius-bottom = 0.0
; Under-/overline pixel size and argb color
; Individual values can be defined using:
; {overline,underline}-size
; {overline,underline}-color
line-size = 2
line-color = ${color.ACCENT}
; Values applied to all borders
; Individual side values can be defined using:
; border-{left,top,right,bottom}-size
; border-{left,top,right,bottom}-color
; The top and bottom borders are added to the bar height, so the effective
; window height is:
; height + border-top-size + border-bottom-size
; Meanwhile the effective window width is defined entirely by the width key and
; the border is placed withing this area. So you effectively only have the
; following horizontal space on the bar:
; width - border-right-size - border-left-size
border-top-size = 0
border-color = ${color.ACCENT}
; Number of spaces to add at the beginning/end of the bar
; Individual side values can be defined using:
; padding-{left,right}
padding = 0
; Number of spaces to add before/after each module
; Individual side values can be defined using:
; module-margin-{left,right}
module-margin-left = 0
module-margin-right = 0
; Fonts are defined using <font-name>;<vertical-offset>
; Font names are specified using a fontconfig pattern.
; font-0 = "Iosevka:size=10;3"
; font-1 = MaterialIcons:size=10
; font-2 = Termsynu:size=8;-1
; font-3 = FontAwesome:size=10
; See the Fonts wiki page for more details
font-0 = "Iosevka:size=10;3"
font-1 = "Symbols Nerd Font:size=12;3"
font-2 = "Symbols Nerd Font:size=26;5"
font-3 = "Symbols Nerd Font:size=10;3"
; Modules are added to one of the available blocks
; modules-left = cpu ram
; modules-center = xwindow xbrightness
; modules-right = ipc clock
# Default
; modules-left = sepL menu 1LD openbox 2LD cpu 3LD memory 4LD filesystem 5LD
; modules-center = mpd
; modules-right = 2RD volume 3RD bna 4RD battery 5RD bluetooth sep ethernet 6RD date 7RD sysmenu tray sepR
# mReschke
modules-left = sepL menu 1LD workspaces2 2LD cpu 3LD memory 4LD filesystem 5LD
modules-center = mpd i3
modules-right = 2RD ethernet 3RD battery 4RD volume 5RD date 6RD 7RD sysmenu sepR
# Alternate
; modules-left = openbox 2LD cpu 3LD memory 4LD filesystem 5LD
; modules-center = mpd
; modules-right = 2RD volume 3RD brightness 4RD battery 5RD ethernet 6RD date sep
; The separator will be inserted between the output of each module
separator =
; This value is used to add extra spacing between elements
; @deprecated: This parameter will be removed in an upcoming version
spacing = 0
; Opacity value between 0.0 and 1.0 used on fade in/out
dim-value = 1.0
; Value to be used to set the WM_NAME atom
; If the value is empty or undefined, the atom value
; will be created from the following template: polybar-[BAR]_[MONITOR]
; NOTE: The placeholders are not available for custom values
wm-name = openbox
; Locale used to localize various module data (e.g. date)
; Expects a valid libc locale, for example: sv_SE.UTF-8
locale =
; Restack the bar window and put it above the
; selected window manager's root
;
; Fixes the issue where the bar is being drawn
; on top of fullscreen window's
;
; Currently supported WM's:
; bspwm
; i3 (requires: `override-redirect = true`)
wm-restack = openbox
; Set a DPI values used when rendering text
; This only affects scalable fonts
; dpi =
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
; Fallback click handlers that will be called if
; there's no matching module handler found.
click-left =
click-middle =
click-right =
scroll-up =
scroll-down =
double-click-left =
double-click-middle =
double-click-right =
; Requires polybar to be built with xcursor support (xcb-util-cursor)
; Possible values are:
; - default : The default pointer as before, can also be an empty string (default)
; - pointer : Typically in the form of a hand
; - ns-resize : Up and down arrows, can be used to indicate scrolling
cursor-click =
cursor-scroll =
;; WM Workspace Specific
; bspwm
;;scroll-up = bspwm-desknext
;;scroll-down = bspwm-deskprev
;;scroll-up = bspc desktop -f prev.local
;;scroll-down = bspc desktop -f next.local
;i3
;;scroll-up = i3wm-wsnext
;;scroll-down = i3wm-wsprev
;;scroll-up = i3-msg workspace next_on_output
;;scroll-down = i3-msg workspace prev_on_output
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; Application Settings
[settings]
; The throttle settings lets the eventloop swallow up til X events
; if they happen within Y millisecond after first event was received.
; This is done to prevent flood of update event.
;
; For example if 5 modules emit an update event at the same time, we really
; just care about the last one. But if we wait too long for events to swallow
; the bar would appear sluggish so we continue if timeout
; expires or limit is reached.
throttle-output = 5
throttle-output-for = 10
; Time in milliseconds that the input handler will wait between processing events
;throttle-input-for = 30
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
screenchange-reload = true
; Compositing operators
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
compositing-background = source
compositing-foreground = over
compositing-overline = over
compositing-underline = over
compositing-border = over
; Define fallback values used by all module formats
;format-foreground =
;format-background =
;format-underline =
;format-overline =
;format-spacing =
;format-padding =
;format-margin =
;format-offset =
; Enables pseudo-transparency for the bar
; If set to true the bar can be transparent without a compositor.
pseudo-transparency = false
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

92
ac-adaptive/decor.ini Normal file
View File

@@ -0,0 +1,92 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; DECOR _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/sepL]
type = custom/text
content = --
content-background = ${color.BACKGROUND5}
content-foreground = ${color.BACKGROUND5}
[module/sepR]
type = custom/text
content = --
content-background = ${color.BACKGROUND6}
content-foreground = ${color.BACKGROUND6}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/1LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND4}
content-foreground = ${color.BACKGROUND5}
[module/2LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND3}
content-foreground = ${color.BACKGROUND4}
[module/3LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND2}
content-foreground = ${color.BACKGROUND3}
[module/4LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND1}
content-foreground = ${color.BACKGROUND2}
[module/5LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND}
content-foreground = ${color.BACKGROUND1}
[module/7RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND6}
content-foreground = ${color.BACKGROUND5}
[module/6RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND5}
content-foreground = ${color.BACKGROUND4}
[module/5RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND4}
content-foreground = ${color.BACKGROUND3}
[module/4RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND3}
content-foreground = ${color.BACKGROUND2}
[module/3RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND2}
content-foreground = ${color.BACKGROUND1}
[module/2RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND}
content-foreground = ${color.BACKGROUND1}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

1156
ac-adaptive/modules.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
[dmenu]
dmenu_command = rofi -dmenu -theme ~/.config/polybar/ac-adaptive/scripts/rofi/networkmenu.rasi
# # Note that dmenu_command can contain arguments as well like `rofi -width 30`
# # Rofi and dmenu are set to case insensitive by default `-i`
# l = number of lines to display, defaults to number of total network options
# fn = font string
# nb = normal background (name, #RGB, or #RRGGBB)
# nf = normal foreground
# sb = selected background
# sf = selected foreground
# b = (just set to empty value and menu will appear at the bottom
# m = number of monitor to display on
# p = Custom Prompt for the networks menu
# pinentry = Pinentry command
# rofi_highlight = <True or False> # (Default: False) use rofi highlighting instead of '**'
# # override normal foreground and background colors (dmenu) or use the
# # -password option (rofi) to obscure passphrase entry
# [dmenu_passphrase]
# nf = #222222
# nb = #222222
# rofi_obscure = True
[editor]
terminal = kitty
gui_if_available = True
# terminal = <name of terminal program>
# gui_if_available = <True or False>

View File

@@ -0,0 +1,66 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Colors
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
CDIR=`cd "$DIR" && cd .. && pwd`
POWER_ON=`cat $CDIR/colors.ini | grep 'GREEN' | head -n1 | cut -d '=' -f2 | tr -d ' '`
POWER_OFF=`cat $CDIR/colors.ini | grep 'ALTFOREGROUND' | head -n1 | cut -d '=' -f2 | tr -d ' '`
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
if [[ -z `bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-` ]]; then
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}On"
fi
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl $paired_devices_cmd | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}$device_alias"
else
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}$device_alias"
fi
((counter++))
fi
done
else
echo "%{F$POWER_OFF}%{T2}%{T-} Off%{F-}"
fi
}
# Print Status
print_status

View File

@@ -0,0 +1 @@
rofi-launcher

1038
ac-adaptive/scripts/network_menu Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
rofi-powermenu

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/scripts/rofi/askpass.rasi"
# rofi text dialog to get password
rofi -dmenu \
-password \
-i \
-p "Root" \
-theme ${RASI}

View File

@@ -0,0 +1,321 @@
#!/usr/bin/env bash
# __ _ _ _ _ _ _
# _ __ ___ / _(_) | |__ | |_ _ ___| |_ ___ ___ | |_| |__
# | '__/ _ \| |_| |_____| '_ \| | | | |/ _ \ __/ _ \ / _ \| __| '_ \
# | | | (_) | _| |_____| |_) | | |_| | __/ || (_) | (_) | |_| | | |
# |_| \___/|_| |_| |_.__/|_|\__,_|\___|\__\___/ \___/ \__|_| |_|
#
# Author: Nick Clyde (clydedroid)
#
# A script that generates a rofi menu that uses bluetoothctl to
# connect to bluetooth devices and display status info.
#
# Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu)
# Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl)
#
# Depends on:
# Arch repositories: rofi, bluez-utils (contains bluetoothctl)
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/scripts/rofi/bluetooth.rasi"
# Constants
divider="---------"
goback="Back"
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Toggles power state
toggle_power() {
if power_on; then
bluetoothctl power off
show_menu
else
if rfkill list bluetooth | grep -q 'blocked: yes'; then
rfkill unblock bluetooth && sleep 3
fi
bluetoothctl power on
show_menu
fi
}
# Checks if controller is scanning for new devices
scan_on() {
if bluetoothctl show | grep -q "Discovering: yes"; then
echo "Scan: on"
return 0
else
echo "Scan: off"
return 1
fi
}
# Toggles scanning state
toggle_scan() {
if scan_on; then
kill $(pgrep -f "bluetoothctl scan on")
bluetoothctl scan off
show_menu
else
bluetoothctl scan on &
echo "Scanning..."
sleep 5
show_menu
fi
}
# Checks if controller is able to pair to devices
pairable_on() {
if bluetoothctl show | grep -q "Pairable: yes"; then
echo "Pairable: on"
return 0
else
echo "Pairable: off"
return 1
fi
}
# Toggles pairable state
toggle_pairable() {
if pairable_on; then
bluetoothctl pairable off
show_menu
else
bluetoothctl pairable on
show_menu
fi
}
# Checks if controller is discoverable by other devices
discoverable_on() {
if bluetoothctl show | grep -q "Discoverable: yes"; then
echo "Discoverable: on"
return 0
else
echo "Discoverable: off"
return 1
fi
}
# Toggles discoverable state
toggle_discoverable() {
if discoverable_on; then
bluetoothctl discoverable off
show_menu
else
bluetoothctl discoverable on
show_menu
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Toggles device connection
toggle_connection() {
if device_connected "$1"; then
bluetoothctl disconnect "$1"
device_menu "$device"
else
bluetoothctl connect "$1"
device_menu "$device"
fi
}
# Checks if a device is paired
device_paired() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Paired: yes"; then
echo "Paired: yes"
return 0
else
echo "Paired: no"
return 1
fi
}
# Toggles device paired state
toggle_paired() {
if device_paired "$1"; then
bluetoothctl remove "$1"
device_menu "$device"
else
bluetoothctl pair "$1"
device_menu "$device"
fi
}
# Checks if a device is trusted
device_trusted() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Trusted: yes"; then
echo "Trusted: yes"
return 0
else
echo "Trusted: no"
return 1
fi
}
# Toggles device connection
toggle_trust() {
if device_trusted "$1"; then
bluetoothctl untrust "$1"
device_menu "$device"
else
bluetoothctl trust "$1"
device_menu "$device"
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
printf '󰂯'
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl $paired_devices_cmd | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
printf ", %s" "$device_alias"
else
printf " %s" "$device_alias"
fi
((counter++))
fi
done
printf "\n"
else
echo "󰂲"
fi
}
# A submenu for a specific device that allows connecting, pairing, and trusting
device_menu() {
device=$1
# Get device name and mac address
device_name=$(echo "$device" | cut -d ' ' -f 3-)
mac=$(echo "$device" | cut -d ' ' -f 2)
# Build options
if device_connected "$mac"; then
connected="Connected: yes"
else
connected="Connected: no"
fi
paired=$(device_paired "$mac")
trusted=$(device_trusted "$mac")
options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit"
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $rofi_command "$device_name")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$connected")
toggle_connection "$mac"
;;
"$paired")
toggle_paired "$mac"
;;
"$trusted")
toggle_trust "$mac"
;;
"$goback")
show_menu
;;
esac
}
# Opens a rofi menu with current bluetooth status and options to connect
show_menu() {
# Get menu options
if power_on; then
power="Power: on"
# Human-readable names of devices, one per line
# If scan is off, will only list paired devices
devices=$(bluetoothctl devices | grep Device | cut -d ' ' -f 3-)
# Get controller flags
scan=$(scan_on)
pairable=$(pairable_on)
discoverable=$(discoverable_on)
# Options passed to rofi
options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit"
else
power="Power: off"
options="$power\nExit"
fi
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $rofi_command "Bluetooth")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$power")
toggle_power
;;
"$scan")
toggle_scan
;;
"$discoverable")
toggle_discoverable
;;
"$pairable")
toggle_pairable
;;
*)
device=$(bluetoothctl devices | grep "$chosen")
# Open a submenu if a device is selected
if [[ $device ]]; then device_menu "$device"; fi
;;
esac
}
# Rofi command to pipe into, can add any options here
rofi_command="rofi -theme ${RASI} -dmenu $* -p"
case "$1" in
--status)
print_status
;;
*)
show_menu
;;
esac

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/scripts/rofi/launcher.rasi"
# Run
rofi \
-show drun \
-kb-cancel Alt-F1 \
-theme ${RASI}

118
ac-adaptive/scripts/rofi-music Executable file
View File

@@ -0,0 +1,118 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/scripts/rofi/music.rasi"
# Theme Elements
status="`mpc status`"
if [[ -z "$status" ]]; then
prompt='Offline'
mesg="MPD is Offline"
else
prompt="`mpc -f "%artist%" current`"
mesg="`mpc -f "%title%" current` :: `mpc status | grep "#" | awk '{print $3}'`"
fi
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
if [[ ${status} == *"[playing]"* ]]; then
option_1=" Pause"
else
option_1=" Play"
fi
option_2=" Stop"
option_3=" Previous"
option_4=" Next"
option_5=" Repeat"
option_6=" Random"
else
if [[ ${status} == *"[playing]"* ]]; then
option_1=""
else
option_1=""
fi
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Toggle Actions
active=''
urgent=''
# Repeat
if [[ ${status} == *"repeat: on"* ]]; then
active="-a 4"
elif [[ ${status} == *"repeat: off"* ]]; then
urgent="-u 4"
else
option_5=" Parsing Error"
fi
# Random
if [[ ${status} == *"random: on"* ]]; then
[ -n "$active" ] && active+=",5" || active="-a 5"
elif [[ ${status} == *"random: off"* ]]; then
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
else
option_6=" Parsing Error"
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
mpc -q toggle && kunst --size 60x60 --silent
elif [[ "$1" == '--opt2' ]]; then
mpc -q stop
elif [[ "$1" == '--opt3' ]]; then
mpc -q prev && kunst --size 60x60 --silent
elif [[ "$1" == '--opt4' ]]; then
mpc -q next && kunst --size 60x60 --silent
elif [[ "$1" == '--opt5' ]]; then
mpc -q repeat
elif [[ "$1" == '--opt6' ]]; then
mpc -q random
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

View File

@@ -0,0 +1,121 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/openbox"
STYLE="adaptive"
RASI="$DIR/themes/$STYLE/rofi/powermenu.rasi"
CNFR="$DIR/themes/$STYLE/rofi/confirm.rasi"
# Theme Elements
prompt="`hostname` (`echo $DESKTOP_SESSION`)"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Lock"
option_2=" Logout"
option_3=" Suspend"
option_4=" Hibernate"
option_5=" Reboot"
option_6=" Shutdown"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
cnflayout=`cat ${CNFR} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$cnflayout" == 'NO' ]]; then
yes=' Yes'
no=' No'
else
yes=''
no=''
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Confirmation CMD
confirm_cmd() {
rofi -dmenu \
-p 'Confirmation' \
-mesg 'Are you Sure?' \
-selected-row 1 \
-no-click-to-exit \
-theme ${CNFR}
}
# Ask for confirmation
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
# Confirm and execute
confirm_run () {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3}
else
exit
fi
}
# Execute Command
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
#betterlockscreen --lock
xscreensaver-command --lock
elif [[ "$1" == '--opt2' ]]; then
#confirm_run 'i3-msg exit'
confirm_run lxqt-leave --logout
elif [[ "$1" == '--opt3' ]]; then
confirm_run 'mpc -q pause' 'pulsemixer --mute' 'betterlockscreen --suspend'
elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff'
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

12
ac-adaptive/scripts/rofi-runner Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/scripts/rofi/runner.rasi"
# Run
rofi \
-show run \
-theme ${RASI}

View File

@@ -0,0 +1,142 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-adaptive"
RASI="$DIR/themes/rofi/screenshot.rasi"
# Theme Elements
prompt='Screenshot'
mesg="Directory :: `xdg-user-dir PICTURES`/Screenshots"
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Capture Desktop"
option_2=" Capture Area"
option_3=" Capture Window"
option_4=" Capture in 5s"
option_5=" Capture in 10s"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Screenshot
time=`date +%Y-%m-%d-%H-%M-%S`
geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
dir="`xdg-user-dir PICTURES`/Screenshots"
file="Screenshot_${time}_${geometry}.png"
border='0.000,0.735,0.832'
# Directory
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
notify_view() {
notify_cmd_shot='dunstify -u low -h string:x-dunst-stack-tag:obscreenshot -i /usr/share/archcraft/icons/dunst/picture.png'
${notify_cmd_shot} "Copied to clipboard."
paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null &
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# Copy screenshot to clipboard
copy_shot () {
tee "$file" | xclip -selection clipboard -t image/png
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
dunstify -t 1000 -h string:x-dunst-stack-tag:screenshottimer -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot10 () {
countdown '10'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shotwin () {
cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot
notify_view
}
shotarea () {
cd ${dir} && maim -u -f png -s -b 2 -c ${border},0.25 -l | copy_shot
notify_view
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
shotnow
elif [[ "$1" == '--opt2' ]]; then
shotarea
elif [[ "$1" == '--opt3' ]]; then
shotwin
elif [[ "$1" == '--opt4' ]]; then
shot5
elif [[ "$1" == '--opt5' ]]; then
shot10
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View File

@@ -0,0 +1,75 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
location: center;
anchor: center;
fullscreen: false;
width: 350px;
x-offset: 0px;
y-offset: 0px;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background;
cursor: "default";
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt", "entry" ];
}
dummy {
expand: false;
width: 10px;
background-color: transparent;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 10px 15px;
border-radius: 0px;
background-color: @background-alt;
text-color: inherit;
cursor: text;
placeholder: "Password";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: false;
}

View File

@@ -0,0 +1,155 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 500px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @background;
text-color: @foreground;
}
entry {
enabled: true;
padding: 10px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder-color: inherit;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 7;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,147 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 250px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 100%;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 20px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @urgent;
text-color: @background;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 2;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,303 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser,window";
show-icons: true;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* 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;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "mode-switcher", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 5px 0px;
expand: false;
str: "";
background-color: inherit;
text-color: @urgent;
}
entry {
enabled: true;
padding: 5px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
num-filtered-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
textbox-num-sep {
enabled: true;
expand: false;
str: "/";
background-color: inherit;
text-color: inherit;
}
num-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
case-indicator {
enabled: true;
background-color: inherit;
text-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
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: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
expand: false;
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: 10px;
border: 0px solid;
border-radius: 0px;
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: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 15px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,147 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @background;
text-color: @foreground;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,156 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 500px;
height: 515px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt", "entry"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @background;
text-color: @foreground;
}
entry {
enabled: true;
padding: 10px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder-color: inherit;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,147 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @background;
text-color: @foreground;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,303 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "run";
show-icons: true;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 500px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 5px 0px;
expand: false;
str: "";
background-color: inherit;
text-color: @urgent;
}
entry {
enabled: true;
padding: 5px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Run...";
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: 1;
lines: 6;
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: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
expand: false;
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: 10px;
border: 0px solid;
border-radius: 0px;
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: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 15px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,147 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=NO
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: @urgent;
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: @background;
text-color: @foreground;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 5;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 5px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,8 @@
* {
background: #222d32;
background-alt: #2c3a41;
foreground: #c4c7c5;
selected: #00BCD4;
active: #61c766;
urgent: #ec7875;
}

View File

@@ -0,0 +1,7 @@
/* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com> */
/* Text Font */
* {
font: "Iosevka 10";
}

28
ac-i3/colors.ini Normal file
View File

@@ -0,0 +1,28 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[color]
BACKGROUND = #1e222a
FOREGROUND = #c8ccd4
ALTBACKGROUND = #292e39
ALTFOREGROUND = #727c91
ACCENT = #da6e89
BLACK = #1e222a
RED = #e06c75
GREEN = #98c379
YELLOW = #e5c07b
BLUE = #61afef
MAGENTA = #c678dd
CYAN = #56b6c2
WHITE = #abb2bf
ALTBLACK = #545862
ALTRED = #e06c75
ALTGREEN = #98c379
ALTYELLOW = #e5c07b
ALTBLUE = #61afef
ALTMAGENTA = #c678dd
ALTCYAN = #56b6c2
ALTWHITE = #c8ccd4

101
ac-i3/config.ini Normal file
View File

@@ -0,0 +1,101 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; Global WM Settings
[global/wm]
margin-bottom = 0
margin-top = 0
include-file = ./colors.ini
include-file = ./decor.ini
include-file = ./modules.ini
#include-file = ~/.config/polybar/shared/modules.ini
#include-file = ~/.config/polybar/shared/bars.ini
[bar/main]
monitor = ${env:MONITOR:}
monitor-strict = false
override-redirect = false
bottom = false
fixed-center = true
width = 100%
height = 26
offset-x = 0
offset-y = 0
background = ${color.BACKGROUND}
foreground = ${color.FOREGROUND}
radius-top = 0.0
radius-bottom = 0.0
line-size = 2
line-color = ${color.ACCENT}
border-size = 6
border-color = ${color.BACKGROUND}
padding = 1
module-margin-left = 0
module-margin-right = 0
# Original
font-0 = "JetBrains Mono:bold:size=10;3"
font-1 = "Symbols Nerd Font:size=12;3"
font-2 = "Symbols Nerd Font:size=20;4"
font-3 = "Iosevka Nerd Font:bold:size=12;4"
font-4 = "archcraft:size=14;4"
# Original
#modules-left = menu dot LD i3 RD dot LD tray RD dot LD mpd RD sep song
#modules-center =
#modules-right = volume dot bna dot battery dot bluetooth dot ethernet dot LD date RD dot sysmenu
# mReschke
modules-left = menu dot LD i3 RD
modules-center =
modules-right = ethernet dot volume dot LD tray RD dot LD date RD dot sysmenu
separator =
spacing = 0
dim-value = 1.0
wm-name = i3
locale =
wm-restack = i3
enable-ipc = true
[settings]
throttle-output = 5
throttle-output-for = 10
throttle-input-for = 30
screenchange-reload = true
compositing-background = source
compositing-foreground = over
compositing-overline = over
compositing-underline = over
compositing-border = over
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

41
ac-i3/decor.ini Normal file
View File

@@ -0,0 +1,41 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; DECOR _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/sep]
type = custom/text
content = -
content-background = ${color.BACKGROUND}
content-foreground = ${color.BACKGROUND}
[module/dot]
type = custom/text
content =
content-background = ${color.BACKGROUND}
content-foreground = ${color.ALTBACKGROUND}
content-padding = 2
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/LD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND}
content-foreground = ${color.ALTBACKGROUND}
[module/RD]
type = custom/text
content = "%{T3}%{T-}"
content-background = ${color.BACKGROUND}
content-foreground = ${color.ALTBACKGROUND}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

991
ac-i3/modules.ini Normal file
View File

@@ -0,0 +1,991 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[system]
sys_adapter = ACAD
sys_battery = BAT1
sys_graphics_card = amdgpu_bl1
sys_network_interface = enp6s18
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/btna]
type = custom/text
content = " NA"
content-prefix =
content-prefix-font = 2
content-prefix-foreground = ${color.RED}
content-padding = 0
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/bna]
type = custom/text
content = " NA"
content-prefix =
content-prefix-font = 2
content-prefix-foreground = ${color.RED}
content-padding = 0
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/backlight]
type = internal/xbacklight
; Use the following command to list available cards:
; $ ls -1 /sys/class/backlight/
card = intel_backlight
; Available tags:
; <label> (default)
; <ramp>
; <bar>
format = <ramp> <label>
; Available tokens:
; %percentage% (default)
label = %percentage%%
; Only applies if <ramp> is used
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
ramp-5 =
ramp-6 =
ramp-7 =
ramp-8 =
ramp-9 =
ramp-font = 2
ramp-foreground = ${color.CYAN}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/brightness]
type = internal/backlight
; Use the following command to list available cards:
; $ ls -1 /sys/class/backlight/
card = ${system.sys_graphics_card}
enable-scroll = true
; Available tags:
; <label> (default)
; <ramp>
; <bar>
format = <ramp> <label>
; Available tokens:
; %percentage% (default)
label = %percentage%%
; Only applies if <ramp> is used
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
ramp-5 =
ramp-6 =
ramp-7 =
ramp-8 =
ramp-9 =
ramp-font = 2
ramp-foreground = ${color.CYAN}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/battery]
type = internal/battery
; This is useful in case the battery never reports 100% charge
full-at = 99
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = ${system.sys_battery}
adapter = ${system.sys_adapter}
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 2
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
time-format = %H:%M
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <animation-charging> <label-charging>
format-charging-prefix = " "
format-charging-prefix-font = 2
format-charging-prefix-foreground = ${color.RED}
; Available tags:
; <label-discharging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-discharging>
format-discharging = <ramp-capacity> <label-discharging>
; Available tags:
; <label-full> (default)
; <bar-capacity>
; <ramp-capacity>
;format-full = <ramp-capacity> <label-full>
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = %percentage%%
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
; Available tokens:
; %percentage% (default)
format-full = <label-full>
format-full-prefix = " "
format-full-prefix-font = 2
format-full-prefix-foreground = ${color.RED}
label-full = %percentage%%
; Only applies if <ramp-capacity> is used
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
ramp-capacity-foreground = ${color.YELLOW}
ramp-capacity-font = 2
; Only applies if <animation-charging> is used
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
animation-charging-foreground = ${color.GREEN}
animation-charging-font = 2
animation-charging-framerate = 700
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/i3]
type = internal/i3
; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; This will split the workspace name on ':'
; Default: false
strip-wsnumbers = true
; Sort the workspaces by index instead of the default
; sorting that groups the workspaces by output
; Default: false
index-sort = true
; Create click handler used to focus workspace
; Default: true
enable-click = true
; Create scroll handlers used to cycle workspaces
; Default: true
enable-scroll = true
; Wrap around when reaching the first/last workspace
; Default: true
wrapping-scroll = false
; Set the scroll cycle direction
; Default: true
reverse-scroll = false
; Use fuzzy (partial) matching on labels when assigning
; icons to workspaces
; Example: code;♚ will apply the icon to all workspaces
; containing 'code' in the label
; Default: false
fuzzy-match = true
; ws-icon-[0-9]+ = label;icon
; NOTE: The label needs to match the name of the i3 workspace
; ws-icon-0 = 1;
; ws-icon-1 = 2;
; ws-icon-2 = 3;
; ws-icon-3 = 4;
; ws-icon-4 = 5;
; ws-icon-5 = 6;漣
; ws-icon-6 = 7;
; ws-icon-7 = 8;
; ws-icon-8 = 9;
; ws-icon-9 = 10;ﳴ
; ws-icon-default = 
# Find fonts here
# https://www.nerdfonts.com/cheat-sheet
ws-icon-0 = PHP;
ws-icon-1 = Python;
ws-icon-2 = Uvicore;
ws-icon-3 = ?;
ws-icon-4 = AWS;
ws-icon-5 = Kdenlive;
ws-icon-6 = ?;
ws-icon-7 = ?;
ws-icon-8 = WinVM;
ws-icon-9 = Mine;
ws-icon-10 = Email;
ws-icon-11 = Share;
ws-icon-12 = Other;
ws-icon-13 = Mine;
ws-icon-14 = Zoom;󰭹
ws-icon-15 = Other;
ws-icon-16 = Music;
ws-icon-17 = Mine;
; ws-icon-0 = 1;
; ws-icon-2 = 3;
; ws-icon-3 = 4;
; ws-icon-4 = 5;
; ws-icon-5 = 6;漣
; ws-icon-6 = 7;
; ws-icon-7 = 8;
; ws-icon-8 = 9;
; ws-icon-9 = 10;
ws-icon-default =
; NOTE: You cannot skip icons, e.g. to get a ws-icon-6
; you must also define a ws-icon-5.
; Available tags:
; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)>
; <label-mode> (default)
format = <label-state><label-mode>
format-background = ${color.ALTBACKGROUND}
; Available tokens:
; %mode%
; Default: %mode%
label-mode = %mode%
label-mode-padding = 1
label-mode-background = ${color.YELLOW}
label-mode-foreground = ${color.BACKGROUND}
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-focused = %icon%
label-focused-foreground = ${color.BACKGROUND}
label-focused-background = ${color.BLUE}
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-unfocused = %icon%
label-unfocused-foreground = ${color.FOREGROUND}
label-unfocused-background = ${color.ALTBACKGROUND}
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-visible = %icon%
label-visible-foreground = ${color.BACKGROUND}
label-visible-background = ${color.GREEN}
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-urgent = %icon%
label-urgent-foreground = ${color.BACKGROUND}
label-urgent-background = ${color.RED}
; Paddings
label-focused-padding = 1
label-unfocused-padding = 1
label-visible-padding = 1
label-urgent-padding = 1
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/cpu]
type = internal/cpu
; Seconds to sleep between updates
; Default: 1
interval = 0.5
; Available tags:
; <label> (default)
; <bar-load>
; <ramp-load>
; <ramp-coreload>
;;format = <label> <ramp-coreload>
format = <label>
format-prefix =
format-prefix-font = 2
format-prefix-foreground = ${color.YELLOW}
; Available tokens:
; %percentage% (default) - total cpu load averaged over all cores
; %percentage-sum% - Cumulative load on all cores
; %percentage-cores% - load percentage for each core
; %percentage-core[1-9]% - load percentage for specific core
label = " %percentage%%"
; Spacing between individual per-core ramps
;;ramp-coreload-spacing = 1
;;ramp-coreload-0 = 
;;ramp-coreload-1 = 
;;ramp-coreload-2 = 
;;ramp-coreload-3 = 
;;ramp-coreload-4 = 
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/date]
type = internal/date
; Seconds to sleep between updates
interval = 1.0
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string
; NOTE: if you want to use syntax tags here you need to use %%{...}
;;date = %Y-%m-%d%
; Optional time format
#time = %I:%M %p
#time = %b %d, %G %I:%M %p
time = "%a, %d %b %Y %I:%M %p"
; if `date-alt` or `time-alt` is defined, clicking
; the module will toggle between formats
;;date-alt = %A, %d %B %Y
#time-alt = %d/%m/%Y%
time-alt = %b %d, %G
; Available tags:
; <label> (default)
format = <label>
format-prefix = " "
format-prefix-font = 2
format-prefix-foreground = ${color.CYAN}
format-background = ${color.ALTBACKGROUND}
; Available tokens:
; %date%
; %time%
; Default: %date%
label = %time%
label-font = 4
label-foreground = ${color.CYAN}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/filesystem]
type = internal/fs
; Mountpoints to display
mount-0 = /
;;mount-1 = /home
;;mount-2 = /var
; Seconds to sleep between updates
; Default: 30
interval = 10
; Display fixed precision values
; Default: false
fixed-values = true
; Spacing between entries
; Default: 2
;;spacing = 4
; Available tags:
; <label-mounted> (default)
; <bar-free>
; <bar-used>
; <ramp-capacity>
format-mounted = <label-mounted>
format-mounted-prefix =
format-mounted-prefix-font = 2
format-mounted-prefix-foreground = ${color.MAGENTA}
; Available tags:
; <label-unmounted> (default)
format-unmounted = <label-unmounted>
format-unmounted-prefix =
format-unmounted-prefix-font = 2
format-unmounted-prefix-foreground = ${color.MAGENTA}
; Available tokens:
; %mountpoint%
; %type%
; %fsname%
; %percentage_free%
; %percentage_used%
; %total%
; %free%
; %used%
; Default: %mountpoint% %percentage_free%%
label-mounted = " %free%"
; Available tokens:
; %mountpoint%
; Default: %mountpoint% is not mounted
label-unmounted = " %mountpoint%: NM"
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/memory]
type = internal/memory
; Seconds to sleep between updates
; Default: 1
interval = 3
; Available tags:
; <label> (default)
; <bar-used>
; <bar-free>
; <ramp-used>
; <ramp-free>
; <bar-swap-used>
; <bar-swap-free>
; <ramp-swap-used>
; <ramp-swap-free>
format = <label>
format-prefix =
format-prefix-font = 2
format-prefix-foreground = ${color.CYAN}
; Available tokens:
; %percentage_used% (default)
; %percentage_free%
; %gb_used%
; %gb_free%
; %gb_total%
; %mb_used%
; %mb_free%
; %mb_total%
; %percentage_swap_used%
; %percentage_swap_free%
; %mb_swap_total%
; %mb_swap_free%
; %mb_swap_used%
; %gb_swap_total%
; %gb_swap_free%
; %gb_swap_used%
label = " %mb_used%"
; Only applies if <ramp-used> is used
;;ramp-used-0 = 
;;ramp-used-1 = 
;;ramp-used-2 = 
;;ramp-used-3 = 
;;ramp-used-4 = 
; Only applies if <ramp-free> is used
;;ramp-free-0 = 
;;ramp-free-1 = 
;;ramp-free-2 = 
;;ramp-free-3 = 
;;ramp-free-4 = 
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/mpd]
type = internal/mpd
; Host where mpd is running (either ip or domain name)
; Can also be the full path to a unix socket where mpd is running.
;;host = 127.0.0.1
;;port = 6600
;;password = mysecretpassword
; Seconds to sleep between progressbar/song timer sync
; Default: 1
interval = 2
; Available tags:
; <label-song> (default)
; <label-time>
; <bar-progress>
; <toggle> - gets replaced with <icon-(pause|play)>
; <toggle-stop> - gets replaced with <icon-(stop|play)>
; <icon-random>
; <icon-repeat>
; <icon-repeatone> (deprecated)
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
; <icon-consume>
; <icon-prev>
; <icon-stop>
; <icon-play>
; <icon-pause>
; <icon-next>
; <icon-seekb>
; <icon-seekf>
format-online = <icon-prev> <toggle> <icon-next>
;;format-online-prefix = " "
;;format-online-prefix-font = 2
;;format-online-prefix-foreground = ${color.GREEN}
format-online-background = ${color.ALTBACKGROUND}
format-playing = ${self.format-online}
format-paused = ${self.format-online}
format-stopped = ${self.format-online}
; Available tags:
; <label-offline>
format-offline = <label-offline>
format-offline-prefix = " "
format-offline-background = ${color.ALTBACKGROUND}
; Available tokens:
; %artist%
; %album-artist%
; %album%
; %date%
; %title%
; Default: %artist% - %title%
label-song = "%artist% - %title%"
label-song-maxlen = 25
label-song-ellipsis = true
; Available tokens:
; %elapsed%
; %total%
; Default: %elapsed% / %total%
;;abel-time = %elapsed% / %total%
; Available tokens:
; None
label-offline = "Offline"
; Only applies if <icon-X> is used
icon-play =
icon-play-font = 2
icon-play-foreground = ${color.GREEN}
icon-pause =
icon-pause-font = 2
icon-pause-foreground = ${color.RED}
icon-stop =
icon-stop-foreground = ${color.RED}
icon-prev =
icon-prev-font = 1
icon-prev-foreground = ${color.CYAN}
icon-next =
icon-next-font = 1
icon-next-foreground = ${color.CYAN}
; Used to display the state of random/repeat/repeatone/single
; Only applies if <icon-[random|repeat|repeatone|single]> is used
;;toggle-on-foreground = #ff
;;toggle-off-foreground = #55
;;-----------
[module/song]
type = internal/mpd
interval = 2
format-online = <label-song>
format-playing = ${self.format-online}
format-paused = ${self.format-online}
format-stopped = ${self.format-online}
label-song = "%artist% - %title%"
label-song-maxlen = 25
label-song-ellipsis = true
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
; If you use both a wired and a wireless network, Add both modules in config.ini
[module/ethernet]
type = internal/network
interface = ${system.sys_network_interface}
interval = 1.0
accumulate-stats = true
unknown-as-up = true
format-connected = <label-connected>
format-connected-prefix = "歷 "
format-connected-prefix-foreground = ${color.MAGENTA}
format-connected-prefix-font = 2
format-connected-background = ${color.BACKGROUND}
format-connected-padding = 1
format-disconnected = <label-disconnected>
format-disconnected-prefix = "轢 "
format-disconnected-prefix-font = 2
format-disconnected-foreground = ${color.ALTFOREGROUND}
format-disconnected-background = ${color.BACKGROUND}
format-disconnected-padding = 1
label-connected = "%{A1:~/.config/polybar/ac-i3/scripts/network_menu &:}%downspeed%, %upspeed%%{A}"
label-disconnected = "%{A1:~/.config/polybar/ac-i3/scripts/network_menu &:}Offline%{A}"
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
; If you use both a wired and a wireless network, just add 2 module definitions. For example
; Normal Module
[module/network]
type = internal/network
interface = ${system.sys_network_interface}
; Seconds to sleep between updates
; Default: 1
interval = 1.0
; Test connectivity every Nth update
; A value of 0 disables the feature
; NOTE: Experimental (needs more testing)
; Default: 0
;ping-interval = 3
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
; Minimum output width of upload/download rate
; Default: 3
;;udspeed-minwidth = 5
; Accumulate values from all interfaces
; when querying for up/downspeed rate
; Default: false
accumulate-stats = true
; Consider an `UNKNOWN` interface state as up.
; Some devices have an unknown state, even when they're running
; Default: false
unknown-as-up = true
; Available tags:
; <label-connected> (default)
; <ramp-signal>
format-connected = <ramp-signal> <label-connected>
; Available tags:
; <label-disconnected> (default)
format-disconnected = <label-disconnected>
format-disconnected-prefix = "睊 "
format-disconnected-prefix-font = 2
format-disconnected-foreground = ${color.ALTFOREGROUND}
; Available tags:
; <label-connected> (default)
; <label-packetloss>
; <animation-packetloss>
;;format-packetloss = <animation-packetloss> <label-connected>
; Available tokens:
; %ifname% [wireless+wired]
; %local_ip% [wireless+wired]
; %local_ip6% [wireless+wired]
; %essid% [wireless]
; %signal% [wireless]
; %upspeed% [wireless+wired]
; %downspeed% [wireless+wired]
; %linkspeed% [wired]
; Default: %ifname% %local_ip%
;label-connected = "%essid%  %downspeed%"
label-connected = "%{A1:~/.config/polybar/ac-i3/scripts/network_menu &:}%essid%%{A}"
; Available tokens:
; %ifname% [wireless+wired]
; Default: (none)
label-disconnected = "%{A1:~/.config/polybar/ac-i3/scripts/network_menu &:}Offline%{A}"
; Available tokens:
; %ifname% [wireless+wired]
; %local_ip% [wireless+wired]
; %local_ip6% [wireless+wired]
; %essid% [wireless]
; %signal% [wireless]
; %upspeed% [wireless+wired]
; %downspeed% [wireless+wired]
; %linkspeed% [wired]
; Default: (none)
;label-packetloss = %essid%
;label-packetloss-foreground = #eefafafa
; Only applies if <ramp-signal> is used
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = ${color.MAGENTA}
ramp-signal-font = 2
; Only applies if <animation-packetloss> is used
;;animation-packetloss-0 = ⚠
;;animation-packetloss-0-foreground = #ffa64c
;;animation-packetloss-1 = ⚠
;;animation-packetloss-1-foreground = #000000
; Framerate in milliseconds
;;animation-packetloss-framerate = 500
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/bluetooth]
type = custom/script
exec = ~/.config/polybar/ac-i3/scripts/bluetooth.sh
interval = 1
tail = true
format = <label>
format-padding = 0
label = %output%
click-left = ~/.config/polybar/ac-i3/scripts/rofi_bluetooth &
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/volume]
type = internal/pulseaudio
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
; If not, uses default sink
sink =
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
; Default: true
use-ui-max = false
; Interval for volume increase/decrease (in percent points)
; Default: 5
interval = 5
; Available tags:
; <label-volume> (default)
; <ramp-volume>
; <bar-volume>
format-volume = <ramp-volume> <bar-volume>
; Available tags:
; <label-muted> (default)
; <ramp-volume>
; <bar-volume>
format-muted = <label-muted>
format-muted-prefix =
format-muted-prefix-font = 2
; Available tokens:
; %percentage% (default)
;label-volume = %percentage%%
; Available tokens:
; %percentage% (default)
label-muted = " Mute"
label-muted-foreground = ${color.ALTFOREGROUND}
; Only applies if <bar-volume> is used
bar-volume-width = 10
bar-volume-gradient = false
bar-volume-indicator =
bar-volume-indicator-font = 2
bar-volume-indicator-foreground = ${color.BLUE}
bar-volume-fill =
bar-volume-fill-font = 3
bar-volume-foreground-0 = ${color.BLUE}
bar-volume-foreground-1 = ${color.BLUE}
bar-volume-foreground-2 = ${color.BLUE}
bar-volume-foreground-3 = ${color.BLUE}
bar-volume-foreground-4 = ${color.BLUE}
bar-volume-empty =
bar-volume-empty-font = 3
bar-volume-empty-foreground = ${color.ALTBACKGROUND}
; Only applies if <ramp-volume> is used
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-3 =
ramp-volume-4 =
ramp-volume-5 =
ramp-volume-6 =
ramp-volume-7 =
ramp-volume-8 =
ramp-volume-9 =
ramp-volume-font = 2
ramp-volume-foreground = ${color.BLUE}
click-right = pavucontrol &
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/temperature]
type = internal/temperature
; Seconds to sleep between updates
; Default: 1
interval = 0.5
; Thermal zone to use
; To list all the zone types, run
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
; Default: 0
thermal-zone = 0
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
; Threshold temperature to display warning label (in degrees celsius)
; Default: 80
warn-temperature = 60
; Whether or not to show units next to the temperature tokens (°C, °F)
; Default: true
units = true
; Available tags:
; <label> (default)
; <ramp>
format = <ramp> <label>
; Available tags:
; <label-warn> (default)
; <ramp>
format-warn = <ramp> <label-warn>
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label = %temperature-c%
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label-warn = "%temperature-c%"
label-warn-foreground = ${color.RED}
; Requires the <ramp> tag
; The icon selection will range from 0 to `warn-temperature`
; with the current temperature as index.
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
ramp-5 =
ramp-6 =
ramp-7 =
ramp-8 =
ramp-9 =
ramp-font = 2
ramp-foreground = ${color.YELLOW}
;;ramp-foreground = #55
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/menu]
type = custom/text
content = " "
content-font = 5
;content = " "
;content-font = 3
content-foreground = ${color.GREEN}
content-padding = 0
click-left = ~/.config/polybar/ac-i3/scripts/rofi_launcher
click-right = ~/.config/polybar/ac-i3/scripts/rofi_runner
;;scroll-up = path_to_script
;;scroll-down = path_to_script
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/sysmenu]
type = custom/text
content = " "
content-font = 2
content-foreground = ${color.RED}
content-padding = 0
click-left = ~/.config/polybar/ac-i3/scripts/rofi_powermenu
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/tray]
type = internal/tray
format = <tray>
format-background = ${color.ALTBACKGROUND}
tray-background = ${color.ALTBACKGROUND}
tray-foreground = ${color.FOREGROUND}
tray-spacing = 8px
tray-padding = 0px
tray-size = 65%
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -0,0 +1,30 @@
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
[dmenu]
dmenu_command = rofi -dmenu -theme ~/.config/polybar/ac-i3/scripts/rofi/networkmenu.rasi
# # Note that dmenu_command can contain arguments as well like `rofi -width 30`
# # Rofi and dmenu are set to case insensitive by default `-i`
# l = number of lines to display, defaults to number of total network options
# fn = font string
# nb = normal background (name, #RGB, or #RRGGBB)
# nf = normal foreground
# sb = selected background
# sf = selected foreground
# b = (just set to empty value and menu will appear at the bottom
# m = number of monitor to display on
# p = Custom Prompt for the networks menu
# pinentry = Pinentry command
# rofi_highlight = <True or False> # (Default: False) use rofi highlighting instead of '**'
# # override normal foreground and background colors (dmenu) or use the
# # -password option (rofi) to obscure passphrase entry
# [dmenu_passphrase]
# nf = #222222
# nb = #222222
# rofi_obscure = True
[editor]
terminal = kitty
gui_if_available = True
# terminal = <name of terminal program>
# gui_if_available = <True or False>

66
ac-i3/scripts/bluetooth.sh Executable file
View File

@@ -0,0 +1,66 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Colors
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
CDIR=`cd "$DIR" && cd .. && pwd`
POWER_ON=`cat $CDIR/colors.ini | grep 'GREEN' | head -n1 | cut -d '=' -f2 | tr -d ' '`
POWER_OFF=`cat $CDIR/colors.ini | grep 'ALTFOREGROUND' | head -n1 | cut -d '=' -f2 | tr -d ' '`
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
if [[ -z `bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-` ]]; then
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}On"
fi
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl $paired_devices_cmd | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}$device_alias"
else
echo "%{F$POWER_ON}%{T2}%{T-} %{F-}$device_alias"
fi
((counter++))
fi
done
else
echo "%{F$POWER_OFF}%{T2}%{T-} Off%{F-}"
fi
}
# Print Status
print_status

12
ac-i3/scripts/i3_asroot Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
# rofi sudo askpass helper
export SUDO_ASKPASS="$DIR"/scripts/rofi_askpass
# execute the application
sudo -A $1

52
ac-i3/scripts/i3_autostart Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Autostart Programs
# i3 dir
DIR="$HOME/.config/polybar/ac-i3"
# Export desktop session
export XDG_CURRENT_DESKTOP='i3'
# Kill already running process
_ps=(xsettingsd ksuperkey)
for _prs in "${_ps[@]}"; do
if [[ `pidof ${_prs}` ]]; then
killall -9 ${_prs}
fi
done
# Lauch xsettingsd daemon
xsettingsd --config="$idir"/xsettingsd &
# polkit agent
if [[ ! `pidof xfce-polkit` ]]; then
/usr/lib/xfce-polkit/xfce-polkit &
fi
# Enable power management
xfce4-power-manager &
# Enable Super Keys For Menu
ksuperkey -e 'Super_L=Alt_L|F1' &
ksuperkey -e 'Super_R=Alt_L|F1' &
# Fix cursor
xsetroot -cursor_name left_ptr
# Restore wallpaper
hsetroot -cover "$idir"/theme/wallpaper
# Lauch notification daemon
"$idir"/scripts/i3_dunst
# Lauch polybar
"$idir"/scripts/i3_bar
# Lauch compositor
"$idir"/scripts/i3_comp
# Start mpd
exec mpd &

9
ac-i3/scripts/i3_bar Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
# launch polybar
bash "$DIR"/theme/polybar.sh

73
ac-i3/scripts/i3_brightness Executable file
View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Script to manage brightness on Archcraft.
# Icons
iDIR='~/.config/dunst/icons'
# Graphics card
CARD=`ls /sys/class/backlight | head -n 1`
# Get brightness
get_backlight() {
if [[ "$CARD" == *"intel_"* ]]; then
BNESS=`xbacklight -get`
LIGHT=${BNESS%.*}
else
LIGHT=$(printf "%.0f\n" `light -G`)
fi
echo "${LIGHT}%"
}
# Get icons
get_icon() {
backlight="$(get_backlight)"
current="${backlight%%%}"
if [[ ("$current" -ge "0") && ("$current" -le "20") ]]; then
icon="$iDIR"/brightness-20.png
elif [[ ("$current" -ge "20") && ("$current" -le "40") ]]; then
icon="$iDIR"/brightness-40.png
elif [[ ("$current" -ge "40") && ("$current" -le "60") ]]; then
icon="$iDIR"/brightness-60.png
elif [[ ("$current" -ge "60") && ("$current" -le "80") ]]; then
icon="$iDIR"/brightness-80.png
elif [[ ("$current" -ge "80") && ("$current" -le "100") ]]; then
icon="$iDIR"/brightness-100.png
fi
}
# Notify
notify_bl() {
get_icon && dunstify -u low -h string:x-dunst-stack-tag:obbacklight -i "$icon" "Brightness : $(get_backlight)"
}
# Increase brightness
inc_backlight() {
if [[ "$CARD" == *"intel_"* ]]; then
xbacklight -inc 10 && notify_bl
else
light -A 5 && notify_bl
fi
}
# Decrease brightness
dec_backlight() {
if [[ "$CARD" == *"intel_"* ]]; then
xbacklight -dec 10 && notify_bl
else
light -U 5 && notify_bl
fi
}
# Execute accordingly
if [[ "$1" == "--get" ]]; then
get_backlight
elif [[ "$1" == "--inc" ]]; then
inc_backlight
elif [[ "$1" == "--dec" ]]; then
dec_backlight
else
get_backlight
fi

22
ac-i3/scripts/i3_colorpicker Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Simple script to pick color quickly.
color=$(xcolor --format hex --preview-size 255 --scale 10)
image=/tmp/${color}.png
main() {
if [[ "$color" ]]; then
# copy color code to clipboard
echo $color | tr -d "\n" | xclip -selection clipboard
# generate preview
convert -size 48x48 xc:"$color" ${image}
# notify about it
dunstify -u low -h string:x-dunst-stack-tag:obcolorpicker -i ${image} "$color, copied to clipboard."
fi
}
# run the script
main

15
ac-i3/scripts/i3_comp Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
# Terminate if picom is already running
killall -q picom
# Wait until the processes have been shut down
while pgrep -u $UID -x picom >/dev/null; do sleep 1; done
# Launch picom
picom --config "$DIR"/picom.conf &

13
ac-i3/scripts/i3_dunst Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
# Launch dunst daemon
if [[ `pidof dunst` ]]; then
pkill dunst
fi
dunst -config "$DIR"/dunstrc &

21
ac-i3/scripts/i3_kitty Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## launch kitty with i3 config
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
CONFIG="$DIR/kitty/kitty.conf"
if [ "$1" == "--float" ]; then
kitty --class 'kitty-float' --config "$CONFIG"
elif [ "$1" == "--full" ]; then
kitty --class 'kitty-fullscreen' --config "$CONFIG" \
--start-as fullscreen \
--override 'window_padding_width=30' \
--override 'font_size=14' \
--override 'background_opacity=0.95'
else
kitty --config "$CONFIG" ${@}
fi

14
ac-i3/scripts/i3_music Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Run ncmpcpp with alternate config
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
CONFIG="$DIR/alacritty/alacritty.toml"
alacritty --class 'Music,Music' --config-file "$CONFIG" \
-o window.dimensions.columns=105 window.dimensions.lines=22 \
-e ~/.ncmpcpp/scripts/ncmpcpp-art

87
ac-i3/scripts/i3_screenshot Executable file
View File

@@ -0,0 +1,87 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Script to take screenshots on Archcraft.
# file
time=`date +%Y-%m-%d-%H-%M-%S`
geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
dir="`xdg-user-dir PICTURES`/Screenshots"
file="Screenshot_${time}_${geometry}.png"
# directory
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
notify_view () {
notify_cmd_shot='dunstify -u low -h string:x-dunst-stack-tag:obscreenshot -i /usr/share/archcraft/icons/dunst/picture.png'
${notify_cmd_shot} "Copied to clipboard."
paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null &
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# copy screenshot to clipboard
copy_shot () {
tee "$file" | xclip -selection clipboard -t image/png
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
dunstify -t 1000 -h string:x-dunst-stack-tag:screenshottimer -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot10 () {
countdown '10'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shotwin () {
cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot
notify_view
}
shotarea () {
cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot
notify_view
}
# execute
if [[ "$1" == "--now" ]]; then
shotnow
elif [[ "$1" == "--in5" ]]; then
shot5
elif [[ "$1" == "--in10" ]]; then
shot10
elif [[ "$1" == "--win" ]]; then
shotwin
elif [[ "$1" == "--area" ]]; then
shotarea
else
echo -e "Available Options : --now --in5 --in10 --win --area"
fi
exit 0

20
ac-i3/scripts/i3_term Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## launch alacritty with i3 config
# i3 directory
DIR="$HOME/.config/polybar/ac-i3"
CONFIG="$DIR/alacritty/alacritty.toml"
if [ "$1" == "--float" ]; then
alacritty --class 'alacritty-float,alacritty-float' --config-file "$CONFIG"
elif [ "$1" == "--full" ]; then
alacritty --class 'alacritty-fullscreen,alacritty-fullscreen' --config-file "$CONFIG" \
-o window.startup_mode="'Fullscreen'" \
window.padding.x=30 window.padding.y=30 \
window.opacity=0.95 font.size=14
else
alacritty --config-file "$CONFIG" ${@}
fi

83
ac-i3/scripts/i3_volume Executable file
View File

@@ -0,0 +1,83 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
##
## Script to manage speaker volume on Archcraft.
# Icons
iDIR='~/.config/dunst/icons'
notify_cmd='dunstify -u low -h string:x-dunst-stack-tag:obvolume'
# Get Volume
get_volume() {
echo "`pulsemixer --get-volume | cut -d' ' -f1`"
}
# Get icons
get_icon() {
current="$(get_volume)"
if [[ "$current" -eq "0" ]]; then
icon="$iDIR/volume-mute.png"
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
icon="$iDIR/volume-low.png"
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
icon="$iDIR/volume-mid.png"
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
icon="$iDIR/volume-high.png"
fi
}
# Notify
notify_user() {
${notify_cmd} -i "$icon" "Volume : $(get_volume)%"
}
# Increase Volume
inc_volume() {
[[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute
pulsemixer --max-volume 100 --change-volume +5 && get_icon && notify_user
}
# Decrease Volume
dec_volume() {
[[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute
pulsemixer --max-volume 100 --change-volume -5 && get_icon && notify_user
}
# Toggle Mute
toggle_mute() {
if [[ `pulsemixer --get-mute` == 0 ]]; then
pulsemixer --toggle-mute && ${notify_cmd} -i "$iDIR/volume-mute.png" "Mute"
else
pulsemixer --toggle-mute && get_icon && ${notify_cmd} -i "$icon" "Unmute"
fi
}
# Toggle Mic
toggle_mic() {
ID="`pulsemixer --list-sources | grep 'Default' | cut -d',' -f1 | cut -d' ' -f3`"
if [[ `pulsemixer --id $ID --get-mute` == 0 ]]; then
pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
else
pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone.png" "Microphone Switched ON"
fi
}
# Execute accordingly
if [[ -x `which pulsemixer` ]]; then
if [[ "$1" == "--get" ]]; then
get_volume
elif [[ "$1" == "--inc" ]]; then
inc_volume
elif [[ "$1" == "--dec" ]]; then
dec_volume
elif [[ "$1" == "--toggle" ]]; then
toggle_mute
elif [[ "$1" == "--toggle-mic" ]]; then
toggle_mic
else
echo $(get_volume)%
fi
else
${notify_cmd} "'pulsemixer' is not installed."
fi

1
ac-i3/scripts/launcher.sh Symbolic link
View File

@@ -0,0 +1 @@
rofi_launcher

1039
ac-i3/scripts/network_menu Executable file

File diff suppressed because it is too large Load Diff

1
ac-i3/scripts/powermenu.sh Symbolic link
View File

@@ -0,0 +1 @@
rofi_powermenu

View File

@@ -0,0 +1,77 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
location: center;
anchor: center;
fullscreen: false;
width: 350px;
x-offset: 0px;
y-offset: 0px;
padding: 20px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
cursor: "default";
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt", "entry" ];
}
dummy {
expand: false;
width: 10px;
background-color: transparent;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 9px;
border-radius: 12px;
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 10px;
border: 0px 0px 0px 0px;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: inherit;
cursor: text;
placeholder: "Password";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: false;
}

View File

@@ -0,0 +1,151 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 455px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 12px;
background-color: @selected;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 5;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 20px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 18";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,301 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser,window";
show-icons: false;
drun-display-format: "{name}";
window-format: "{c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 450px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 0px 0px 0px;
border: 0px 0px 0px 0px;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
children: [ "textbox-prompt-colon", "prompt" ];
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
textbox-prompt-colon {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
expand: false;
str: "";
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 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: 1;
lines: 7;
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: 0px;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 6px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- 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: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 20px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,148 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 300px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 0px;
background-color: @active;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 0px;
background-color: @selected;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 5px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 20";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,303 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser,window";
show-icons: false;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
drun-display-format: "{name}";
window-format: "{c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 650px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 0px 0px 0px;
border: 0px 0px 0px 0px;
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: 6px 10px;
border-radius: 12px;
expand: false;
str: "";
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
num-filtered-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
textbox-num-sep {
enabled: true;
expand: false;
str: "/";
background-color: inherit;
text-color: inherit;
}
num-rows {
enabled: true;
expand: false;
background-color: inherit;
text-color: inherit;
}
case-indicator {
enabled: true;
background-color: inherit;
text-color: inherit;
}
/*****----- Listview -----*****/
listview {
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: 0px;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 6px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- 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: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 20px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,151 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 540px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 12px;
background-color: @selected;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 20px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 18";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,302 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser,window";
show-icons: false;
drun-display-format: "{name}";
window-format: "{c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 450px;
height: 435px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 0px 0px 0px;
border: 0px 0px 0px 0px;
border-radius: 0px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
children: [ "textbox-prompt-colon", "prompt", "entry" ];
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
textbox-prompt-colon {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
expand: false;
str: "";
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 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: 1;
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: 0px;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 6px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- 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: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 20px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,151 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 540px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 12px;
background-color: @selected;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 20px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 18";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,303 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "run";
show-icons: false;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
drun-display-format: "{name}";
window-format: "{c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 0px 0px 0px;
border: 0px 0px 0px 0px;
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: 6px 10px;
border-radius: 12px;
expand: false;
str: "";
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Run...";
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: 1;
lines: 6;
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: 0px;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 6px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- 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: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 20px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

View File

@@ -0,0 +1,151 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 455px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 6px 10px;
border-radius: 12px;
background-color: @selected;
text-color: @background;
}
prompt {
enabled: true;
padding: 6px 10px;
border-radius: 12px;
background-color: @active;
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 5;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 20px 10px;
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 18";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
border: 0px solid;
border-radius: 100%;
border-color: @selected;
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View File

@@ -0,0 +1,12 @@
/* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com> */
/* Colors */
* {
background: #1e222a;
background-alt: #292e39;
foreground: #c8ccd4;
selected: #da6e89;
active: #98c379;
urgent: #e06c75;
}

View File

@@ -0,0 +1,7 @@
/* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com> */
/* Text Font */
* {
font: "JetBrainsMono Nerd Font 10";
}

View File

@@ -0,0 +1,303 @@
/**
* Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "window";
show-icons: false;
display-drun: " Apps";
display-run: " Run";
display-filebrowser: " Files";
display-window: " Windows";
drun-display-format: "{name}";
window-format: "{c} · {t}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
* {
border-colour: var(selected);
handle-colour: var(selected);
background-colour: var(background);
foreground-colour: var(foreground);
alternate-background: var(background-alt);
normal-background: var(background);
normal-foreground: var(foreground);
urgent-background: var(urgent);
urgent-foreground: var(background);
active-background: var(active);
active-foreground: var(background);
selected-normal-background: var(selected);
selected-normal-foreground: var(background);
selected-urgent-background: var(active);
selected-urgent-foreground: var(background);
selected-active-background: var(urgent);
selected-active-foreground: var(background);
alternate-normal-background: var(background);
alternate-normal-foreground: var(foreground);
alternate-urgent-background: var(urgent);
alternate-urgent-foreground: var(background);
alternate-active-background: var(active);
alternate-active-foreground: var(background);
}
/*****----- Main Window -----*****/
window {
/* 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;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @border-colour;
cursor: "default";
/* Backgroud Colors */
background-color: @background-colour;
/* Backgroud Image */
//background-image: url("/path/to/image.png", none);
/* Simple Linear Gradient */
//background-image: linear-gradient(red, orange, pink, purple);
/* Directional Linear Gradient */
//background-image: linear-gradient(to bottom, pink, yellow, magenta);
/* Angle Linear Gradient */
//background-image: linear-gradient(45, cyan, purple, indigo);
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 20px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @border-colour;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 0px 0px 0px;
border: 0px 0px 0px 0px;
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: 6px 10px;
border-radius: 12px;
expand: false;
str: "";
background-color: @selected;
text-color: @background;
}
entry {
enabled: true;
padding: 6px 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Filter...";
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: 1;
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: 0px;
background-color: @alternate-background;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 6px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: transparent;
text-color: @foreground-colour;
cursor: pointer;
}
element normal.normal {
background-color: var(normal-background);
text-color: var(normal-foreground);
}
element normal.urgent {
background-color: var(urgent-background);
text-color: var(urgent-foreground);
}
element normal.active {
background-color: var(active-background);
text-color: var(active-foreground);
}
element selected.normal {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
element selected.urgent {
background-color: var(selected-urgent-background);
text-color: var(selected-urgent-foreground);
}
element selected.active {
background-color: var(selected-active-background);
text-color: var(selected-active-foreground);
}
element alternate.normal {
background-color: var(alternate-normal-background);
text-color: var(alternate-normal-foreground);
}
element alternate.urgent {
background-color: var(alternate-urgent-background);
text-color: var(alternate-urgent-foreground);
}
element alternate.active {
background-color: var(alternate-active-background);
text-color: var(alternate-active-foreground);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- 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: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(selected-normal-background);
text-color: var(selected-normal-foreground);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 6px 10px;
border: 0px solid;
border-radius: 10px;
border-color: @border-colour;
background-color: @alternate-background;
text-color: @foreground-colour;
}
textbox {
border: 0px solid;
border-color: @border-colour;
background-color: transparent;
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: 20px;
border: 0px solid;
border-radius: 0px;
border-color: @border-colour;
background-color: @background-colour;
text-color: @foreground-colour;
}

14
ac-i3/scripts/rofi_askpass Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/askpass.rasi"
# Rofi text dialog to get password
rofi -dmenu \
-password \
-i \
-p "Root" \
-theme ${RASI}

78
ac-i3/scripts/rofi_asroot Executable file
View File

@@ -0,0 +1,78 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/asroot.rasi"
ASROOT="$DIR/scripts/i3_asroot"
# Theme Elements
prompt='Root'
mesg="Run Applications As Root"
term='alacritty --class alacritty-float,alacritty-float --config-file /root/.config/i3/alacritty/alacritty.toml'
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Alacritty"
option_2=" Thunar"
option_3=" Geany"
option_4=" Ranger"
option_5=" Vim"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
${ASROOT} "$term"
elif [[ "$1" == '--opt2' ]]; then
${ASROOT} 'dbus-run-session thunar'
elif [[ "$1" == '--opt3' ]]; then
${ASROOT} geany
elif [[ "$1" == '--opt4' ]]; then
${ASROOT} "$term -e ranger"
elif [[ "$1" == '--opt5' ]]; then
${ASROOT} "$term -e vim"
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

321
ac-i3/scripts/rofi_bluetooth Executable file
View File

@@ -0,0 +1,321 @@
#!/usr/bin/env bash
# __ _ _ _ _ _ _
# _ __ ___ / _(_) | |__ | |_ _ ___| |_ ___ ___ | |_| |__
# | '__/ _ \| |_| |_____| '_ \| | | | |/ _ \ __/ _ \ / _ \| __| '_ \
# | | | (_) | _| |_____| |_) | | |_| | __/ || (_) | (_) | |_| | | |
# |_| \___/|_| |_| |_.__/|_|\__,_|\___|\__\___/ \___/ \__|_| |_|
#
# Author: Nick Clyde (clydedroid)
#
# A script that generates a rofi menu that uses bluetoothctl to
# connect to bluetooth devices and display status info.
#
# Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu)
# Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl)
#
# Depends on:
# Arch repositories: rofi, bluez-utils (contains bluetoothctl)
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/bluetooth.rasi"
# Constants
divider="---------"
goback="Back"
# Checks if bluetooth controller is powered on
power_on() {
if bluetoothctl show | grep -q "Powered: yes"; then
return 0
else
return 1
fi
}
# Toggles power state
toggle_power() {
if power_on; then
bluetoothctl power off
show_menu
else
if rfkill list bluetooth | grep -q 'blocked: yes'; then
rfkill unblock bluetooth && sleep 3
fi
bluetoothctl power on
show_menu
fi
}
# Checks if controller is scanning for new devices
scan_on() {
if bluetoothctl show | grep -q "Discovering: yes"; then
echo "Scan: on"
return 0
else
echo "Scan: off"
return 1
fi
}
# Toggles scanning state
toggle_scan() {
if scan_on; then
kill $(pgrep -f "bluetoothctl scan on")
bluetoothctl scan off
show_menu
else
bluetoothctl scan on &
echo "Scanning..."
sleep 5
show_menu
fi
}
# Checks if controller is able to pair to devices
pairable_on() {
if bluetoothctl show | grep -q "Pairable: yes"; then
echo "Pairable: on"
return 0
else
echo "Pairable: off"
return 1
fi
}
# Toggles pairable state
toggle_pairable() {
if pairable_on; then
bluetoothctl pairable off
show_menu
else
bluetoothctl pairable on
show_menu
fi
}
# Checks if controller is discoverable by other devices
discoverable_on() {
if bluetoothctl show | grep -q "Discoverable: yes"; then
echo "Discoverable: on"
return 0
else
echo "Discoverable: off"
return 1
fi
}
# Toggles discoverable state
toggle_discoverable() {
if discoverable_on; then
bluetoothctl discoverable off
show_menu
else
bluetoothctl discoverable on
show_menu
fi
}
# Checks if a device is connected
device_connected() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Connected: yes"; then
return 0
else
return 1
fi
}
# Toggles device connection
toggle_connection() {
if device_connected "$1"; then
bluetoothctl disconnect "$1"
device_menu "$device"
else
bluetoothctl connect "$1"
device_menu "$device"
fi
}
# Checks if a device is paired
device_paired() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Paired: yes"; then
echo "Paired: yes"
return 0
else
echo "Paired: no"
return 1
fi
}
# Toggles device paired state
toggle_paired() {
if device_paired "$1"; then
bluetoothctl remove "$1"
device_menu "$device"
else
bluetoothctl pair "$1"
device_menu "$device"
fi
}
# Checks if a device is trusted
device_trusted() {
device_info=$(bluetoothctl info "$1")
if echo "$device_info" | grep -q "Trusted: yes"; then
echo "Trusted: yes"
return 0
else
echo "Trusted: no"
return 1
fi
}
# Toggles device connection
toggle_trust() {
if device_trusted "$1"; then
bluetoothctl untrust "$1"
device_menu "$device"
else
bluetoothctl trust "$1"
device_menu "$device"
fi
}
# Prints a short string with the current bluetooth status
# Useful for status bars like polybar, etc.
print_status() {
if power_on; then
printf '󰂯'
paired_devices_cmd="devices Paired"
# Check if an outdated version of bluetoothctl is used to preserve backwards compatibility
if (( $(echo "$(bluetoothctl version | cut -d ' ' -f 2) < 5.65" | bc -l) )); then
paired_devices_cmd="paired-devices"
fi
mapfile -t paired_devices < <(bluetoothctl $paired_devices_cmd | grep Device | cut -d ' ' -f 2)
counter=0
for device in "${paired_devices[@]}"; do
if device_connected "$device"; then
device_alias=$(bluetoothctl info "$device" | grep "Alias" | cut -d ' ' -f 2-)
if [ $counter -gt 0 ]; then
printf ", %s" "$device_alias"
else
printf " %s" "$device_alias"
fi
((counter++))
fi
done
printf "\n"
else
echo "󰂲"
fi
}
# A submenu for a specific device that allows connecting, pairing, and trusting
device_menu() {
device=$1
# Get device name and mac address
device_name=$(echo "$device" | cut -d ' ' -f 3-)
mac=$(echo "$device" | cut -d ' ' -f 2)
# Build options
if device_connected "$mac"; then
connected="Connected: yes"
else
connected="Connected: no"
fi
paired=$(device_paired "$mac")
trusted=$(device_trusted "$mac")
options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit"
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $rofi_command "$device_name")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$connected")
toggle_connection "$mac"
;;
"$paired")
toggle_paired "$mac"
;;
"$trusted")
toggle_trust "$mac"
;;
"$goback")
show_menu
;;
esac
}
# Opens a rofi menu with current bluetooth status and options to connect
show_menu() {
# Get menu options
if power_on; then
power="Power: on"
# Human-readable names of devices, one per line
# If scan is off, will only list paired devices
devices=$(bluetoothctl devices | grep Device | cut -d ' ' -f 3-)
# Get controller flags
scan=$(scan_on)
pairable=$(pairable_on)
discoverable=$(discoverable_on)
# Options passed to rofi
options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit"
else
power="Power: off"
options="$power\nExit"
fi
# Open rofi menu, read chosen option
chosen="$(echo -e "$options" | $rofi_command "Bluetooth")"
# Match chosen option to command
case "$chosen" in
"" | "$divider")
echo "No option chosen."
;;
"$power")
toggle_power
;;
"$scan")
toggle_scan
;;
"$discoverable")
toggle_discoverable
;;
"$pairable")
toggle_pairable
;;
*)
device=$(bluetoothctl devices | grep "$chosen")
# Open a submenu if a device is selected
if [[ $device ]]; then device_menu "$device"; fi
;;
esac
}
# Rofi command to pipe into, can add any options here
rofi_command="rofi -theme ${RASI} -dmenu $* -p"
case "$1" in
--status)
print_status
;;
*)
show_menu
;;
esac

13
ac-i3/scripts/rofi_launcher Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/launcher.rasi"
# Run
rofi \
-show drun \
-kb-cancel Alt-F1 \
-theme ${RASI}

118
ac-i3/scripts/rofi_music Executable file
View File

@@ -0,0 +1,118 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/music.rasi"
# Theme Elements
status="`mpc status`"
if [[ -z "$status" ]]; then
prompt='Offline'
mesg="MPD is Offline"
else
prompt="`mpc -f "%artist%" current`"
mesg="`mpc -f "%title%" current` :: `mpc status | grep "#" | awk '{print $3}'`"
fi
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
if [[ ${status} == *"[playing]"* ]]; then
option_1=" Pause"
else
option_1=" Play"
fi
option_2=" Stop"
option_3=" Previous"
option_4=" Next"
option_5=" Repeat"
option_6=" Random"
else
if [[ ${status} == *"[playing]"* ]]; then
option_1=""
else
option_1=""
fi
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Toggle Actions
active=''
urgent=''
# Repeat
if [[ ${status} == *"repeat: on"* ]]; then
active="-a 4"
elif [[ ${status} == *"repeat: off"* ]]; then
urgent="-u 4"
else
option_5=" Parsing Error"
fi
# Random
if [[ ${status} == *"random: on"* ]]; then
[ -n "$active" ] && active+=",5" || active="-a 5"
elif [[ ${status} == *"random: off"* ]]; then
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
else
option_6=" Parsing Error"
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
${active} ${urgent} \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
mpc -q toggle && kunst --size 60x60 --silent
elif [[ "$1" == '--opt2' ]]; then
mpc -q stop
elif [[ "$1" == '--opt3' ]]; then
mpc -q prev && kunst --size 60x60 --silent
elif [[ "$1" == '--opt4' ]]; then
mpc -q next && kunst --size 60x60 --silent
elif [[ "$1" == '--opt5' ]]; then
mpc -q repeat
elif [[ "$1" == '--opt6' ]]; then
mpc -q random
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

117
ac-i3/scripts/rofi_powermenu Executable file
View File

@@ -0,0 +1,117 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/powermenu.rasi"
CNFR="$DIR/scripts/rofi/confirm.rasi"
# Theme Elements
prompt="`hostname` (`echo $DESKTOP_SESSION`)"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Lock"
option_2=" Logout"
option_3=" Suspend"
option_4=" Hibernate"
option_5=" Reboot"
option_6=" Shutdown"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
cnflayout=`cat ${CNFR} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$cnflayout" == 'NO' ]]; then
yes=' Yes'
no=' No'
else
yes=''
no=''
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Confirmation CMD
confirm_cmd() {
rofi -dmenu \
-p 'Confirmation' \
-mesg 'Are you Sure?' \
-selected-row 1 \
-no-click-to-exit \
-theme ${CNFR}
}
# Ask for confirmation
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
# Confirm and execute
confirm_run () {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3}
else
exit
fi
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
betterlockscreen --lock
elif [[ "$1" == '--opt2' ]]; then
confirm_run 'i3-msg exit'
elif [[ "$1" == '--opt3' ]]; then
confirm_run 'mpc -q pause' 'pulsemixer --mute' 'betterlockscreen --suspend'
elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff'
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

12
ac-i3/scripts/rofi_runner Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/runner.rasi"
# Run
rofi \
-show run \
-theme ${RASI}

141
ac-i3/scripts/rofi_screenshot Executable file
View File

@@ -0,0 +1,141 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/screenshot.rasi"
# Theme Elements
prompt='Screenshot'
mesg="Directory :: `xdg-user-dir PICTURES`/Screenshots"
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Capture Desktop"
option_2=" Capture Area"
option_3=" Capture Window"
option_4=" Capture in 5s"
option_5=" Capture in 10s"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Screenshot
time=`date +%Y-%m-%d-%H-%M-%S`
geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
dir="`xdg-user-dir PICTURES`/Screenshots"
file="Screenshot_${time}_${geometry}.png"
# Directory
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
notify_view() {
notify_cmd_shot='dunstify -u low -h string:x-dunst-stack-tag:obscreenshot -i /usr/share/archcraft/icons/dunst/picture.png'
${notify_cmd_shot} "Copied to clipboard."
paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null &
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# Copy screenshot to clipboard
copy_shot () {
tee "$file" | xclip -selection clipboard -t image/png
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
dunstify -t 1000 -h string:x-dunst-stack-tag:screenshottimer -i /usr/share/archcraft/icons/dunst/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shot10 () {
countdown '10'
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
notify_view
}
shotwin () {
cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot
notify_view
}
shotarea () {
cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot
notify_view
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
shotnow
elif [[ "$1" == '--opt2' ]]; then
shotarea
elif [[ "$1" == '--opt3' ]]; then
shotwin
elif [[ "$1" == '--opt4' ]]; then
shot5
elif [[ "$1" == '--opt5' ]]; then
shot10
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

12
ac-i3/scripts/rofi_windows Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2024 Aditya Shakya <adi1090x@gmail.com>
# Import Current Theme
DIR="$HOME/.config/polybar/ac-i3"
RASI="$DIR/scripts/rofi/windows.rasi"
# Run
rofi \
-show window \
-theme ${RASI}

View File

@@ -13,15 +13,20 @@ launch_bar() {
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch the bar multi monitor aware # Launch the bar multi monitor aware
primary=$(xrandr --query | grep "connected" | grep "primary" | cut -d \ -f1)
for mon in $(polybar --list-monitors | cut -d":" -f1); do for mon in $(polybar --list-monitors | cut -d":" -f1); do
if [[ "$style" == "hack" || "$style" == "cuts" ]]; then if [[ "$style" == "hack" || "$style" == "cuts" ]]; then
MONITOR=$mon polybar -q top -c "$dir/$style/config.ini" & MONITOR=$mon TRAY_POS=$tray_pos polybar -q top -c "$dir/$style/config.ini" &
MONITOR=$mon polybar -q bottom -c "$dir/$style/config.ini" & MONITOR=$mon polybar -q bottom -c "$dir/$style/config.ini" &
elif [[ "$style" == "pwidgets" ]]; then
MONITOR=$mon bash "$dir"/pwidgets/launch.sh --main
else else
MONITOR=$mon polybar -q main -c "$dir/$style/config.ini" & # If primary monitor load up [bar/primary] instead of [bar/main]
if [ "$mon" = "$primary" ]; then
MONITOR=$mon polybar -q primary -c "$dir/$style/config.ini" &
else
MONITOR=$mon polybar -q main -c "$dir/$style/config.ini" &
fi
#MONITOR=$mon TRAY_POS=$tray_pos polybar -q main -c "$dir/$style/config.ini" &
fi fi
done done

View File

@@ -148,7 +148,7 @@ font-4 = "MesloLGS NF:size=7;2"
modules-left = menu modules-left = menu
modules-center = date modules-center = date
modules-right = i3 style alsa network battery settings powermenu modules-right = i3 workspaces style alsa network battery settings powermenu
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -184,7 +184,7 @@ font-4 = "MesloLGS NF:size=7;2"
modules-left = menu settings htop taskmanager bashtop files web web2 term editor notepad calc spotify modules-left = menu settings htop taskmanager bashtop files web web2 term editor notepad calc spotify
; modules-center = memory cpu ; modules-center = memory cpu
; alsa volume brightness title colorpicker ; alsa volume brightness title colorpicker
modules-right = i3 cpu memory style workspaces volume_bar network battery date powermenu modules-right = i3 cpu memory style workspace_active volume_bar network battery date powermenu
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -148,7 +148,7 @@ font-4 = "MesloLGS NF:size=7;2"
modules-left = menu modules-left = menu
modules-center = date modules-center = date
modules-right = i3 style alsa network battery settings powermenu modules-right = i3 workspaces style alsa network battery settings powermenu
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -148,7 +148,7 @@ font-4 = "MesloLGS NF:size=7;2"
modules-left = menu modules-left = menu
modules-center = date modules-center = date
modules-right = i3 style alsa network battery settings powermenu modules-right = i3 workspaces style alsa network battery settings powermenu
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -6,8 +6,27 @@
[module/workspaces] [module/workspaces]
type = internal/xworkspaces type = internal/xworkspaces
pin-workspaces = false ; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; Groups workspaces by monitor. If set to false, workspaces are not grouped and
; appear in the order provided by the WM
; If set to false, cannot be used together with label-monitor
; New in version 3.7.0
; Default: true
group-by-monitor = true
; Create click handler used to focus desktop
; Default: true
enable-click = true enable-click = true
; Create scroll handlers used to cycle desktops
; Default: true
enable-scroll = true enable-scroll = true
format = <label-state> format = <label-state>
@@ -35,11 +54,58 @@ label-urgent-padding = 1
label-occupied-padding = 1 label-occupied-padding = 1
label-empty-foreground = ${color.fg} label-empty-foreground = ${color.fg}
label-active-foreground = ${color.orange} label-active-foreground = ${color.fg}
label-urgent-foreground = ${color.red} label-urgent-foreground = ${color.red}
label-occupied-foreground = ${color.blue-gray} label-occupied-foreground = ${color.blue-gray}
label-empty-background = ${color.bg-alt} label-empty-background = ${color.bg}
label-active-background = ${color.bg-alt} label-active-background = ${color.bg}
label-urgent-background = ${color.red} label-urgent-background = ${color.red}
label-occupied-background = ${color.bg-alt} label-occupied-background = ${color.bg}
[module/workspace_active]
type = internal/xworkspaces
; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; Groups workspaces by monitor. If set to false, workspaces are not grouped and
; appear in the order provided by the WM
; If set to false, cannot be used together with label-monitor
; New in version 3.7.0
; Default: true
group-by-monitor = true
; Create click handler used to focus desktop
; Default: true
enable-click = true
; Create scroll handlers used to cycle desktops
; Default: true
enable-scroll = true
format = <label-state>
format-background = ${color.bg}
; Available tokens:
; %name%
; %icon%
; %index%
; Default: %icon% %name%
label-active = %name%
label-urgent =
label-occupied =
label-empty =
label-active-padding = 1
label-active-foreground = ${color.fg}
label-active-background = ${color.bg}

View File

@@ -142,8 +142,8 @@ click-left = spotify &
; content-foreground = ${color.green} ; content-foreground = ${color.green}
; content-background = ${color.bg} ; content-background = ${color.bg}
; content-padding = 2 ; content-padding = 2
; click-left = /home/mreschke/Code/mreschke/polybar/qpanels/scripts/launcher.sh --gnome ; click-left = /home/mreschke/Code/mreschke/polybar/ac-adaptive/scripts/launcher.sh --{}
; click-right = /home/mreschke/Code/mreschke/polybar/qpanels/scripts/launcher.sh --gnome ; click-right = /home/mreschke/Code/mreschke/polybar/ac-adaptive/scripts/launcher.sh --{}
@@ -555,8 +555,8 @@ click-right = nm-connection-editor &
;; content-background = ${color.bg-alt} ;; content-background = ${color.bg-alt}
;content-foreground = ${color.fg} ;content-foreground = ${color.fg}
;content-padding = 1 ;content-padding = 1
;click-left = /home/mreschke/Code/mreschke/polybar/qpanels/scripts/powermenu.sh --gnome ;click-left = /home/mreschke/Code/mreschke/polybar/ac-adaptive/scripts/powermenu.sh --{}
;click-right = /home/mreschke/Code/mreschke/polybar/qpanels/scripts/powermenu.sh --gnome ;click-right = /home/mreschke/Code/mreschke/polybar/ac-adaptive/scripts/powermenu.sh --{}
@@ -603,8 +603,8 @@ content-padding = 0
; ;content = "%{T3}%{T-} " ; ;content = "%{T3}%{T-} "
; content-padding = 1 ; content-padding = 1
; content-foreground = ${color.grey} ; content-foreground = ${color.grey}
; click-left = /home/mreschke/Code/mreschke/polybar/qpanels/sripts/style-switch.sh --gnome ; click-left = /home/mreschke/Code/mreschke/polybar/ac-adaptive/sripts/style-switch.sh --{}
; click-right = /home/mreschke/Code/mreschke/polybar/qpanels/sripts/style-switch.sh --gnome ; click-right = /home/mreschke/Code/mreschke/polybar/ac-adaptive/sripts/style-switch.sh --{}
@@ -715,8 +715,27 @@ click-right = pavucontrol &
[module/workspaces] [module/workspaces]
type = internal/xworkspaces type = internal/xworkspaces
pin-workspaces = false ; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; Groups workspaces by monitor. If set to false, workspaces are not grouped and
; appear in the order provided by the WM
; If set to false, cannot be used together with label-monitor
; New in version 3.7.0
; Default: true
group-by-monitor = true
; Create click handler used to focus desktop
; Default: true
enable-click = true enable-click = true
; Create scroll handlers used to cycle desktops
; Default: true
enable-scroll = true enable-scroll = true
format = <label-state> format = <label-state>
@@ -744,14 +763,61 @@ label-urgent-padding = 1
label-occupied-padding = 1 label-occupied-padding = 1
label-empty-foreground = ${color.fg} label-empty-foreground = ${color.fg}
label-active-foreground = ${color.orange} label-active-foreground = ${color.fg}
label-urgent-foreground = ${color.red} label-urgent-foreground = ${color.red}
label-occupied-foreground = ${color.blue-gray} label-occupied-foreground = ${color.blue-gray}
label-empty-background = ${color.bg-alt} label-empty-background = ${color.bg}
label-active-background = ${color.bg-alt} label-active-background = ${color.bg}
label-urgent-background = ${color.red} label-urgent-background = ${color.red}
label-occupied-background = ${color.bg-alt} label-occupied-background = ${color.bg}
[module/workspace_active]
type = internal/xworkspaces
; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = true
; Groups workspaces by monitor. If set to false, workspaces are not grouped and
; appear in the order provided by the WM
; If set to false, cannot be used together with label-monitor
; New in version 3.7.0
; Default: true
group-by-monitor = true
; Create click handler used to focus desktop
; Default: true
enable-click = true
; Create scroll handlers used to cycle desktops
; Default: true
enable-scroll = true
format = <label-state>
format-background = ${color.bg}
; Available tokens:
; %name%
; %icon%
; %index%
; Default: %icon% %name%
label-active = %name%
label-urgent =
label-occupied =
label-empty =
label-active-padding = 1
label-active-foreground = ${color.fg}
label-active-background = ${color.bg}