rearrange hyprland config; change back to old waybar: adjust waybar colors; add btop
This commit is contained in:
8
.gitignore
vendored
8
.gitignore
vendored
@@ -2,15 +2,23 @@
|
|||||||
*
|
*
|
||||||
|
|
||||||
# Then selectively include the directories you want to keep
|
# Then selectively include the directories you want to keep
|
||||||
|
!btop/
|
||||||
!hypr/
|
!hypr/
|
||||||
|
!ghostty/
|
||||||
!kitty/
|
!kitty/
|
||||||
!nvim/
|
!nvim/
|
||||||
|
!swaync/
|
||||||
!waybar/
|
!waybar/
|
||||||
|
!rofi/
|
||||||
!wofi/
|
!wofi/
|
||||||
|
!btop/**
|
||||||
!hypr/**
|
!hypr/**
|
||||||
|
!ghostty/**
|
||||||
!kitty/**
|
!kitty/**
|
||||||
!nvim/**
|
!nvim/**
|
||||||
|
!swaync/**
|
||||||
!waybar/**
|
!waybar/**
|
||||||
|
!rofi/**
|
||||||
!wofi/**
|
!wofi/**
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
257
btop/btop.conf
Normal file
257
btop/btop.conf
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
#? Config file for btop v. 1.4.5
|
||||||
|
|
||||||
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
color_theme = "mytheme"
|
||||||
|
|
||||||
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
|
theme_background = True
|
||||||
|
|
||||||
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
|
truecolor = True
|
||||||
|
|
||||||
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
|
force_tty = False
|
||||||
|
|
||||||
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
#* Use whitespace " " as separator between different presets.
|
||||||
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||||
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||||
|
|
||||||
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
|
vim_keys = False
|
||||||
|
|
||||||
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
|
rounded_corners = True
|
||||||
|
|
||||||
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
#* "block" has half the resolution of braille but uses more common characters.
|
||||||
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||||
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||||
|
graph_symbol = "braille"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_net = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
|
update_ms = 2000
|
||||||
|
|
||||||
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
|
proc_sorting = "cpu lazy"
|
||||||
|
|
||||||
|
#* Reverse sorting order, True or False.
|
||||||
|
proc_reversed = False
|
||||||
|
|
||||||
|
#* Show processes as a tree.
|
||||||
|
proc_tree = False
|
||||||
|
|
||||||
|
#* Use the cpu graph colors in the process list.
|
||||||
|
proc_colors = True
|
||||||
|
|
||||||
|
#* Use a darkening gradient in the process list.
|
||||||
|
proc_gradient = True
|
||||||
|
|
||||||
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
|
proc_per_core = False
|
||||||
|
|
||||||
|
#* Show process memory as bytes instead of percent.
|
||||||
|
proc_mem_bytes = True
|
||||||
|
|
||||||
|
#* Show cpu graph for each process.
|
||||||
|
proc_cpu_graphs = True
|
||||||
|
|
||||||
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
|
proc_info_smaps = False
|
||||||
|
|
||||||
|
#* Show proc box on left side of screen instead of right.
|
||||||
|
proc_left = False
|
||||||
|
|
||||||
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
|
proc_filter_kernel = False
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = False
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_upper = "Auto"
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_lower = "Auto"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
|
cpu_single_graph = False
|
||||||
|
|
||||||
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
|
cpu_bottom = False
|
||||||
|
|
||||||
|
#* Shows the system uptime in the CPU box.
|
||||||
|
show_uptime = True
|
||||||
|
|
||||||
|
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||||
|
show_cpu_watts = True
|
||||||
|
|
||||||
|
#* Show cpu temperature.
|
||||||
|
check_temp = True
|
||||||
|
|
||||||
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
|
show_coretemp = True
|
||||||
|
|
||||||
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||||
|
#* Example: "4:0 5:1 6:3"
|
||||||
|
cpu_core_map = ""
|
||||||
|
|
||||||
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||||
|
temp_scale = "celsius"
|
||||||
|
|
||||||
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
|
base_10_sizes = False
|
||||||
|
|
||||||
|
#* Show CPU frequency.
|
||||||
|
show_cpu_freq = True
|
||||||
|
|
||||||
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
|
clock_format = "%X"
|
||||||
|
|
||||||
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
|
background_update = True
|
||||||
|
|
||||||
|
#* Custom cpu model name, empty string to disable.
|
||||||
|
custom_cpu_name = ""
|
||||||
|
|
||||||
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
|
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||||
|
disks_filter = ""
|
||||||
|
|
||||||
|
#* Show graphs instead of meters for memory values.
|
||||||
|
mem_graphs = True
|
||||||
|
|
||||||
|
#* Show mem box below net box instead of above.
|
||||||
|
mem_below_net = False
|
||||||
|
|
||||||
|
#* Count ZFS ARC in cached and available memory.
|
||||||
|
zfs_arc_cached = True
|
||||||
|
|
||||||
|
#* If swap memory should be shown in memory box.
|
||||||
|
show_swap = True
|
||||||
|
|
||||||
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
|
swap_disk = True
|
||||||
|
|
||||||
|
#* If mem box should be split to also show disks info.
|
||||||
|
show_disks = True
|
||||||
|
|
||||||
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
|
only_physical = True
|
||||||
|
|
||||||
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
|
use_fstab = True
|
||||||
|
|
||||||
|
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||||
|
zfs_hide_datasets = False
|
||||||
|
|
||||||
|
#* Set to true to show available disk space for privileged users.
|
||||||
|
disk_free_priv = False
|
||||||
|
|
||||||
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
|
show_io_stat = True
|
||||||
|
|
||||||
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
|
io_mode = False
|
||||||
|
|
||||||
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
|
io_graph_combined = False
|
||||||
|
|
||||||
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
|
net_download = 100
|
||||||
|
|
||||||
|
net_upload = 100
|
||||||
|
|
||||||
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
|
net_auto = True
|
||||||
|
|
||||||
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
|
net_sync = True
|
||||||
|
|
||||||
|
#* Starts with the Network Interface specified here.
|
||||||
|
net_iface = ""
|
||||||
|
|
||||||
|
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||||
|
base_10_bitrate = "Auto"
|
||||||
|
|
||||||
|
#* Show battery stats in top right if battery is present.
|
||||||
|
show_battery = True
|
||||||
|
|
||||||
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = True
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||||
|
rsmi_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
||||||
83
btop/themes/mytheme.theme
Normal file
83
btop/themes/mytheme.theme
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||||
|
theme[main_bg]="##1c1c1f"
|
||||||
|
|
||||||
|
# Main text color
|
||||||
|
theme[main_fg]="#9d8462"
|
||||||
|
|
||||||
|
# Title color for boxes
|
||||||
|
theme[title]="#ff9100"
|
||||||
|
|
||||||
|
# Highlight color for keyboard shortcuts
|
||||||
|
theme[hi_fg]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of selected item in processes box
|
||||||
|
theme[selected_bg]="#ff9100"
|
||||||
|
|
||||||
|
# Foreground color of selected item in processes box
|
||||||
|
theme[selected_fg]="#000000"
|
||||||
|
|
||||||
|
# Color of inactive/disabled text
|
||||||
|
theme[inactive_fg]="#9d8462"
|
||||||
|
|
||||||
|
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||||
|
theme[graph_text]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of the percentage meters
|
||||||
|
theme[meter_bg]="#303340"
|
||||||
|
|
||||||
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
|
theme[proc_misc]="#9d8462"
|
||||||
|
|
||||||
|
# CPU, Memory, Network, Proc box outline colors
|
||||||
|
theme[cpu_box]="#9d8462"
|
||||||
|
theme[mem_box]="#9d8462"
|
||||||
|
theme[net_box]="#9d8462"
|
||||||
|
theme[proc_box]="#9d8462"
|
||||||
|
|
||||||
|
# Box divider line and small boxes line color
|
||||||
|
theme[div_line]="#9d8462"
|
||||||
|
|
||||||
|
# Temperature graph color (Green -> Yellow -> Red)
|
||||||
|
theme[temp_start]="#9d8462"
|
||||||
|
theme[temp_mid]="#ff9100"
|
||||||
|
theme[temp_end]="#ff0000"
|
||||||
|
|
||||||
|
# CPU graph colors (Teal -> Lavender)
|
||||||
|
theme[cpu_start]="#9d8462"
|
||||||
|
theme[cpu_mid]="#ff9100"
|
||||||
|
theme[cpu_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||||
|
theme[free_start]="#9d8462"
|
||||||
|
theme[free_mid]="#ff9100"
|
||||||
|
theme[free_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||||
|
theme[cached_start]="#9d8462"
|
||||||
|
theme[cached_mid]="#ff9100"
|
||||||
|
theme[cached_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk available meter ( -> )
|
||||||
|
theme[available_start]="#9d8462"
|
||||||
|
theme[available_mid]="#ff9100"
|
||||||
|
theme[available_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk used meter (-> )
|
||||||
|
theme[used_start]="#9d8462"
|
||||||
|
theme[used_mid]="#ff9100"
|
||||||
|
theme[used_end]="#ff0000"
|
||||||
|
|
||||||
|
# Download graph colors (Peach -> Red)
|
||||||
|
theme[download_start]="#9d8462"
|
||||||
|
theme[download_mid]="#ff9100"
|
||||||
|
theme[download_end]="#ff0000"
|
||||||
|
|
||||||
|
# Upload graph colors (Green -> Sky)
|
||||||
|
theme[upload_start]="#9d8462"
|
||||||
|
theme[upload_mid]="#ff9100"
|
||||||
|
theme[upload_end]="#ff0000"
|
||||||
|
|
||||||
|
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||||
|
theme[process_start]="#9d8462"
|
||||||
|
theme[process_mid]="#ff9100"
|
||||||
|
theme[process_end]="#ff0000"
|
||||||
165
btop/themes/orange.theme
Normal file
165
btop/themes/orange.theme
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||||
|
theme[main_bg]="##1c1c1f"
|
||||||
|
|
||||||
|
# Main text color
|
||||||
|
theme[main_fg]="#a1a1a1"
|
||||||
|
|
||||||
|
# Title color for boxes
|
||||||
|
theme[title]="#ff9100"
|
||||||
|
|
||||||
|
# Highlight color for keyboard shortcuts
|
||||||
|
theme[hi_fg]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of selected item in processes box
|
||||||
|
theme[selected_bg]="#ff9100"
|
||||||
|
|
||||||
|
# Foreground color of selected item in processes box
|
||||||
|
theme[selected_fg]="#000000"
|
||||||
|
|
||||||
|
# Color of inactive/disabled text
|
||||||
|
theme[inactive_fg]="#51576d"
|
||||||
|
|
||||||
|
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||||
|
theme[graph_text]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of the percentage meters
|
||||||
|
theme[meter_bg]="#51576d"
|
||||||
|
|
||||||
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
|
theme[proc_misc]="#51576d"
|
||||||
|
|
||||||
|
# CPU, Memory, Network, Proc box outline colors
|
||||||
|
theme[cpu_box]="#51576d"
|
||||||
|
theme[mem_box]="#51576d"
|
||||||
|
theme[net_box]="#51576d"
|
||||||
|
theme[proc_box]="#51576d"
|
||||||
|
|
||||||
|
# Box divider line and small boxes line color
|
||||||
|
theme[div_line]="#51576d"
|
||||||
|
|
||||||
|
# Temperature graph color (Green -> Yellow -> Red)
|
||||||
|
theme[temp_start]="#51576d"
|
||||||
|
theme[temp_mid]="#ff9100"
|
||||||
|
theme[temp_end]="#ff0000"
|
||||||
|
|
||||||
|
# CPU graph colors (Teal -> Lavender)
|
||||||
|
theme[cpu_start]="#51576d"
|
||||||
|
theme[cpu_mid]="#ff9100"
|
||||||
|
theme[cpu_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||||
|
theme[free_start]="#51576d"
|
||||||
|
theme[free_mid]="#ff9100"
|
||||||
|
theme[free_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||||
|
theme[cached_start]="#51576d"
|
||||||
|
theme[cached_mid]="#ff9100"
|
||||||
|
theme[cached_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk available meter ( -> )
|
||||||
|
theme[available_start]="#51576d"
|
||||||
|
theme[available_mid]="#ff9100"
|
||||||
|
theme[available_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk used meter (-> )
|
||||||
|
theme[used_start]="#51576d"
|
||||||
|
theme[used_mid]="#ff9100"
|
||||||
|
theme[used_end]="#ff0000"
|
||||||
|
|
||||||
|
# Download graph colors (Peach -> Red)
|
||||||
|
theme[download_start]="#51576d"
|
||||||
|
theme[download_mid]="#ff9100"
|
||||||
|
theme[download_end]="#ff0000"
|
||||||
|
|
||||||
|
# Upload graph colors (Green -> Sky)
|
||||||
|
theme[upload_start]="#51576d"
|
||||||
|
theme[upload_mid]="#ff9100"
|
||||||
|
theme[upload_end]="#ff0000"
|
||||||
|
|
||||||
|
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||||
|
theme[process_start]="#51576d"
|
||||||
|
theme[process_mid]="#ff9100"
|
||||||
|
theme[process_end]="#ff0000"# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||||
|
theme[main_bg]="##1c1c1f"
|
||||||
|
|
||||||
|
# Main text color
|
||||||
|
theme[main_fg]="#51576d"
|
||||||
|
|
||||||
|
# Title color for boxes
|
||||||
|
theme[title]="#ff9100"
|
||||||
|
|
||||||
|
# Highlight color for keyboard shortcuts
|
||||||
|
theme[hi_fg]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of selected item in processes box
|
||||||
|
theme[selected_bg]="#ff9100"
|
||||||
|
|
||||||
|
# Foreground color of selected item in processes box
|
||||||
|
theme[selected_fg]="#000000"
|
||||||
|
|
||||||
|
# Color of inactive/disabled text
|
||||||
|
theme[inactive_fg]="#51576d"
|
||||||
|
|
||||||
|
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||||
|
theme[graph_text]="#ff9100"
|
||||||
|
|
||||||
|
# Background color of the percentage meters
|
||||||
|
theme[meter_bg]="#51576d"
|
||||||
|
|
||||||
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
|
theme[proc_misc]="#51576d"
|
||||||
|
|
||||||
|
# CPU, Memory, Network, Proc box outline colors
|
||||||
|
theme[cpu_box]="#51576d"
|
||||||
|
theme[mem_box]="#51576d"
|
||||||
|
theme[net_box]="#51576d"
|
||||||
|
theme[proc_box]="#51576d"
|
||||||
|
|
||||||
|
# Box divider line and small boxes line color
|
||||||
|
theme[div_line]="#51576d"
|
||||||
|
|
||||||
|
# Temperature graph color (Green -> Yellow -> Red)
|
||||||
|
theme[temp_start]="#51576d"
|
||||||
|
theme[temp_mid]="#ff9100"
|
||||||
|
theme[temp_end]="#ff0000"
|
||||||
|
|
||||||
|
# CPU graph colors (Teal -> Lavender)
|
||||||
|
theme[cpu_start]="#51576d"
|
||||||
|
theme[cpu_mid]="#ff9100"
|
||||||
|
theme[cpu_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||||
|
theme[free_start]="#51576d"
|
||||||
|
theme[free_mid]="#ff9100"
|
||||||
|
theme[free_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||||
|
theme[cached_start]="#51576d"
|
||||||
|
theme[cached_mid]="#ff9100"
|
||||||
|
theme[cached_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk available meter ( -> )
|
||||||
|
theme[available_start]="#51576d"
|
||||||
|
theme[available_mid]="#ff9100"
|
||||||
|
theme[available_end]="#ff0000"
|
||||||
|
|
||||||
|
# Mem/Disk used meter (-> )
|
||||||
|
theme[used_start]="#51576d"
|
||||||
|
theme[used_mid]="#ff9100"
|
||||||
|
theme[used_end]="#ff0000"
|
||||||
|
|
||||||
|
# Download graph colors (Peach -> Red)
|
||||||
|
theme[download_start]="#51576d"
|
||||||
|
theme[download_mid]="#ff9100"
|
||||||
|
theme[download_end]="#ff0000"
|
||||||
|
|
||||||
|
# Upload graph colors (Green -> Sky)
|
||||||
|
theme[upload_start]="#51576d"
|
||||||
|
theme[upload_mid]="#ff9100"
|
||||||
|
theme[upload_end]="#ff0000"
|
||||||
|
|
||||||
|
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||||
|
theme[process_start]="#51576d"
|
||||||
|
theme[process_mid]="#ff9100"
|
||||||
|
theme[process_end]="#ff0000"
|
||||||
57
ghostty/config
Normal file
57
ghostty/config
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# This is the configuration file for Ghostty.
|
||||||
|
#
|
||||||
|
# This template file has been automatically created at the following
|
||||||
|
# path since Ghostty couldn't find any existing config files on your system:
|
||||||
|
#
|
||||||
|
# /home/saeijou/.config/ghostty/config
|
||||||
|
#
|
||||||
|
# The template does not set any default options, since Ghostty ships
|
||||||
|
# with sensible defaults for all options. Users should only need to set
|
||||||
|
# options that they want to change from the default.
|
||||||
|
#
|
||||||
|
# Run `ghostty +show-config --default --docs` to view a list of
|
||||||
|
# all available config options and their default values.
|
||||||
|
#
|
||||||
|
# Additionally, each config option is also explained in detail
|
||||||
|
# on Ghostty's website, at https://ghostty.org/docs/config.
|
||||||
|
#
|
||||||
|
# Ghostty can reload the configuration while running by using the menu
|
||||||
|
# options or the bound key (default: Command + Shift + comma on macOS and
|
||||||
|
# Control + Shift + comma on other platforms). Not all config options can be
|
||||||
|
# reloaded while running; some only apply to new windows and others may require
|
||||||
|
# a full restart to take effect.
|
||||||
|
|
||||||
|
# Config syntax crash course
|
||||||
|
# ==========================
|
||||||
|
# # The config file consists of simple key-value pairs,
|
||||||
|
# # separated by equals signs.
|
||||||
|
# font-family = Iosevka
|
||||||
|
# window-padding-x = 2
|
||||||
|
#
|
||||||
|
# # Spacing around the equals sign does not matter.
|
||||||
|
# # All of these are identical:
|
||||||
|
# key=value
|
||||||
|
# key= value
|
||||||
|
# key =value
|
||||||
|
# key = value
|
||||||
|
#
|
||||||
|
# # Any line beginning with a # is a comment. It's not possible to put
|
||||||
|
# # a comment after a config option, since it would be interpreted as a
|
||||||
|
# # part of the value. For example, this will have a value of "#123abc":
|
||||||
|
# background = #123abc
|
||||||
|
#
|
||||||
|
# # Empty values are used to reset config keys to default.
|
||||||
|
# key =
|
||||||
|
#
|
||||||
|
# # Some config options have unique syntaxes for their value,
|
||||||
|
# # which is explained in the docs for that config option.
|
||||||
|
# # Just for example:
|
||||||
|
# resize-overlay-duration = 4s 200ms
|
||||||
|
#
|
||||||
|
# Font
|
||||||
|
font-family = "JetBrainsMono Nerd Font"
|
||||||
|
font-style = Regular
|
||||||
|
font-size = 12
|
||||||
|
|
||||||
|
#Theme
|
||||||
|
config-file=themes/theme
|
||||||
49
ghostty/themes/gruvbox_dark.conf
Normal file
49
ghostty/themes/gruvbox_dark.conf
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# gruvbox dark by morhetz, https://github.com/morhetz/gruvbox
|
||||||
|
# This work is licensed under the terms of the MIT license.
|
||||||
|
# For a copy, see https://opensource.org/licenses/MIT.
|
||||||
|
|
||||||
|
background #282828
|
||||||
|
foreground #ebdbb2
|
||||||
|
|
||||||
|
cursor #928374
|
||||||
|
|
||||||
|
selection_foreground #928374
|
||||||
|
selection_background #3c3836
|
||||||
|
|
||||||
|
color0 #282828
|
||||||
|
color8 #928374
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #cc241d
|
||||||
|
# light red
|
||||||
|
color9 #fb4934
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #98971a
|
||||||
|
# light green
|
||||||
|
color10 #b8bb26
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #d79921
|
||||||
|
# light yellow
|
||||||
|
color11 #fabd2d
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #458588
|
||||||
|
# light blue
|
||||||
|
color12 #83a598
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #b16286
|
||||||
|
# light magenta
|
||||||
|
color13 #d3869b
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #689d6a
|
||||||
|
# lighy cyan
|
||||||
|
color14 #8ec07c
|
||||||
|
|
||||||
|
# light gray
|
||||||
|
color7 #a89984
|
||||||
|
# dark gray
|
||||||
|
color15 #928374
|
||||||
11
ghostty/themes/theme
Normal file
11
ghostty/themes/theme
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Background and Foreground
|
||||||
|
background = 1c1c1f
|
||||||
|
foreground = 9d8462
|
||||||
|
|
||||||
|
# Cursor
|
||||||
|
cursor-color = ff9100
|
||||||
|
cursor-text = 000000
|
||||||
|
|
||||||
|
# Selection
|
||||||
|
selection-background = ff9100
|
||||||
|
selection-foreground = 000000
|
||||||
@@ -1,317 +1,25 @@
|
|||||||
|
#██ ██ ██ ██ █████▄ █████▄ ██ ▄████▄ ███ ██ ████▄
|
||||||
# #######################################################################################
|
#██████ ▀██▀ ██▄▄█▀ ██▄▄██▄ ██ ██▄▄██ ██ ▀▄██ ██ ██
|
||||||
# AUTOGENERATED HYPRLAND CONFIG.
|
#██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ██ ████▀
|
||||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
|
|
||||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
|
||||||
# #######################################################################################
|
|
||||||
|
|
||||||
# This is an example Hyprland config file.
|
|
||||||
# Refer to the wiki for more information.
|
|
||||||
# https://wiki.hyprland.org/Configuring/
|
|
||||||
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
|
|
||||||
# You can split this configuration into multiple files
|
|
||||||
# Create your files separately and then link them to this file like this:
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
################
|
|
||||||
### MONITORS ###
|
|
||||||
################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
#monitor = , preferred, auto, 1
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
### MY PROGRAMS ###
|
### MY PROGRAMS ###
|
||||||
###################
|
###################
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = ghostty
|
$terminal = ghostty
|
||||||
$fileManager = thunar
|
$fileManager = thunar
|
||||||
$menu = wofi --show drun
|
$menu = rofi -show drun
|
||||||
|
$browser = librewolf
|
||||||
|
$browser2 = google-chrome-stable
|
||||||
|
|
||||||
|
# Configurations
|
||||||
|
|
||||||
#################
|
source = ~/.config/hypr/hyprland/animations.conf
|
||||||
### AUTOSTART ###
|
source = ~/.config/hypr/hyprland/autostart.conf
|
||||||
#################
|
source = ~/.config/hypr/hyprland/bindings.conf
|
||||||
|
source = ~/.config/hypr/hyprland/env.conf
|
||||||
|
source = ~/.config/hypr/hyprland/input.conf
|
||||||
|
source = ~/.config/hypr/hyprland/looknfeel.conf
|
||||||
|
source = ~/.config/hypr/hyprland/monitors.conf
|
||||||
|
source = ~/.config/hypr/hyprland/windowrules.conf
|
||||||
|
|
||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
||||||
# Or execute your favorite apps at launch like this:
|
|
||||||
# exec-once = $terminal
|
|
||||||
# exec-once = nm-applet &
|
|
||||||
exec-once = wl-paste --type text --watch cliphist store
|
|
||||||
exec-once = wl-paste --type image --watch cliphist store
|
|
||||||
exec-once = waybar & disown
|
|
||||||
exec-once = librewolf & disown
|
|
||||||
exec-once = swaync & disown
|
|
||||||
exec-once = hypridle & disown
|
|
||||||
exec-once = seventeenlands & disown
|
|
||||||
#exec-once = ~/.config/hypr/scripts/monitor_setup.sh
|
|
||||||
exec-once = hyprctl dispatch exec [workspace 3 silent] signal-desktop
|
|
||||||
exec-once = hyprctl dispatch exec [workspace 3 silent] discord
|
|
||||||
exec-once = hyprctl dispatch exec [workspace 3 silent] thunderbird
|
|
||||||
#exec-once = hyprctl dispatch exec "[workspace 5 silent] steam"
|
|
||||||
|
|
||||||
#############################
|
|
||||||
### ENVIRONMENT VARIABLES ###
|
|
||||||
#############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,20
|
|
||||||
env = HYPRCURSOR_SIZE,20
|
|
||||||
env = LANG,en_US.UTF-8
|
|
||||||
env = LC_ALL,en_US.UTF-8
|
|
||||||
env = LANGUAGE,en_US.UTF-8
|
|
||||||
|
|
||||||
#####################
|
|
||||||
### LOOK AND FEEL ###
|
|
||||||
#####################
|
|
||||||
|
|
||||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
||||||
general {
|
|
||||||
gaps_in = 0
|
|
||||||
gaps_out = 0
|
|
||||||
|
|
||||||
border_size = 1
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
||||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
||||||
col.inactive_border = rgba(595959aa)
|
|
||||||
|
|
||||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
||||||
resize_on_border = false
|
|
||||||
|
|
||||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
||||||
allow_tearing = false
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
decoration {
|
|
||||||
rounding = 10
|
|
||||||
rounding_power = 2
|
|
||||||
|
|
||||||
# Change transparency of focused and unfocused windows
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 0.9
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = false
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
color = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
|
|
||||||
vibrancy = 0.1696
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
||||||
animations {
|
|
||||||
enabled = no
|
|
||||||
|
|
||||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = easeOutQuint,0.23,1,0.32,1
|
|
||||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
||||||
bezier = linear,0,0,1,1
|
|
||||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
||||||
bezier = quick,0.15,0,0.1,1
|
|
||||||
|
|
||||||
animation = global, 1, 10, default
|
|
||||||
animation = border, 1, 5.39, easeOutQuint
|
|
||||||
animation = windows, 1, 4.79, easeOutQuint
|
|
||||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
||||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
||||||
animation = fadeIn, 1, 1.73, almostLinear
|
|
||||||
animation = fadeOut, 1, 1.46, almostLinear
|
|
||||||
animation = fade, 1, 3.03, quick
|
|
||||||
animation = layers, 1, 3.81, easeOutQuint
|
|
||||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
|
||||||
animation = layersOut, 1, 1.5, linear, fade
|
|
||||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
||||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
# "Smart gaps" / "No gaps when only"
|
|
||||||
# uncomment all if you wish to use that.
|
|
||||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
|
||||||
# workspace = f[1], gapsout:0, gapsin:0
|
|
||||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
|
||||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
dwindle {
|
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
|
||||||
}
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
master {
|
|
||||||
new_status = master
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
||||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#############
|
|
||||||
### INPUT ###
|
|
||||||
#############
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
#gestures {
|
|
||||||
# workspace_swipe = false
|
|
||||||
#}
|
|
||||||
|
|
||||||
# Example per-device config
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
||||||
device {
|
|
||||||
name = epic-mouse-v1
|
|
||||||
sensitivity = -0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### KEYBINDINGS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
||||||
bind = $mainMod, return, exec, $terminal
|
|
||||||
bind = $mainMod, C, killactive,
|
|
||||||
bind = $mainMod, M, exit,
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
|
||||||
bind = $mainMod, F, togglefloating,
|
|
||||||
bind = $mainMod, space, exec, $menu
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
|
||||||
bind = $mainMod, B, exec, killall waybar && waybar &
|
|
||||||
bind = $mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only,
|
|
||||||
bind = $mainMod, L, exec, hyprlock
|
|
||||||
bind = $mainMod, backslash, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
|
||||||
bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
bind = $mainMod, left, movefocus, l
|
|
||||||
bind = $mainMod, right, movefocus, r
|
|
||||||
bind = $mainMod, up, movefocus, u
|
|
||||||
bind = $mainMod, down, movefocus, d
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, 1, workspace, 1
|
|
||||||
bind = $mainMod, 2, workspace, 2
|
|
||||||
bind = $mainMod, 3, workspace, 3
|
|
||||||
bind = $mainMod, 4, workspace, 4
|
|
||||||
bind = $mainMod, 5, workspace, 5
|
|
||||||
bind = $mainMod, 6, workspace, 6
|
|
||||||
bind = $mainMod, 7, workspace, 7
|
|
||||||
bind = $mainMod, 8, workspace, 8
|
|
||||||
bind = $mainMod, 9, workspace, 9
|
|
||||||
bind = $mainMod, 0, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
|
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
|
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
|
|
||||||
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
|
|
||||||
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
|
|
||||||
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
|
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
|
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
|
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
|
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
|
|
||||||
|
|
||||||
# Example special workspace (scratchpad)
|
|
||||||
#bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
|
|
||||||
bind = SUPER_ALT_CTRL, L, exec, hyprctl keyword monitor "eDP-1,preferred,auto,1"
|
|
||||||
|
|
||||||
#Mouse Key Assignements
|
|
||||||
#bind = , code:191, exec, $terminal
|
|
||||||
#bind = , code:198, exec, $terminal
|
|
||||||
|
|
||||||
|
|
||||||
# Lid Open & Closed
|
|
||||||
#bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
|
||||||
# trigger when the switch is turning on
|
|
||||||
#bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Laptop multimedia keys for volume and LCD brightness
|
|
||||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
|
||||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
||||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
||||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
||||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
|
||||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
|
||||||
|
|
||||||
# Requires playerctl
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
|
|
||||||
##############################
|
|
||||||
### WINDOWS AND WORKSPACES ###
|
|
||||||
##############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
||||||
|
|
||||||
# Example windowrule
|
|
||||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
|
||||||
windowrule = suppressevent maximize, class:.*
|
|
||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
|
||||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
||||||
|
|||||||
34
hypr/hyprland/animations.conf
Normal file
34
hypr/hyprland/animations.conf
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#▄████▄ ███ ██ ██ ██▄ ▄██ ▄████▄ ██████ ██ ▄████▄ ███ ██ ▄█████
|
||||||
|
#██▄▄██ ██ ▀▄██ ██ ██ ▀▀ ██ ██▄▄██ ██ ██ ██ ██ ██ ▀▄██ ▀▀▀▄▄▄
|
||||||
|
#██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ▀████▀ ██ ██ █████▀
|
||||||
|
|
||||||
|
animations {
|
||||||
|
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
bezier = water, 0.22, 0.9, 0.36, 1.0
|
||||||
|
bezier = flow, 0.25, 0.1, 0.25, 1.0
|
||||||
|
bezier = ripple, 0.33, 0.0, 0.2, 1.0
|
||||||
|
bezier = stream, 0.4, 0.0, 0.4, 1.0
|
||||||
|
bezier = cascade, 0.19, 1.0, 0.22, 1.0
|
||||||
|
bezier = md3_standard, 0.2, 0, 0, 1
|
||||||
|
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||||
|
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 3.0, water
|
||||||
|
animation = windowsIn, 1, 2.5, cascade,slide
|
||||||
|
animation = windowsOut, 1, 2.4, stream,slide
|
||||||
|
animation = windowsMove,1, 1.6, flow
|
||||||
|
animation = fade, 1, 2.4, water
|
||||||
|
animation = fadeIn, 1, 2.0, cascade
|
||||||
|
animation = fadeOut, 1, 1.8, ripple
|
||||||
|
animation = fadeDim, 1, 2.0, water
|
||||||
|
animation = fadeSwitch, 1, 1.4, flow
|
||||||
|
animation = layersIn, 1, 1.5, overshot, popin 80%
|
||||||
|
animation = layersOut, 1, 1.3, md3_accel, popin 90%
|
||||||
|
animation = layers, 1, 1.5, md3_standard
|
||||||
|
animation = workspaces, 1, 1.5, flow
|
||||||
|
animation = specialWorkspace, 1, 2.5, water
|
||||||
|
animation = border, 1, 2.9, water
|
||||||
|
animation = borderangle,1, 3.5, flow
|
||||||
|
}
|
||||||
15
hypr/hyprland/autostart.conf
Normal file
15
hypr/hyprland/autostart.conf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#▄████▄ ██ ██ ██████ ▄████▄ ▄█████ ██████ ▄████▄ █████▄ ██████
|
||||||
|
#██▄▄██ ██ ██ ██ ██ ██ ▀▀▀▄▄▄ ██ ██▄▄██ ██▄▄██▄ ██
|
||||||
|
#██ ██ ▀████▀ ██ ▀████▀ █████▀ ██ ██ ██ ██ ██ ██
|
||||||
|
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store
|
||||||
|
exec-once = wl-paste --type image --watch cliphist store
|
||||||
|
exec-once = waybar & disown
|
||||||
|
exec-once = librewolf & disown
|
||||||
|
exec-once = swaync & disown
|
||||||
|
exec-once = hypridle & disown
|
||||||
|
exec-once = seventeenlands & disown
|
||||||
|
exec-once = hyprctl dispatch exec [workspace 3 silent] signal-desktop
|
||||||
|
exec-once = hyprctl dispatch exec [workspace 3 silent] discord
|
||||||
|
exec-once = hyprctl dispatch exec [workspace 3 silent] thunderbird
|
||||||
|
#exec-once = hyprctl dispatch exec "[workspace 5 silent] steam"
|
||||||
94
hypr/hyprland/bindings.conf
Normal file
94
hypr/hyprland/bindings.conf
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
#██ ▄█▀ ██████ ██ ██ █████▄ ██ ███ ██ ████▄ ██ ███ ██ ▄████ ▄█████
|
||||||
|
#████ ██▄▄ ▀██▀ ██▄▄██ ██ ██ ▀▄██ ██ ██ ██ ██ ▀▄██ ██ ▄▄▄ ▀▀▀▄▄▄
|
||||||
|
#██ ▀█▄ ██▄▄▄▄ ██ ██▄▄█▀ ██ ██ ██ ████▀ ██ ██ ██ ▀███▀ █████▀
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
bind = $mainModu SHIFT, B, exec, $browser2
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, F, togglefloating,
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, L, exec, hyprlock
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, N, exec, swaync-client -t -sw
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only,
|
||||||
|
bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod, W, exec, killall waybar && waybar &
|
||||||
|
bind = $mainMod, return, exec, $terminal
|
||||||
|
bind = $mainMod, space, exec, $menu
|
||||||
|
bind = $mainMod, backslash, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
||||||
|
bind = $mainMod, slash, exec, $terminal -e btop
|
||||||
|
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
#bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
bind = SUPER_ALT_CTRL, L, exec, hyprctl keyword monitor "eDP-1,preferred,auto,1"
|
||||||
|
|
||||||
|
#Mouse Key Assignements
|
||||||
|
#bind = , code:191, exec, $terminal
|
||||||
|
#bind = , code:198, exec, $terminal
|
||||||
|
|
||||||
|
|
||||||
|
# Lid Open & Closed
|
||||||
|
#bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
||||||
|
# trigger when the switch is turning on
|
||||||
|
#bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/monitor_setup.sh
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previou
|
||||||
32
hypr/hyprland/env.conf
Normal file
32
hypr/hyprland/env.conf
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#██████ ███ ██ ██ ██ ██ ██ ▄████▄ █████▄ ██ ▄████▄ █████▄ ██ ██████ ▄█████
|
||||||
|
#██▄▄ ██ ▀▄██ ██▄▄██ ██▄▄██ ██▄▄██ ██▄▄██▄ ██ ██▄▄██ ██▄▄██ ██ ██▄▄ ▀▀▀▄▄▄
|
||||||
|
#██▄▄▄▄ ██ ██ ▀██▀ ▀██▀ ██ ██ ██ ██ ██ ██ ██ ██▄▄█▀ ██████ ██▄▄▄▄ █████▀
|
||||||
|
|
||||||
|
# GTK Theme
|
||||||
|
env = GTK_THEME,adw-gtk3-dark
|
||||||
|
|
||||||
|
# Cursor size
|
||||||
|
env = XCURSOR_SIZE,20
|
||||||
|
env = HYPRCURSOR_SIZE,20
|
||||||
|
|
||||||
|
# Language Settings
|
||||||
|
env = LANG,en_US.UTF-8
|
||||||
|
env = LC_ALL,en_US.UTF-8
|
||||||
|
env = LANGUAGE,en_US.UTF-8
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
env = EDITOR,nvim
|
||||||
|
|
||||||
|
# Force all apps to use Wayland
|
||||||
|
env = GDK_BACKEND,wayland,x11
|
||||||
|
env = QT_QPA_PLATFORM,wayland;xcb
|
||||||
|
env = QT_STYLE_OVERRIDE,kvantum
|
||||||
|
env = SDL_VIDEODRIVER,wayland
|
||||||
|
env = MOZ_ENABLE_WAYLAND,1
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||||
|
env = OZONE_PLATFORM,wayland
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
|
||||||
|
# Allow better support for screen sharing (Google Meet, Discord, etc)
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
40
hypr/hyprland/input.conf
Normal file
40
hypr/hyprland/input.conf
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#██ ███ ██ █████▄ ██ ██ ██████
|
||||||
|
#██ ██ ▀▄██ ██▄▄█▀ ██ ██ ██
|
||||||
|
#██ ██ ██ ██ ▀████▀ ██
|
||||||
|
|
||||||
|
# hide cursor after n sec
|
||||||
|
cursor {
|
||||||
|
inactive_timeout = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
kb_options = caps:none #deactivate capslock
|
||||||
|
|
||||||
|
# Change speed of keyboard repeat
|
||||||
|
# repeat_rate = 40
|
||||||
|
# repeat_delay = 600
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
numlock_by_default = true
|
||||||
|
|
||||||
|
# Increase sensitity for mouse/trackpack (default: 0)
|
||||||
|
sensitivity = 0 #0.35
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
# Use natural (inverse) scrolling
|
||||||
|
natural_scroll = false #true
|
||||||
|
|
||||||
|
# Use two-finger clicks for right-click instead of lower-right corner
|
||||||
|
clickfinger_behavior = true
|
||||||
|
|
||||||
|
# Control the speed of your scrolling
|
||||||
|
scroll_factor = 0.4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
key_press_enables_dpms = true # key press will trigger wake
|
||||||
|
mouse_move_enables_dpms = true # mouse move will trigger wake
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
73
hypr/hyprland/looknfeel.conf
Normal file
73
hypr/hyprland/looknfeel.conf
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
#██ ▄████▄ ▄████▄ ██ ▄█▀ ▄▀▀▄ ██████ ██████ ██████ ██
|
||||||
|
#██ ██ ██ ██ ██ ████ ▄▀▀▄ ▄ ██▄▄ ██▄▄ ██▄▄ ██
|
||||||
|
#██████ ▀████▀ ▀████▀ ██ ▀█▄ ▀▄▄▀▀▄ ██ ██▄▄▄▄ ██▄▄▄▄ ██████
|
||||||
|
|
||||||
|
general {
|
||||||
|
gaps_in = 0
|
||||||
|
gaps_out = 0
|
||||||
|
|
||||||
|
border_size = 1
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(ff9100ff)
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
rounding_power = 2
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 0.9
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = false
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 7
|
||||||
|
passes = 4
|
||||||
|
ignore_opacity = true
|
||||||
|
noise = 0.0117
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
xray = false
|
||||||
|
new_optimizations = true
|
||||||
|
special = true
|
||||||
|
popups = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# App launcher
|
||||||
|
layerrule = blur, rofi
|
||||||
|
layerrule = ignorezero, rofi
|
||||||
|
layerrule = animation slide bottom, rofi
|
||||||
|
|
||||||
|
# Top bar
|
||||||
|
layerrule = blur, waybar
|
||||||
|
layerrule = ignorezero, waybar
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # You probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
}
|
||||||
9
hypr/hyprland/monitors.conf
Normal file
9
hypr/hyprland/monitors.conf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#██▄ ▄██ ▄████▄ ███ ██ ██ ██████ ▄████▄ █████▄ ▄█████
|
||||||
|
#██ ▀▀ ██ ██ ██ ██ ▀▄██ ██ ██ ██ ██ ██▄▄██▄ ▀▀▀▄▄▄
|
||||||
|
#██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ ██ ██ █████▀
|
||||||
|
|
||||||
|
monitor = , preferred, auto, 1
|
||||||
|
|
||||||
|
# Lid switch bindings
|
||||||
|
bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable"
|
||||||
|
bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, preferred, auto, 1
|
||||||
11
hypr/hyprland/windowrules.conf
Normal file
11
hypr/hyprland/windowrules.conf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#██ ██ ██ ███ ██ ████▄ ▄████▄ ██ ██ █████▄ ██ ██ ██ ██████ ▄█████
|
||||||
|
#██ ▄█▄ ██ ██ ██ ▀▄██ ██ ██ ██ ██ ██ ▄█▄ ██ ██▄▄██▄ ██ ██ ██ ██▄▄ ▀▀▀▄▄▄
|
||||||
|
# ▀██▀██▀ ██ ██ ██ ████▀ ▀████▀ ▀██▀██▀ ██ ██ ▀████▀ ██████ ██▄▄▄▄ █████▀
|
||||||
|
|
||||||
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
|
windowrule = suppressevent maximize, class:.*
|
||||||
|
|
||||||
|
# Fix some dragging issues with XWayland
|
||||||
|
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
|
|
||||||
96
rofi/bluetooth-menu.rasi
Normal file
96
rofi/bluetooth-menu.rasi
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/* Bluetooth menu */
|
||||||
|
|
||||||
|
@theme "~/.config/rofi/theme.rasi"
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
font: "JetBrainsMono Nerd Font 8";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
|
||||||
|
window {
|
||||||
|
location: north;
|
||||||
|
anchor: south;
|
||||||
|
y-offset: 3px;
|
||||||
|
width: 240px;
|
||||||
|
border: 3px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @main-br;
|
||||||
|
background-color: @main-bg;
|
||||||
|
children: [ mainbox ];
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
spacing: 0;
|
||||||
|
background-color: @main-br;
|
||||||
|
text-color: @main-fg;
|
||||||
|
children: [ textbox-custom, listview, inputbar ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-custom {
|
||||||
|
font: "JetBrainsMono Nerd Font Bold 8";
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
padding: 1px 0;
|
||||||
|
expand: false;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
expand: false;
|
||||||
|
content: " Bluetooth";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
margin: -32px 6px 6px;
|
||||||
|
border-radius: 6px;
|
||||||
|
spacing: inherit;
|
||||||
|
background-color: @input-bg;
|
||||||
|
text-color: inherit;
|
||||||
|
children: [ prompt, entry ];
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
padding: 6px 6px 6px 12px;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
placeholder: "Search";
|
||||||
|
padding: 6px 0;
|
||||||
|
cursor: text;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* List */
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 2px 0 0 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-color: @main-br;
|
||||||
|
lines: 6;
|
||||||
|
fixed-height: false;
|
||||||
|
dynamic: false;
|
||||||
|
cycle: false;
|
||||||
|
margin: 0 0 -2px;
|
||||||
|
padding: 6px 6px 40px;
|
||||||
|
background-color: @main-bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @main-fg;
|
||||||
|
}
|
||||||
|
element selected active,
|
||||||
|
element selected normal {
|
||||||
|
border-radius: 6px;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
padding: 0 6px;
|
||||||
|
cursor: inherit;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
69
rofi/power-menu.rasi
Normal file
69
rofi/power-menu.rasi
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
/* Power menu */
|
||||||
|
|
||||||
|
@theme "~/.config/rofi/theme.rasi"
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
font: "JetBrainsMono Nerd Font 8";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
|
||||||
|
window {
|
||||||
|
location: northeast;
|
||||||
|
anchor: north;
|
||||||
|
x-offset: -3px;
|
||||||
|
y-offset: 3px;
|
||||||
|
width: 150px;
|
||||||
|
border: 3px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @main-br;
|
||||||
|
background-color: @main-bg;
|
||||||
|
children: [ mainbox ];
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
spacing: 0;
|
||||||
|
background-color: @main-br;
|
||||||
|
text-color: @main-fg;
|
||||||
|
children: [ textbox-custom, listview ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-custom {
|
||||||
|
font: "JetBrainsMono Nerd Font Bold 8";
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
padding: 1px 0;
|
||||||
|
expand: false;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
expand: false;
|
||||||
|
content: " Power";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* List */
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 2px 0 0 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-color: @main-br;
|
||||||
|
lines: 6;
|
||||||
|
padding: 6px;
|
||||||
|
background-color: @main-bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @main-fg;
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
border-radius: 6px;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
padding: 0 6px;
|
||||||
|
cursor: inherit;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
45
rofi/theme.rasi
Normal file
45
rofi/theme.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Catppuccin Macchiato */
|
||||||
|
|
||||||
|
* {
|
||||||
|
rosewater: #f4dbd6;
|
||||||
|
flamingo: #f0c6c6;
|
||||||
|
pink: #f5bde6;
|
||||||
|
mauve: #c6a0f6;
|
||||||
|
red: #ed8796;
|
||||||
|
maroon: #ee99a0;
|
||||||
|
peach: #f5a97f;
|
||||||
|
yellow: #eed49f;
|
||||||
|
green: #a6da95;
|
||||||
|
teal: #8bd5ca;
|
||||||
|
sky: #91d7e3;
|
||||||
|
sapphire: #7dc4e4;
|
||||||
|
blue: #8aadf4;
|
||||||
|
lavender: #b7bdf8;
|
||||||
|
text: #cad3f5;
|
||||||
|
subtext1: #b8c0e0;
|
||||||
|
subtext0: #a5adcb;
|
||||||
|
overlay2: #939ab7;
|
||||||
|
overlay1: #8087a2;
|
||||||
|
overlay0: #6e738d;
|
||||||
|
surface2: #5b6078;
|
||||||
|
surface1: #494d64;
|
||||||
|
surface0: #363a4f;
|
||||||
|
base: #24273a;
|
||||||
|
mantle: #1e2030;
|
||||||
|
crust: #181926;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @crust;
|
||||||
|
main-fg: @text;
|
||||||
|
main-br: @overlay2;
|
||||||
|
input-bg: @mantle;
|
||||||
|
select-bg: @overlay2;
|
||||||
|
select-fg: @crust;
|
||||||
|
}
|
||||||
45
rofi/themes/catppuccin-frappe.rasi
Normal file
45
rofi/themes/catppuccin-frappe.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Catppuccin Frappe */
|
||||||
|
|
||||||
|
* {
|
||||||
|
rosewater: #f2d5cf;
|
||||||
|
flamingo: #eebebe;
|
||||||
|
pink: #f4b8e4;
|
||||||
|
mauve: #ca9ee6;
|
||||||
|
red: #e78284;
|
||||||
|
maroon: #ea999c;
|
||||||
|
peach: #ef9f76;
|
||||||
|
yellow: #e5c890;
|
||||||
|
green: #a6d189;
|
||||||
|
teal: #81c8be;
|
||||||
|
sky: #99d1db;
|
||||||
|
sapphire: #85c1dc;
|
||||||
|
blue: #8caaee;
|
||||||
|
lavender: #babbf1;
|
||||||
|
text: #c6d0f5;
|
||||||
|
subtext1: #b5bfe2;
|
||||||
|
subtext0: #a5adce;
|
||||||
|
overlay2: #949cbb;
|
||||||
|
overlay1: #838ba7;
|
||||||
|
overlay0: #737994;
|
||||||
|
surface2: #626880;
|
||||||
|
surface1: #51576d;
|
||||||
|
surface0: #414559;
|
||||||
|
base: #303446;
|
||||||
|
mantle: #292c3c;
|
||||||
|
crust: #232634;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @crust;
|
||||||
|
main-fg: @text;
|
||||||
|
main-br: @overlay2;
|
||||||
|
input-bg: @mantle;
|
||||||
|
select-bg: @overlay2;
|
||||||
|
select-fg: @crust;
|
||||||
|
}
|
||||||
45
rofi/themes/catppuccin-latte.rasi
Normal file
45
rofi/themes/catppuccin-latte.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Catppuccin Latte */
|
||||||
|
|
||||||
|
* {
|
||||||
|
rosewater: #dc8a78;
|
||||||
|
flamingo: #dd7878;
|
||||||
|
pink: #ea76cb;
|
||||||
|
mauve: #8839ef;
|
||||||
|
red: #d20f39;
|
||||||
|
maroon: #e64553;
|
||||||
|
peach: #fe640b;
|
||||||
|
yellow: #df8e1d;
|
||||||
|
green: #40a02b;
|
||||||
|
teal: #179299;
|
||||||
|
sky: #04a5e5;
|
||||||
|
sapphire: #209fb5;
|
||||||
|
blue: #1e66f5;
|
||||||
|
lavender: #7287fd;
|
||||||
|
text: #4c4f69;
|
||||||
|
subtext1: #5c5f77;
|
||||||
|
subtext0: #6c6f85;
|
||||||
|
overlay2: #7c7f93;
|
||||||
|
overlay1: #8c8fa1;
|
||||||
|
overlay0: #9ca0b0;
|
||||||
|
surface2: #acb0be;
|
||||||
|
surface1: #bcc0cc;
|
||||||
|
surface0: #ccd0da;
|
||||||
|
base: #eff1f5;
|
||||||
|
mantle: #e6e9ef;
|
||||||
|
crust: #dce0e8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @crust;
|
||||||
|
main-fg: @text;
|
||||||
|
main-br: @overlay2;
|
||||||
|
input-bg: @mantle;
|
||||||
|
select-bg: @overlay2;
|
||||||
|
select-fg: @crust;
|
||||||
|
}
|
||||||
45
rofi/themes/catppuccin-macchiato.rasi
Normal file
45
rofi/themes/catppuccin-macchiato.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Catppuccin Macchiato */
|
||||||
|
|
||||||
|
* {
|
||||||
|
rosewater: #f4dbd6;
|
||||||
|
flamingo: #f0c6c6;
|
||||||
|
pink: #f5bde6;
|
||||||
|
mauve: #c6a0f6;
|
||||||
|
red: #ed8796;
|
||||||
|
maroon: #ee99a0;
|
||||||
|
peach: #f5a97f;
|
||||||
|
yellow: #eed49f;
|
||||||
|
green: #a6da95;
|
||||||
|
teal: #8bd5ca;
|
||||||
|
sky: #91d7e3;
|
||||||
|
sapphire: #7dc4e4;
|
||||||
|
blue: #8aadf4;
|
||||||
|
lavender: #b7bdf8;
|
||||||
|
text: #cad3f5;
|
||||||
|
subtext1: #b8c0e0;
|
||||||
|
subtext0: #a5adcb;
|
||||||
|
overlay2: #939ab7;
|
||||||
|
overlay1: #8087a2;
|
||||||
|
overlay0: #6e738d;
|
||||||
|
surface2: #5b6078;
|
||||||
|
surface1: #494d64;
|
||||||
|
surface0: #363a4f;
|
||||||
|
base: #24273a;
|
||||||
|
mantle: #1e2030;
|
||||||
|
crust: #181926;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @crust;
|
||||||
|
main-fg: @text;
|
||||||
|
main-br: @overlay2;
|
||||||
|
input-bg: @mantle;
|
||||||
|
select-bg: @overlay2;
|
||||||
|
select-fg: @crust;
|
||||||
|
}
|
||||||
45
rofi/themes/catppuccin-mocha.rasi
Normal file
45
rofi/themes/catppuccin-mocha.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Catppuccin Mocha */
|
||||||
|
|
||||||
|
* {
|
||||||
|
rosewater: #f5e0dc;
|
||||||
|
flamingo: #f2cdcd;
|
||||||
|
pink: #f5c2e7;
|
||||||
|
mauve: #cba6f7;
|
||||||
|
red: #f38ba8;
|
||||||
|
maroon: #eba0ac;
|
||||||
|
peach: #fab387;
|
||||||
|
yellow: #f9e2af;
|
||||||
|
green: #a6e3a1;
|
||||||
|
teal: #94e2d5;
|
||||||
|
sky: #89dceb;
|
||||||
|
sapphire: #74c7ec;
|
||||||
|
blue: #89b4fa;
|
||||||
|
lavender: #b4befe;
|
||||||
|
text: #cdd6f4;
|
||||||
|
subtext1: #bac2de;
|
||||||
|
subtext0: #a6adc8;
|
||||||
|
overlay2: #9399b2;
|
||||||
|
overlay1: #7f849c;
|
||||||
|
overlay0: #6c7086;
|
||||||
|
surface2: #585b70;
|
||||||
|
surface1: #45475a;
|
||||||
|
surface0: #313244;
|
||||||
|
base: #1e1e2e;
|
||||||
|
mantle: #181825;
|
||||||
|
crust: #11111b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @crust;
|
||||||
|
main-fg: @text;
|
||||||
|
main-br: @overlay2;
|
||||||
|
input-bg: @mantle;
|
||||||
|
select-bg: @overlay2;
|
||||||
|
select-fg: @crust;
|
||||||
|
}
|
||||||
45
rofi/themes/gruvbox-dark.rasi
Normal file
45
rofi/themes/gruvbox-dark.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Gruvbox Dark */
|
||||||
|
|
||||||
|
* {
|
||||||
|
bg0h: #1d2021;
|
||||||
|
bg0: #282828;
|
||||||
|
bg1: #3c3836;
|
||||||
|
bg2: #504945;
|
||||||
|
bg3: #665c54;
|
||||||
|
bg4: #7c6f64;
|
||||||
|
gray: #928374;
|
||||||
|
fg4: #a89984;
|
||||||
|
fg3: #bdae93;
|
||||||
|
fg2: #d5c4a1;
|
||||||
|
fg1: #ebdbb2;
|
||||||
|
fg0: #fbf1c7;
|
||||||
|
red: #cc241d;
|
||||||
|
brightred: #fb4934;
|
||||||
|
green: #98971a;
|
||||||
|
brightgreen: #b8bb26;
|
||||||
|
yellow: #d79921;
|
||||||
|
brightyellow: #fabd2f;
|
||||||
|
blue: #458588;
|
||||||
|
brightblue: #83a598;
|
||||||
|
purple: #b16286;
|
||||||
|
brightpurple: #d3869b;
|
||||||
|
aqua: #689d6a;
|
||||||
|
brightaqua: #8ec07c;
|
||||||
|
orange: #d65d0e;
|
||||||
|
brightorange: #fe8019;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @bg0h;
|
||||||
|
main-fg: @fg0;
|
||||||
|
main-br: @yellow;
|
||||||
|
input-bg: @bg1;
|
||||||
|
select-bg: @yellow;
|
||||||
|
select-fg: @bg0h;
|
||||||
|
}
|
||||||
45
rofi/themes/gruvbox-light.rasi
Normal file
45
rofi/themes/gruvbox-light.rasi
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/* Gruvbox Dark */
|
||||||
|
|
||||||
|
* {
|
||||||
|
bg0h: #f9f5d7;
|
||||||
|
bg0: #fbf1c7;
|
||||||
|
bg1: #ebdbb2;
|
||||||
|
bg2: #d5c4a1;
|
||||||
|
bg3: #bdae93;
|
||||||
|
bg4: #a89984;
|
||||||
|
gray: #928374;
|
||||||
|
fg4: #7c6f64;
|
||||||
|
fg3: #665c54;
|
||||||
|
fg2: #504945;
|
||||||
|
fg1: #3c3836;
|
||||||
|
fg0: #282828;
|
||||||
|
red: #cc241d;
|
||||||
|
brightred: #9d0006;
|
||||||
|
green: #98971a;
|
||||||
|
brightgreen: #79740e;
|
||||||
|
yellow: #d79921;
|
||||||
|
brightyellow: #b57614;
|
||||||
|
blue: #458588;
|
||||||
|
brightblue: #076678;
|
||||||
|
purple: #b16286;
|
||||||
|
brightpurple: #8f3f71;
|
||||||
|
aqua: #689d6a;
|
||||||
|
brightaqua: #427b58;
|
||||||
|
orange: #d65d0e;
|
||||||
|
brightorange: #af3a03;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
main-bg: @bg0h;
|
||||||
|
main-fg: @fg0;
|
||||||
|
main-br: @brightyellow;
|
||||||
|
input-bg: @bg1;
|
||||||
|
select-bg: @brightyellow;
|
||||||
|
select-fg: @bg0h;
|
||||||
|
}
|
||||||
96
rofi/wifi-menu.rasi
Normal file
96
rofi/wifi-menu.rasi
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/* WiFi menu */
|
||||||
|
|
||||||
|
@theme "~/.config/rofi/theme.rasi"
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
font: "JetBrainsMono Nerd Font 8";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
|
||||||
|
window {
|
||||||
|
location: north;
|
||||||
|
anchor: south;
|
||||||
|
y-offset: 3px;
|
||||||
|
width: 240px;
|
||||||
|
border: 3px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @main-br;
|
||||||
|
background-color: @main-bg;
|
||||||
|
children: [ mainbox ];
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
spacing: 0;
|
||||||
|
background-color: @main-br;
|
||||||
|
text-color: @main-fg;
|
||||||
|
children: [ textbox-custom, listview, inputbar ];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-custom {
|
||||||
|
font: "JetBrainsMono Nerd Font Bold 8";
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
padding: 1px 0;
|
||||||
|
expand: false;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
expand: false;
|
||||||
|
content: " Wi-Fi";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
margin: -32px 6px 6px;
|
||||||
|
border-radius: 6px;
|
||||||
|
spacing: inherit;
|
||||||
|
background-color: @input-bg;
|
||||||
|
text-color: inherit;
|
||||||
|
children: [ prompt, entry ];
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
padding: 6px 6px 6px 12px;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
placeholder: "Search";
|
||||||
|
padding: 6px 0;
|
||||||
|
cursor: text;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* List */
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 2px 0 0 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
border-color: @main-br;
|
||||||
|
lines: 6;
|
||||||
|
fixed-height: false;
|
||||||
|
dynamic: false;
|
||||||
|
cycle: false;
|
||||||
|
margin: 0 0 -2px;
|
||||||
|
padding: 6px 6px 40px;
|
||||||
|
background-color: @main-bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @main-fg;
|
||||||
|
}
|
||||||
|
element selected active,
|
||||||
|
element selected normal {
|
||||||
|
border-radius: 6px;
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
padding: 0 6px;
|
||||||
|
cursor: inherit;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
60
swaync/config.json
Normal file
60
swaync/config.json
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||||
|
"ignore-gtk-theme": true,
|
||||||
|
"positionX": "left",
|
||||||
|
"positionY": "top",
|
||||||
|
"layer": "overlay",
|
||||||
|
"control-center-layer": "top",
|
||||||
|
"layer-shell": true,
|
||||||
|
"layer-shell-cover-screen": true,
|
||||||
|
"cssPriority": "user",
|
||||||
|
"control-center-margin-top": 7,
|
||||||
|
"control-center-margin-bottom": 0,
|
||||||
|
"control-center-margin-right": 7,
|
||||||
|
"control-center-margin-left": 0,
|
||||||
|
"notification-2fa-action": true,
|
||||||
|
"notification-inline-replies": false,
|
||||||
|
"notification-body-image-height": 150,
|
||||||
|
"notification-body-image-width": 700,
|
||||||
|
"timeout": 0,
|
||||||
|
"timeout-low": 0,
|
||||||
|
"timeout-critical": 0,
|
||||||
|
"fit-to-screen": false,
|
||||||
|
"relative-timestamps": true,
|
||||||
|
"control-center-width": 350,
|
||||||
|
"control-center-height": 800,
|
||||||
|
"notification-window-width": 350,
|
||||||
|
"keyboard-shortcuts": true,
|
||||||
|
"notification-grouping": true,
|
||||||
|
"image-visibility": "when-available",
|
||||||
|
"transition-time": 200,
|
||||||
|
"hide-on-clear": false,
|
||||||
|
"hide-on-action": true,
|
||||||
|
"text-empty": "No Notifications",
|
||||||
|
"script-fail-notify": true,
|
||||||
|
"widgets": [
|
||||||
|
"mpris",
|
||||||
|
"dnd",
|
||||||
|
"title",
|
||||||
|
"notifications"
|
||||||
|
],
|
||||||
|
"widget-config": {
|
||||||
|
"notifications": {
|
||||||
|
"vexpand": true
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"text": "Notifications",
|
||||||
|
"clear-all-button": true,
|
||||||
|
"button-text": "Clear All"
|
||||||
|
},
|
||||||
|
"dnd": {
|
||||||
|
"text": ""
|
||||||
|
},
|
||||||
|
"mpris": {
|
||||||
|
"blacklist": [],
|
||||||
|
"autohide": false,
|
||||||
|
"show-album-art": "always",
|
||||||
|
"loop-carousel": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
265
swaync/style.css
Normal file
265
swaync/style.css
Normal file
@@ -0,0 +1,265 @@
|
|||||||
|
/* Universal swaync - theme-independent, optimized for blur */
|
||||||
|
:root {
|
||||||
|
--cc-bg: rgba(20, 20, 20, 0.70); /* rgba(18, 18, 22, 0.70) */
|
||||||
|
--noti-bg: rgba(28, 28, 28, 0.72); /* rgba(28, 28, 32, 0.72) */
|
||||||
|
--noti-bg-hover: rgba(38, 38, 38, 0.75); /* rgba(38, 38, 44, 0.75) */
|
||||||
|
--noti-bg-focus: rgba(48, 48, 48, 0.78); /* rgba(48, 48, 54, 0.78) */
|
||||||
|
--noti-bg-floating: rgba(22, 22, 22, 0.74); /* rgba(22, 22, 26, 0.74) */
|
||||||
|
--noti-border-color: rgba(255, 255, 255, 0.10);
|
||||||
|
--noti-border-hover: rgba(255, 255, 255, 0.15);
|
||||||
|
--noti-border-focus: rgba(255, 255, 255, 0.20);
|
||||||
|
--button-bg: rgba(255, 255, 255, 0.10);
|
||||||
|
--button-hover: rgba(255, 255, 255, 0.15);
|
||||||
|
--button-active: rgba(255, 255, 255, 0.20);
|
||||||
|
--close-bg: rgba(255, 255, 255, 0.10);
|
||||||
|
--close-hover: rgba(255, 70, 70, 0.35);
|
||||||
|
--text-primary: rgba(255, 255, 255, 0.97);
|
||||||
|
--text-secondary: rgba(210, 210, 220, 0.88);
|
||||||
|
--text-disabled: rgba(160, 160, 170, 0.68);
|
||||||
|
--border-radius: 10px;
|
||||||
|
--transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-window, .blank-window { background: transparent; }
|
||||||
|
|
||||||
|
.control-center {
|
||||||
|
background: var(--cc-bg);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center scrollbar, .control-center scrollbar slider {
|
||||||
|
background: transparent;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* MPRIS */
|
||||||
|
.widget-mpris { margin: 6px 6px 4px 6px; }
|
||||||
|
.widget-mpris > box > box {
|
||||||
|
background: var(--noti-bg);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.mpris-album-art {
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-right: 10px;
|
||||||
|
min-width: 56px;
|
||||||
|
min-height: 56px;
|
||||||
|
}
|
||||||
|
.mpris-title {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--text-primary);
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
.mpris-artist {
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--text-secondary);
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
.mpris-controls button {
|
||||||
|
background: var(--button-bg);
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
color: var(--text-primary);
|
||||||
|
min-width: 32px;
|
||||||
|
min-height: 32px;
|
||||||
|
margin: 0 3px;
|
||||||
|
transition: var(--transition);
|
||||||
|
}
|
||||||
|
.mpris-controls button:hover {
|
||||||
|
background: var(--button-hover);
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
.mpris-controls button:active {
|
||||||
|
background: var(--button-active);
|
||||||
|
transform: scale(0.98);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Title */
|
||||||
|
.widget-title { margin: 4px 6px 4px 6px; }
|
||||||
|
.widget-title > box { padding: 6px; }
|
||||||
|
.widget-title > box > label {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--text-primary);
|
||||||
|
}
|
||||||
|
.widget-title > box > button {
|
||||||
|
background: var(--button-bg);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 4px 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--text-primary);
|
||||||
|
transition: var(--transition);
|
||||||
|
}
|
||||||
|
.widget-title > box > button:hover {
|
||||||
|
background: var(--button-hover);
|
||||||
|
border-color: var(--noti-border-hover);
|
||||||
|
transform: scale(1.02);
|
||||||
|
}
|
||||||
|
.widget-title > box > button:active {
|
||||||
|
background: var(--button-active);
|
||||||
|
border-color: var(--noti-border-focus);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* DND */
|
||||||
|
.widget-dnd {
|
||||||
|
margin: 4px 6px 4px 6px;
|
||||||
|
/* REMOVED: text-align - not supported in GTK CSS */
|
||||||
|
}
|
||||||
|
.widget-dnd label {
|
||||||
|
/* REMOVED: display: none - use opacity instead */
|
||||||
|
opacity: 0;
|
||||||
|
min-width: 0;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
.widget-dnd switch {
|
||||||
|
background: rgba(40, 40, 45, 0.6);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
border-radius: 10px;
|
||||||
|
min-height: 24px;
|
||||||
|
min-width: 44px;
|
||||||
|
}
|
||||||
|
.widget-dnd switch:checked {
|
||||||
|
background: rgba(100, 120, 140, 0.35);
|
||||||
|
border-color: rgba(120, 140, 160, 0.4);
|
||||||
|
}
|
||||||
|
.widget-dnd switch slider {
|
||||||
|
background: rgba(200, 200, 210, 0.9);
|
||||||
|
border-radius: 50%;
|
||||||
|
min-width: 18px;
|
||||||
|
min-height: 18px;
|
||||||
|
margin: 3px;
|
||||||
|
}
|
||||||
|
.widget-dnd switch:checked slider { background: rgba(140, 160, 180, 1); }
|
||||||
|
|
||||||
|
/* Notifications */
|
||||||
|
.widget-notifications { margin: 2px; }
|
||||||
|
.notification-row {
|
||||||
|
background: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.notification-row .notification-background { padding: 3px; }
|
||||||
|
.notification-row .notification-background .notification {
|
||||||
|
background: var(--noti-bg);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
margin: 3px 0;
|
||||||
|
transition: var(--transition);
|
||||||
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
.notification-row .notification-background .notification:hover {
|
||||||
|
background: var(--noti-bg-hover);
|
||||||
|
border-color: var(--noti-border-hover);
|
||||||
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
|
||||||
|
transform: translateY(-1px);
|
||||||
|
}
|
||||||
|
.notification-row .notification-background .notification .notification-default-action {
|
||||||
|
padding: 10px;
|
||||||
|
color: var(--text-primary);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Floating */
|
||||||
|
.floating-notifications .notification {
|
||||||
|
background: var(--noti-bg-floating) !important;
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Content */
|
||||||
|
.notification .notification-content { padding: 3px; }
|
||||||
|
.notification .summary {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--text-primary);
|
||||||
|
margin-bottom: 3px;
|
||||||
|
}
|
||||||
|
.notification .body {
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--text-secondary);
|
||||||
|
margin-bottom: 3px;
|
||||||
|
}
|
||||||
|
.notification .time {
|
||||||
|
font-size: 11px;
|
||||||
|
color: var(--text-disabled);
|
||||||
|
}
|
||||||
|
.notification image {
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-right: 10px;
|
||||||
|
min-width: 44px;
|
||||||
|
min-height: 44px;
|
||||||
|
}
|
||||||
|
.notification .body-image {
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Close */
|
||||||
|
.close-button {
|
||||||
|
background: var(--close-bg);
|
||||||
|
color: var(--text-primary);
|
||||||
|
border-radius: 100%;
|
||||||
|
min-width: 22px;
|
||||||
|
min-height: 22px;
|
||||||
|
margin: 6px;
|
||||||
|
transition: var(--transition);
|
||||||
|
}
|
||||||
|
.close-button:hover {
|
||||||
|
background: var(--close-hover);
|
||||||
|
transform: scale(1.1);
|
||||||
|
}
|
||||||
|
.close-button:active { transform: scale(0.95); }
|
||||||
|
|
||||||
|
/* Groups */
|
||||||
|
.notification-group {
|
||||||
|
margin: 3px;
|
||||||
|
}
|
||||||
|
.notification-group.collapsed {
|
||||||
|
background: var(--noti-bg);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
border: 1px solid var(--noti-border-color);
|
||||||
|
margin: 3px 0;
|
||||||
|
transition: var(--transition);
|
||||||
|
}
|
||||||
|
.notification-group.collapsed:hover {
|
||||||
|
background: var(--noti-bg-hover);
|
||||||
|
border-color: var(--noti-border-hover);
|
||||||
|
transform: translateY(-1px);
|
||||||
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
|
||||||
|
}
|
||||||
|
.notification-group.collapsed .notification {
|
||||||
|
/* REMOVED: display: none - use opacity instead */
|
||||||
|
opacity: 0;
|
||||||
|
min-height: 0;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.notification-group-headers {
|
||||||
|
padding: 10px 12px;
|
||||||
|
margin: 0;
|
||||||
|
/* REMOVED: cursor - not supported in GTK CSS */
|
||||||
|
}
|
||||||
|
.notification-group-headers .notification-group-icon,
|
||||||
|
.notification-group-headers .notification-group-header {
|
||||||
|
color: var(--text-primary);
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.notification-group-headers .notification-group-count {
|
||||||
|
color: var(--text-secondary);
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Empty */
|
||||||
|
.blank-window label {
|
||||||
|
color: var(--text-disabled);
|
||||||
|
font-size: 13px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
126
waybar/.github/README.md
vendored
126
waybar/.github/README.md
vendored
@@ -1,126 +0,0 @@
|
|||||||
<div align="center">
|
|
||||||
|
|
||||||
## 🤖 mechabar
|
|
||||||
|
|
||||||
A mecha-themed, modular Waybar configuration.
|
|
||||||
|
|
||||||
|  |
|
|
||||||
| :--------------------------------------: |
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><b>Themes</b></summary>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
**Catppuccin:**
|
|
||||||
|
|
||||||
| Mocha _(default)_ |
|
|
||||||
| :----------------------------------------------: |
|
|
||||||
|  |
|
|
||||||
|
|
||||||
| Macchiato |
|
|
||||||
| :------------------------------------------------------: |
|
|
||||||
|  |
|
|
||||||
|
|
||||||
| Frappe |
|
|
||||||
| :------------------------------------------------: |
|
|
||||||
|  |
|
|
||||||
|
|
||||||
| Latte |
|
|
||||||
| :----------------------------------------------: |
|
|
||||||
|  |
|
|
||||||
|
|
||||||
</details>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
1. [Waybar](https://github.com/Alexays/Waybar)
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> **Version 0.14.0** has an [issue](https://github.com/Alexays/Waybar/issues/4354) with wildcard includes.
|
|
||||||
> Use the `fix/v0.14.0` branch as a temporary workaround.
|
|
||||||
|
|
||||||
2. A terminal emulator _(default: **Kitty**)_
|
|
||||||
|
|
||||||
> [!IMPORTANT]
|
|
||||||
> If you use a different terminal emulator (e.g., **Ghostty**),
|
|
||||||
> you need to replace all instances of `kitty` with your terminal command:
|
|
||||||
>
|
|
||||||
> ```diff
|
|
||||||
> - "on-click": "kitty -e ..."
|
|
||||||
> + "on-click": "ghostty -e ..."
|
|
||||||
> ```
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
1. Back up your current configuration:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mv ~/.config/waybar{,.bak}
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Clone the repository:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/sejjy/mechabar.git ~/.config/waybar
|
|
||||||
```
|
|
||||||
|
|
||||||
For **Waybar v0.14.0**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone -b fix/v0.14.0 https://github.com/sejjy/mechabar.git ~/.config/waybar
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Run the [install script](/install.sh):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
~/.config/waybar/install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
This makes the [scripts](/scripts/) executable and installs all dependencies listed below:
|
|
||||||
|
|
||||||
| Package | Description |
|
|
||||||
| --------------------------------: | ------------------------------------------------------------------------------ |
|
|
||||||
| `bluez` | Daemons for the bluetooth protocol stack<tr></tr> |
|
|
||||||
| _(bluetoothctl)_ `bluez-utils` | Development and debugging utilities for the bluetooth protocol stack<tr></tr> |
|
|
||||||
| `brightnessctl` | Lightweight brightness control tool<tr></tr> |
|
|
||||||
| `fzf` | Command-line fuzzy finder<tr></tr> |
|
|
||||||
| _(nmcli)_ `networkmanager` | Network connection manager and user applications<tr></tr> |
|
|
||||||
| _(checkupdates)_ `pacman-contrib` | Contributed scripts and tools for pacman systems<tr></tr> |
|
|
||||||
| `pipewire-pulse` | Low-latency audio/video router and processor - PulseAudio replacement<tr></tr> |
|
|
||||||
| `ttf-0xproto-nerd` | Patched font 0xProto from nerd fonts library |
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
### Customization
|
|
||||||
|
|
||||||
- To change the theme, copy the file with your preferred theme (e.g., `catppuccin-latte.css`) to `theme.css`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/.config/waybar
|
|
||||||
cp themes/catppuccin-latte.css theme.css
|
|
||||||
```
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
- [Waybar wiki](https://github.com/Alexays/Waybar/wiki)
|
|
||||||
|
|
||||||
- Man page:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
man waybar
|
|
||||||
```
|
|
||||||
|
|
||||||
#
|
|
||||||
|
|
||||||
### Credits
|
|
||||||
|
|
||||||
- Font: [0xProto](https://github.com/0xType/0xProto)
|
|
||||||
- Icons: [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts)
|
|
||||||
- Themes: [Catppuccin](https://github.com/catppuccin/waybar)
|
|
||||||
BIN
waybar/.github/assets/catppuccin-frappe.png
vendored
BIN
waybar/.github/assets/catppuccin-frappe.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB |
BIN
waybar/.github/assets/catppuccin-latte.png
vendored
BIN
waybar/.github/assets/catppuccin-latte.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
BIN
waybar/.github/assets/catppuccin-macchiato.png
vendored
BIN
waybar/.github/assets/catppuccin-macchiato.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB |
BIN
waybar/.github/assets/catppuccin-mocha.png
vendored
BIN
waybar/.github/assets/catppuccin-mocha.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2025 Jesse Mirabel
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,128 +1,478 @@
|
|||||||
{
|
{
|
||||||
/*------------------------------------------------------------
|
"layer": "top",
|
||||||
regression: wildcard includes are broken after v0.14.0
|
"position": "top",
|
||||||
- https://github.com/Alexays/Waybar/issues/4354
|
"mode": "dock",
|
||||||
- https://github.com/sejjy/mechabar/issues/31
|
"reload_style_on_change": true,
|
||||||
------------------------------------------------------------*/
|
"gtk-layer-shell": true,
|
||||||
/*
|
|
||||||
"include": [
|
|
||||||
"~/.config/waybar/modules/*.jsonc",
|
|
||||||
"~/.config/waybar/modules/custom/*.jsonc",
|
|
||||||
"~/.config/waybar/modules/hyprland/*.jsonc"
|
|
||||||
|
|
||||||
// modules that are not included by default:
|
// <<--< Positions >-->>
|
||||||
// "~/.config/waybar/modules/extras/*.jsonc"
|
|
||||||
],
|
|
||||||
*/
|
|
||||||
|
|
||||||
"include": [
|
"modules-left": [
|
||||||
// modules-left
|
"custom/ws", // window icon
|
||||||
"~/.config/waybar/modules/custom/user.jsonc",
|
"custom/left1",
|
||||||
"~/.config/waybar/modules/hyprland/workspaces.jsonc",
|
|
||||||
"~/.config/waybar/modules/hyprland/window.jsonc",
|
|
||||||
|
|
||||||
// modules-center
|
"hyprland/workspaces", // workspaces
|
||||||
"~/.config/waybar/modules/hyprland/windowcount.jsonc",
|
"custom/right1",
|
||||||
"~/.config/waybar/modules/temperature.jsonc",
|
|
||||||
"~/.config/waybar/modules/memory.jsonc",
|
|
||||||
"~/.config/waybar/modules/cpu.jsonc",
|
|
||||||
"~/.config/waybar/modules/custom/distro.jsonc",
|
|
||||||
"~/.config/waybar/modules/idle_inhibitor.jsonc",
|
|
||||||
"~/.config/waybar/modules/clock.jsonc",
|
|
||||||
"~/.config/waybar/modules/network.jsonc",
|
|
||||||
"~/.config/waybar/modules/bluetooth.jsonc",
|
|
||||||
"~/.config/waybar/modules/custom/system_update.jsonc",
|
|
||||||
|
|
||||||
// modules-right
|
"custom/paddw",
|
||||||
"~/.config/waybar/modules/mpris.jsonc",
|
"hyprland/window" // window title
|
||||||
"~/.config/waybar/modules/pulseaudio.jsonc",
|
],
|
||||||
"~/.config/waybar/modules/backlight.jsonc",
|
|
||||||
"~/.config/waybar/modules/battery.jsonc",
|
|
||||||
"~/.config/waybar/modules/custom/power_menu.jsonc",
|
|
||||||
|
|
||||||
"~/.config/waybar/modules/custom/dividers.jsonc"
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
// modules that are not included by default:
|
"custom/left3",
|
||||||
// "~/.config/waybar/modules/extras/taskbar.jsonc",
|
"memory", // memory
|
||||||
// "~/.config/waybar/modules/extras/tray.jsonc",
|
|
||||||
// "~/.config/waybar/modules/extras/wireplumber.jsonc"
|
|
||||||
],
|
|
||||||
|
|
||||||
/*------------
|
"custom/left4",
|
||||||
layout
|
"cpu", // cpu
|
||||||
------------*/
|
"custom/leftin1",
|
||||||
|
|
||||||
"modules-left": [
|
"custom/left5",
|
||||||
"group/user",
|
"custom/distro", // distro icon
|
||||||
"custom/left_div#1",
|
"custom/right2",
|
||||||
"hyprland/workspaces",
|
|
||||||
"custom/right_div#1",
|
|
||||||
"hyprland/window"
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"hyprland/windowcount",
|
|
||||||
"custom/left_div#2",
|
|
||||||
"temperature",
|
|
||||||
"custom/left_div#3",
|
|
||||||
"memory",
|
|
||||||
"custom/left_div#4",
|
|
||||||
"cpu",
|
|
||||||
"custom/left_inv#1",
|
|
||||||
"custom/left_div#5",
|
|
||||||
"custom/distro",
|
|
||||||
"custom/right_div#2",
|
|
||||||
"custom/right_inv#1",
|
|
||||||
"idle_inhibitor",
|
|
||||||
"clock#time",
|
|
||||||
"custom/right_div#3",
|
|
||||||
"clock#date",
|
|
||||||
"custom/right_div#4",
|
|
||||||
"network",
|
|
||||||
"bluetooth",
|
|
||||||
"custom/system_update",
|
|
||||||
"custom/right_div#5"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"mpris",
|
|
||||||
"custom/left_div#6",
|
|
||||||
"group/pulseaudio",
|
|
||||||
"custom/left_div#7",
|
|
||||||
"backlight",
|
|
||||||
"custom/left_div#8",
|
|
||||||
"battery",
|
|
||||||
"custom/left_inv#2",
|
|
||||||
"custom/power_menu"
|
|
||||||
],
|
|
||||||
|
|
||||||
/*-------------
|
"custom/rightin1",
|
||||||
options
|
"idle_inhibitor", // idle inhibitor
|
||||||
-------------*/
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
// "expand-center":
|
"clock#date", // date
|
||||||
// "expand-left":
|
"custom/right4",
|
||||||
// "expand-right":
|
|
||||||
"layer": "top",
|
"custom/wifi", // wi-fi
|
||||||
// "output":
|
"custom/wireguard", // wireguard
|
||||||
// "position":
|
"bluetooth", // bluetooth
|
||||||
"height": 0,
|
"custom/update", // system update
|
||||||
"width": 0,
|
"custom/right5"
|
||||||
"margin": 0,
|
],
|
||||||
// "margin-top":
|
|
||||||
// "margin-left":
|
"modules-right": [
|
||||||
// "margin-bottom":
|
"mpris", // media info
|
||||||
// "margin-right":
|
|
||||||
// "no-center":
|
"custom/left6",
|
||||||
"spacing": 0,
|
"pulseaudio", // output device
|
||||||
// "name":
|
|
||||||
"mode": "dock",
|
"custom/left7",
|
||||||
// "start_hidden":
|
"backlight", // brightness
|
||||||
// "modifier-reset":
|
|
||||||
// "exclusive":
|
"custom/left8",
|
||||||
// "fixed-center":
|
"battery", // battery
|
||||||
// "passthrough":
|
|
||||||
// "ipc":
|
"custom/leftin2",
|
||||||
// "id":
|
"custom/power" // power button
|
||||||
"reload_style_on_change": true
|
],
|
||||||
// "on-sigusr1":
|
|
||||||
// "on-sigusr2":
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#458588'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#cc241d'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#cc241d'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#d65d0e'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#458588'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#458588'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#98971a'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#98971a'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#98971a'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#98971a'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#d5c4a1'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#d65d0e'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#b16286'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#458588'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#cc241d'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#458588'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#98971a'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#cc241d'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"weeks-pos": "right",
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#928374'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#d5c4a1' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#cc241d'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wireguard": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 10,
|
||||||
|
"exec": "~/.config/waybar/scripts/wireguard-status.sh",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 180,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#98971a'> </span>",
|
||||||
|
"firefox": "<span foreground='#cc241d'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#928374'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
489
waybar/config.jsonc.backup
Normal file
489
waybar/config.jsonc.backup
Normal file
@@ -0,0 +1,489 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"mode": "dock",
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"gtk-layer-shell": true,
|
||||||
|
|
||||||
|
// <<--< Positions >-->>
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/ws", // window icon
|
||||||
|
"custom/left1",
|
||||||
|
|
||||||
|
"hyprland/workspaces", // workspaces
|
||||||
|
"custom/right1",
|
||||||
|
|
||||||
|
"custom/paddw",
|
||||||
|
"hyprland/window" // window title
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
|
"custom/left3",
|
||||||
|
"memory", // memory
|
||||||
|
|
||||||
|
"custom/left4",
|
||||||
|
"cpu", // cpu
|
||||||
|
"custom/leftin1",
|
||||||
|
|
||||||
|
"custom/left5",
|
||||||
|
"custom/distro", // distro icon
|
||||||
|
"custom/right2",
|
||||||
|
|
||||||
|
"custom/rightin1",
|
||||||
|
"idle_inhibitor", // idle inhibitor
|
||||||
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
|
"clock#date", // date
|
||||||
|
"custom/right4",
|
||||||
|
|
||||||
|
"custom/wifi", // wi-fi
|
||||||
|
"custom/wireguard", // wireguard
|
||||||
|
"bluetooth", // bluetooth
|
||||||
|
"custom/update", // system update
|
||||||
|
"custom/right5"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"mpris", // media info
|
||||||
|
|
||||||
|
"custom/left6",
|
||||||
|
"pulseaudio", // output device
|
||||||
|
|
||||||
|
"custom/left7",
|
||||||
|
"backlight", // brightness
|
||||||
|
|
||||||
|
"custom/left8",
|
||||||
|
"battery", // battery
|
||||||
|
|
||||||
|
"custom/leftin2",
|
||||||
|
"custom/power" // power button
|
||||||
|
],
|
||||||
|
|
||||||
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#458588'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#cc241d'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#cc241d'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#d65d0e'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#458588'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#458588'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#98971a'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#98971a'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#98971a'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#98971a'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
|
||||||
|
"(.*)Spotify":
|
||||||
|
"<span foreground='#98971a'> </span> Spotify",
|
||||||
|
"(.*)Spotify Premium":
|
||||||
|
"<span foreground='#98971a'> </span> Spotify Premium",
|
||||||
|
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#d5c4a1'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#d65d0e'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#b16286'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"vesktop":
|
||||||
|
"<span foreground='#458588'> </span> Discord",
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#458588'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#cc241d'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#458588'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#98971a'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#d65d0e'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#cc241d'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"weeks-pos": "right",
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#928374'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#d5c4a1' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#cc241d'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wireguard": {
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 10,
|
||||||
|
"exec": "~/.config/waybar/scripts/wireguard-status.sh",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 180,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#98971a'> </span>",
|
||||||
|
"firefox": "<span foreground='#cc241d'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#928374'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
478
waybar/config.jsonc.original
Normal file
478
waybar/config.jsonc.original
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"mode": "dock",
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"gtk-layer-shell": true,
|
||||||
|
|
||||||
|
// <<--< Positions >-->>
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/ws", // window icon
|
||||||
|
"custom/left1",
|
||||||
|
|
||||||
|
"hyprland/workspaces", // workspaces
|
||||||
|
"custom/right1",
|
||||||
|
|
||||||
|
"custom/paddw",
|
||||||
|
"hyprland/window" // window title
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
|
"custom/left3",
|
||||||
|
"memory", // memory
|
||||||
|
|
||||||
|
"custom/left4",
|
||||||
|
"cpu", // cpu
|
||||||
|
"custom/leftin1",
|
||||||
|
|
||||||
|
"custom/left5",
|
||||||
|
"custom/distro", // distro icon
|
||||||
|
"custom/right2",
|
||||||
|
|
||||||
|
"custom/rightin1",
|
||||||
|
"idle_inhibitor", // idle inhibitor
|
||||||
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
|
"clock#date", // date
|
||||||
|
"custom/right4",
|
||||||
|
|
||||||
|
"custom/wifi", // wi-fi
|
||||||
|
"bluetooth", // bluetooth
|
||||||
|
"custom/update", // system update
|
||||||
|
"custom/right5"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"mpris", // media info
|
||||||
|
|
||||||
|
"custom/left6",
|
||||||
|
"pulseaudio", // output device
|
||||||
|
|
||||||
|
"custom/left7",
|
||||||
|
"backlight", // brightness
|
||||||
|
|
||||||
|
"custom/left8",
|
||||||
|
"battery", // battery
|
||||||
|
|
||||||
|
"custom/leftin2",
|
||||||
|
"custom/power" // power button
|
||||||
|
],
|
||||||
|
|
||||||
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#8aadf4'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#ed8796'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#ed8796'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#f5a97f'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#8aadf4'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#a6da95'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#a6da95'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#a6da95'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#a6da95'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
|
||||||
|
"(.*)Spotify":
|
||||||
|
"<span foreground='#a6da95'> </span> Spotify",
|
||||||
|
"(.*)Spotify Premium":
|
||||||
|
"<span foreground='#a6da95'> </span> Spotify Premium",
|
||||||
|
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#a5adcb'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#f5a97f'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#c6a0f6'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"vesktop":
|
||||||
|
"<span foreground='#8aadf4'> </span> Discord",
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#ed8796'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#a6da95'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#ed8796'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#b7bdf8'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#a5adcb' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#ed8796'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 30,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#a6da95'> </span>",
|
||||||
|
"firefox": "<span foreground='#ed8796'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#b7bdf8'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
RED='\033[1;31m'
|
|
||||||
GRN='\033[1;32m'
|
|
||||||
BLU='\033[1;34m'
|
|
||||||
RST='\033[0m'
|
|
||||||
|
|
||||||
DEPS=(
|
|
||||||
bluez
|
|
||||||
bluez-utils # bluetoothctl
|
|
||||||
brightnessctl
|
|
||||||
fzf
|
|
||||||
networkmanager # nmcli
|
|
||||||
pacman-contrib # checkupdates
|
|
||||||
pipewire-pulse
|
|
||||||
ttf-0xproto-nerd
|
|
||||||
)
|
|
||||||
|
|
||||||
main() {
|
|
||||||
printf '%bInstalling dependencies...%b\n' "$BLU" "$RST"
|
|
||||||
|
|
||||||
local package
|
|
||||||
local errors=0
|
|
||||||
for package in "${DEPS[@]}"; do
|
|
||||||
if pacman -Qi "$package" > /dev/null; then
|
|
||||||
printf '[%b/%b] %s\n' "$GRN" "$RST" "$package"
|
|
||||||
else
|
|
||||||
printf '[ ] %s...\n' "$package"
|
|
||||||
|
|
||||||
if sudo pacman -S --noconfirm "$package"; then
|
|
||||||
printf '[%b+%b] %s\n' "$GRN" "$RST" "$package"
|
|
||||||
else
|
|
||||||
printf '[%bx%b] %s\n' "$RED" "$RST" "$package"
|
|
||||||
((errors++))
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
printf '\n%bMaking scripts executable...%b\n' "$BLU" "$RST"
|
|
||||||
chmod -v +x ~/.config/waybar/scripts/*.sh
|
|
||||||
|
|
||||||
pkill waybar
|
|
||||||
waybar &> /dev/null &
|
|
||||||
disown
|
|
||||||
|
|
||||||
if ((errors > 0)); then
|
|
||||||
printf '\nInstallation completed with %b%d errors%b\n' \
|
|
||||||
"$RED" "$errors" "$RST"
|
|
||||||
else
|
|
||||||
printf '\n%bInstallation complete!%b\n' "$GRN" "$RST"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"backlight": {
|
|
||||||
// "interval":
|
|
||||||
"format": "{icon} {percent}%",
|
|
||||||
"format-icons": [
|
|
||||||
"", "", "", "", "", "", "", "", ""
|
|
||||||
],
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "rotate":
|
|
||||||
// "states":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"on-scroll-up": "~/.config/waybar/scripts/backlight.sh up",
|
|
||||||
"on-scroll-down": "~/.config/waybar/scripts/backlight.sh down",
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "reverse-scrolling":
|
|
||||||
// "reverse-mouse-scrolling":
|
|
||||||
// "scroll-step":
|
|
||||||
// "min-brightness":
|
|
||||||
"tooltip": false
|
|
||||||
// "tooltip-format":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{
|
|
||||||
"battery": {
|
|
||||||
// "bat":
|
|
||||||
// "adapter":
|
|
||||||
// "design-capacity":
|
|
||||||
// "full-at":
|
|
||||||
// "interval":
|
|
||||||
"states": {
|
|
||||||
"warning": 20,
|
|
||||||
"critical": 10
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-time": "{H} hr {M} min",
|
|
||||||
"format-icons": [
|
|
||||||
"", "", "", "", "", "", "", "", "", ""
|
|
||||||
],
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "rotate":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Discharging: {time}",
|
|
||||||
"tooltip-format-charging": "Charging: {time}",
|
|
||||||
// "weighted-average":
|
|
||||||
// "bat-compatibility":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
"events": {
|
|
||||||
"on-discharging-warning": "notify-send 'Battery Low (20%)' -i 'battery-020'",
|
|
||||||
"on-discharging-critical": "notify-send 'Battery Critical (10%)' -u critical -i 'battery-010'",
|
|
||||||
"on-charging-100": "notify-send 'Battery Full (100%)' -i 'battery-100-charged'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"bluetooth": {
|
|
||||||
// "controller":
|
|
||||||
// "format-device-preference":
|
|
||||||
"format": "",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-off": "",
|
|
||||||
"format-on": "",
|
|
||||||
"format-connected": "",
|
|
||||||
// "format-connected-battery":
|
|
||||||
// "format-no-controller":
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
"min-length": 2,
|
|
||||||
"max-length": 2,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
"on-click": "kitty -e ~/.config/waybar/scripts/bluetooth.sh",
|
|
||||||
// "on-click-middle":
|
|
||||||
"on-click-right": "bluetoothctl power off && notify-send 'Bluetooth Off' -i 'network-bluetooth-inactive' -r 1925",
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Device Addr: {device_address}",
|
|
||||||
"tooltip-format-disabled": "Bluetooth Disabled",
|
|
||||||
"tooltip-format-off": "Bluetooth Off",
|
|
||||||
"tooltip-format-on": "Bluetooth Disconnected",
|
|
||||||
"tooltip-format-connected": "Device: {device_alias}",
|
|
||||||
"tooltip-format-enumerate-connected": "Device: {device_alias}",
|
|
||||||
"tooltip-format-connected-battery": "Device: {device_alias}\nBattery: {device_battery_percentage}%",
|
|
||||||
"tooltip-format-enumerate-connected-battery": "Device: {device_alias}\nBattery: {device_battery_percentage}%"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
{
|
|
||||||
"clock#time": {
|
|
||||||
// "interval":
|
|
||||||
"format": "{:%H:%M}",
|
|
||||||
// "timezone":
|
|
||||||
// "timezones":
|
|
||||||
// "locale":
|
|
||||||
"min-length": 5,
|
|
||||||
"max-length": 5,
|
|
||||||
// "rotate": 0,
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Standard Time: {:%I:%M %p}"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
},
|
|
||||||
|
|
||||||
/*--------------
|
|
||||||
calendar
|
|
||||||
--------------*/
|
|
||||||
|
|
||||||
"clock#date": {
|
|
||||||
// "interval":
|
|
||||||
"format": " {:%m-%d}",
|
|
||||||
// "timezone":
|
|
||||||
// "timezones":
|
|
||||||
// "locale":
|
|
||||||
"min-length": 8,
|
|
||||||
"max-length": 8,
|
|
||||||
// "rotate":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "{calendar}",
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
"calendar": {
|
|
||||||
"mode": "month",
|
|
||||||
"mode-mon-col": 6,
|
|
||||||
// "week-pos":
|
|
||||||
// "on-scroll":
|
|
||||||
"format": {
|
|
||||||
"months": "<span alpha='100%'><b>{}</b></span>",
|
|
||||||
"days": "<span alpha='90%'>{}</span>",
|
|
||||||
// "weeks":
|
|
||||||
"weekdays": "<span alpha='80%'><i>{}</i></span>",
|
|
||||||
"today": "<span alpha='100%'><b><u>{}</u></b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click": "mode"
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"cpu": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": " {usage}%",
|
|
||||||
"format-warning": " {usage}%",
|
|
||||||
"format-critical": " {usage}%",
|
|
||||||
// "format-icons":
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "rotate":
|
|
||||||
"states": {
|
|
||||||
"warning": 75,
|
|
||||||
"critical": 90
|
|
||||||
},
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
"tooltip": false
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"custom/distro": {
|
|
||||||
// "exec":
|
|
||||||
// "exec-if":
|
|
||||||
// "exec-on-event":
|
|
||||||
// "hide-empty-text":
|
|
||||||
// "return-type":
|
|
||||||
// "interval":
|
|
||||||
// "restart-interval":
|
|
||||||
// "signal":
|
|
||||||
"format": "",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
// "min-length":
|
|
||||||
// "max-length":
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
"tooltip": false
|
|
||||||
// "tooltip-format":
|
|
||||||
// "escape":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
{
|
|
||||||
/*-------------------
|
|
||||||
left dividers
|
|
||||||
-------------------*/
|
|
||||||
|
|
||||||
"custom/left_div#1": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#2": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#3": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#4": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#5": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#6": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#7": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_div#8": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
|
|
||||||
// inverse
|
|
||||||
"custom/left_inv#1": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/left_inv#2": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
|
|
||||||
/*--------------------
|
|
||||||
right dividers
|
|
||||||
--------------------*/
|
|
||||||
|
|
||||||
"custom/right_div#1": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/right_div#2": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/right_div#3": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/right_div#4": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/right_div#5": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
|
|
||||||
// inverse
|
|
||||||
"custom/right_inv#1": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"custom/power_menu": {
|
|
||||||
// "exec":
|
|
||||||
// "exec-if":
|
|
||||||
// "exec-on-event":
|
|
||||||
// "hide-empty-text":
|
|
||||||
// "return-type":
|
|
||||||
// "interval":
|
|
||||||
// "restart-interval":
|
|
||||||
// "signal":
|
|
||||||
"format": "",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
// "min-length":
|
|
||||||
// "max-length":
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
"on-click": "kitty -e ~/.config/waybar/scripts/power-menu.sh",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Power Menu"
|
|
||||||
// "escape":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"custom/system_update": {
|
|
||||||
"exec": "~/.config/waybar/scripts/system-update.sh module",
|
|
||||||
// "exec-if":
|
|
||||||
// "exec-on-event":
|
|
||||||
// "hide-empty-text":
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 3600,
|
|
||||||
// "restart-interval":
|
|
||||||
"signal": 1,
|
|
||||||
"format": "{}",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
"min-length": 2,
|
|
||||||
"max-length": 2,
|
|
||||||
"on-click": "kitty -e ~/.config/waybar/scripts/system-update.sh"
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
// "tooltip-format":
|
|
||||||
// "escape":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
{
|
|
||||||
"group/user": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"modules": [
|
|
||||||
"custom/trigger",
|
|
||||||
"custom/user"
|
|
||||||
],
|
|
||||||
"drawer": {
|
|
||||||
// "transition-duration":
|
|
||||||
// "transition-left-to-right":
|
|
||||||
// "children-class":
|
|
||||||
// "click-to-reveal":
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/trigger": {
|
|
||||||
// "exec":
|
|
||||||
// "exec-if":
|
|
||||||
// "exec-on-event":
|
|
||||||
// "hide-empty-text":
|
|
||||||
// "return-type":
|
|
||||||
// "interval":
|
|
||||||
// "restart-interval":
|
|
||||||
// "signal":
|
|
||||||
"format": "",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
"min-length": 4,
|
|
||||||
"max-length": 4,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
"tooltip": false
|
|
||||||
// "tooltip-format":
|
|
||||||
// "escape":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
},
|
|
||||||
|
|
||||||
/*--------------
|
|
||||||
username
|
|
||||||
--------------*/
|
|
||||||
|
|
||||||
"custom/user": {
|
|
||||||
"exec": "id -un",
|
|
||||||
// "exec-if":
|
|
||||||
// "exec-on-event":
|
|
||||||
// "hide-empty-text":
|
|
||||||
// "return-type":
|
|
||||||
// "interval":
|
|
||||||
// "restart-interval":
|
|
||||||
// "signal":
|
|
||||||
"format": "{}",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
// "min-length":
|
|
||||||
// "max-length":
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
"tooltip": false
|
|
||||||
// "tooltip-format":
|
|
||||||
// "escape":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"wlr/taskbar": {
|
|
||||||
// "all-outputs":
|
|
||||||
// "format":
|
|
||||||
// "icon-theme":
|
|
||||||
// "icon-size":
|
|
||||||
// "markup":
|
|
||||||
// "tooltip":
|
|
||||||
// "tooltip-format":
|
|
||||||
// "active-first":
|
|
||||||
// "sort-by-app-id":
|
|
||||||
"on-click": "activate",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"ignore-list": [ "kitty" ],
|
|
||||||
// "app_ids-mapping":
|
|
||||||
// "rewrite":
|
|
||||||
"cursor": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 16,
|
|
||||||
// "show-passive-items":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
"spacing": 12,
|
|
||||||
// "reverse-direction":
|
|
||||||
// "on-update":
|
|
||||||
// "expand":
|
|
||||||
// "icons":
|
|
||||||
"cursor": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
{
|
|
||||||
"group/wireplumber": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"modules": [
|
|
||||||
"wireplumber#output",
|
|
||||||
"wireplumber#input"
|
|
||||||
],
|
|
||||||
"drawer": {
|
|
||||||
// "transition-duration":
|
|
||||||
"transition-left-to-right": false
|
|
||||||
// "children-class":
|
|
||||||
// "click-to-reveal":
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/*-------------------
|
|
||||||
output device
|
|
||||||
-------------------*/
|
|
||||||
|
|
||||||
"wireplumber#output": {
|
|
||||||
"format": "{icon} {volume}%",
|
|
||||||
"format-muted": " {volume}%",
|
|
||||||
// "format-source":
|
|
||||||
// "format-source-muted":
|
|
||||||
"format-icons": [
|
|
||||||
"", "", ""
|
|
||||||
],
|
|
||||||
// "rotate":
|
|
||||||
// "states":
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "scroll-step":
|
|
||||||
"on-click": "~/.config/waybar/scripts/volume.sh output mute",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"on-scroll-up": "~/.config/waybar/scripts/volume.sh output raise",
|
|
||||||
"on-scroll-down": "~/.config/waybar/scripts/volume.sh output lower",
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Device: {node_name}",
|
|
||||||
// "max-volume":
|
|
||||||
// "reverse-scrolling":
|
|
||||||
"node-type": "Audio/Sink"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
},
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
microphone
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
"wireplumber#input": {
|
|
||||||
"format": " {volume}%",
|
|
||||||
"format-muted": " {volume}%",
|
|
||||||
// "format-source":
|
|
||||||
// "format-source-muted":
|
|
||||||
// "rotate":
|
|
||||||
// "states":
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "scroll-step":
|
|
||||||
"on-click": "~/.config/waybar/scripts/volume.sh input mute",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"on-scroll-up": "~/.config/waybar/scripts/volume.sh input raise",
|
|
||||||
"on-scroll-down": "~/.config/waybar/scripts/volume.sh input lower",
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Device: {node_name}",
|
|
||||||
// "max-volume":
|
|
||||||
// "reverse-scrolling":
|
|
||||||
"node-type": "Audio/Source"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"hyprland/window": {
|
|
||||||
"format": "{}",
|
|
||||||
"rewrite": {
|
|
||||||
"": "Desktop",
|
|
||||||
"kitty": "Terminal",
|
|
||||||
"zsh": "Terminal",
|
|
||||||
"~": "Terminal"
|
|
||||||
},
|
|
||||||
// "separate-outputs":
|
|
||||||
// "icon":
|
|
||||||
// "icon-size":
|
|
||||||
// "min-length":
|
|
||||||
// "max-length":
|
|
||||||
// "tooltip":
|
|
||||||
"swap-icon-label": false
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"hyprland/windowcount": {
|
|
||||||
"format": "[{}]",
|
|
||||||
// "format-empty":
|
|
||||||
// "format-windowed":
|
|
||||||
// "format-fullscreen":
|
|
||||||
// "separate-outputs":
|
|
||||||
// "min-length":
|
|
||||||
// "max-length":
|
|
||||||
"swap-icon-label": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
// "active-only":
|
|
||||||
// "hide-active":
|
|
||||||
// "all-outputs":
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": ""
|
|
||||||
},
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"*": 5
|
|
||||||
},
|
|
||||||
// "persistent-only":
|
|
||||||
// "show-special":
|
|
||||||
// "special-visible-only":
|
|
||||||
// "sort-by":
|
|
||||||
// "window-rewrite":
|
|
||||||
// "window-rewrite-default":
|
|
||||||
// "format-window-separator":
|
|
||||||
"workspace-taskbar": {
|
|
||||||
// "enable":
|
|
||||||
// "update-active-window":
|
|
||||||
// "format":
|
|
||||||
// "icon-size":
|
|
||||||
// "icon-theme":
|
|
||||||
// "orientation":
|
|
||||||
// "ignore-list":
|
|
||||||
// "on-click-window":
|
|
||||||
},
|
|
||||||
// "move-to-monitor":
|
|
||||||
// "ignore-workspaces":
|
|
||||||
"on-scroll-up": "hyprctl dispatch workspace +1",
|
|
||||||
"on-scroll-down": "hyprctl dispatch workspace -1",
|
|
||||||
// "expand":
|
|
||||||
"cursor": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
},
|
|
||||||
// "rotate":
|
|
||||||
"min-length": 3,
|
|
||||||
"max-length": 3,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format-activated": "Keep Screen On: <span text_transform='capitalize'>{status}</span>",
|
|
||||||
"tooltip-format-deactivated": "Keep Screen On: <span text_transform='capitalize'>{status}</span>",
|
|
||||||
"start-activated": false
|
|
||||||
// "timeout":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
"memory": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": " {percentage}%",
|
|
||||||
"format-warning": " {percentage}%",
|
|
||||||
"format-critical": " {percentage}%",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
"states": {
|
|
||||||
"warning": 75,
|
|
||||||
"critical": 90
|
|
||||||
},
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
{
|
|
||||||
"mpris": {
|
|
||||||
// "player":
|
|
||||||
// "ignored-players":
|
|
||||||
// "interval":
|
|
||||||
"format": "{player_icon} {title} - {artist}",
|
|
||||||
"format-paused": "{status_icon} {title} - {artist}",
|
|
||||||
"tooltip-format": "Playing: {title} - {artist}",
|
|
||||||
"tooltip-format-paused": "Paused: {title} - {artist}",
|
|
||||||
// "enable-tooltip-len-limits":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
"player-icons": {
|
|
||||||
"default": ""
|
|
||||||
},
|
|
||||||
"status-icons": {
|
|
||||||
"paused": ""
|
|
||||||
},
|
|
||||||
// "artist-len":
|
|
||||||
// "album-len":
|
|
||||||
// "title-len":
|
|
||||||
// "dynamic-len":
|
|
||||||
// "dynamic-order":
|
|
||||||
// "dynamic-separator":
|
|
||||||
// "dynamic-importance-order":
|
|
||||||
// "truncate-hours":
|
|
||||||
// "ellipsis":
|
|
||||||
// "rotate":
|
|
||||||
// "min-length":
|
|
||||||
"max-length": 1000
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"network": {
|
|
||||||
// "interface":
|
|
||||||
// "rfkill":
|
|
||||||
"interval": 10,
|
|
||||||
// "family":
|
|
||||||
"format": "",
|
|
||||||
"format-ethernet": "",
|
|
||||||
"format-wifi": "{icon}",
|
|
||||||
// "format-linked":
|
|
||||||
"format-disconnected": "",
|
|
||||||
"format-disabled": "",
|
|
||||||
// "format-alt":
|
|
||||||
"format-icons": [
|
|
||||||
"", "", "", ""
|
|
||||||
],
|
|
||||||
// "rotate":
|
|
||||||
"min-length": 2,
|
|
||||||
"max-length": 2,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
"on-click": "kitty -e ~/.config/waybar/scripts/network.sh",
|
|
||||||
// "on-click-middle":
|
|
||||||
"on-click-right": "nmcli radio wifi off && notify-send 'Wi-Fi Disabled' -i 'network-wireless-off' -r 1125",
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Gateway: {gwaddr}",
|
|
||||||
"tooltip-format-ethernet": "Interface: {ifname}",
|
|
||||||
"tooltip-format-wifi": "Network: {essid}\nIP Addr: {ipaddr}/{cidr}\nStrength: {signalStrength}%\nFrequency: {frequency} GHz",
|
|
||||||
"tooltip-format-disconnected": "Wi-Fi Disconnected",
|
|
||||||
"tooltip-format-disabled": "Wi-Fi Disabled"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
{
|
|
||||||
"group/pulseaudio": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"modules": [
|
|
||||||
"pulseaudio#output",
|
|
||||||
"pulseaudio#input"
|
|
||||||
],
|
|
||||||
"drawer": {
|
|
||||||
// "transition-duration":
|
|
||||||
"transition-left-to-right": false
|
|
||||||
// "children-class":
|
|
||||||
// "click-to-reveal":
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/*-------------------
|
|
||||||
output device
|
|
||||||
-------------------*/
|
|
||||||
|
|
||||||
"pulseaudio#output": {
|
|
||||||
"format": "{icon} {volume}%",
|
|
||||||
// "format-bluetooth":
|
|
||||||
"format-muted": "{icon} {volume}%",
|
|
||||||
// "format-source":
|
|
||||||
// "format-source-muted":
|
|
||||||
"format-icons": {
|
|
||||||
"default": [ "", "", "" ],
|
|
||||||
"default-muted": "",
|
|
||||||
"headphone": "",
|
|
||||||
"headphone-muted": "",
|
|
||||||
"headset": "",
|
|
||||||
"headset-muted": ""
|
|
||||||
},
|
|
||||||
// "rotate":
|
|
||||||
// "states":
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "scroll-step":
|
|
||||||
"on-click": "~/.config/waybar/scripts/volume.sh output mute",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"on-scroll-up": "~/.config/waybar/scripts/volume.sh output raise",
|
|
||||||
"on-scroll-down": "~/.config/waybar/scripts/volume.sh output lower",
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Output Device: {desc}"
|
|
||||||
// "max-volume":
|
|
||||||
// "ignored-sinks":
|
|
||||||
// "reverse-scrolling":
|
|
||||||
// "reverse-mouse-scrolling":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
},
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
microphone
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
"pulseaudio#input": {
|
|
||||||
"format": "{format_source}",
|
|
||||||
// "format-bluetooth":
|
|
||||||
// "format-muted":
|
|
||||||
"format-source": " {volume}%",
|
|
||||||
"format-source-muted": " {volume}%",
|
|
||||||
// "format-icons":
|
|
||||||
// "rotate":
|
|
||||||
// "states":
|
|
||||||
"min-length": 7,
|
|
||||||
"max-length": 7,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "scroll-step":
|
|
||||||
"on-click": "~/.config/waybar/scripts/volume.sh input mute",
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
"on-scroll-up": "~/.config/waybar/scripts/volume.sh input raise",
|
|
||||||
"on-scroll-down": "~/.config/waybar/scripts/volume.sh input lower",
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Input Device: {desc}"
|
|
||||||
// "max-volume":
|
|
||||||
// "ignored-sinks":
|
|
||||||
// "reverse-scrolling":
|
|
||||||
// "reverse-mouse-scrolling":
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"temperature": {
|
|
||||||
"thermal-zone": 0,
|
|
||||||
// "hwmon-path":
|
|
||||||
// "hwmon-path-abs":
|
|
||||||
// "input-filename":
|
|
||||||
// "warning-threshold":
|
|
||||||
"critical-threshold": 90,
|
|
||||||
"interval": 10,
|
|
||||||
// "format-warning":
|
|
||||||
"format-critical": " {temperatureC}°C",
|
|
||||||
"format": "{icon} {temperatureC}°C",
|
|
||||||
"format-icons": [
|
|
||||||
"", "", ""
|
|
||||||
],
|
|
||||||
// "rotate":
|
|
||||||
"min-length": 8,
|
|
||||||
"max-length": 8,
|
|
||||||
// "align":
|
|
||||||
// "justify":
|
|
||||||
// "on-click":
|
|
||||||
// "on-click-middle":
|
|
||||||
// "on-click-right":
|
|
||||||
// "on-update":
|
|
||||||
// "on-scroll-up":
|
|
||||||
// "on-scroll-down":
|
|
||||||
// "smooth-scrolling-threshold":
|
|
||||||
// "tooltip":
|
|
||||||
"tooltip-format": "Temp in Fahrenheit: {temperatureF}°F"
|
|
||||||
// "menu":
|
|
||||||
// "menu-file":
|
|
||||||
// "menu-actions":
|
|
||||||
// "expand":
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Adjust screen brightness and send a notification with the current level
|
|
||||||
#
|
|
||||||
# Requirements:
|
|
||||||
# - brightnessctl
|
|
||||||
# - notify-send (libnotify)
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: August 28, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
VALUE=1
|
|
||||||
|
|
||||||
print-usage() {
|
|
||||||
local script=${0##*/}
|
|
||||||
|
|
||||||
cat <<- EOF
|
|
||||||
USAGE: $script [OPTIONS]
|
|
||||||
|
|
||||||
Adjust screen brightness and send a notification with the current level
|
|
||||||
|
|
||||||
OPTIONS:
|
|
||||||
up <value> Increase brightness by <value>
|
|
||||||
down <value> Decrease brightness by <value>
|
|
||||||
Default value: $VALUE
|
|
||||||
|
|
||||||
EXAMPLES:
|
|
||||||
Increase brightness:
|
|
||||||
$ $script up
|
|
||||||
|
|
||||||
Decrease brightness by 5:
|
|
||||||
$ $script down 5
|
|
||||||
EOF
|
|
||||||
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
set-brightness() {
|
|
||||||
local op
|
|
||||||
case $action in
|
|
||||||
'up') op='+' ;;
|
|
||||||
'down') op='-' ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
brightnessctl -n set "${value}%${op}" &> /dev/null
|
|
||||||
|
|
||||||
local level
|
|
||||||
level=$(brightnessctl -m | awk -F ',' '{print $4}')
|
|
||||||
|
|
||||||
notify-send "Brightness: $level" -h int:value:"$level" -i 'contrast' -r 2825
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
action=$1
|
|
||||||
value=${2:-$VALUE}
|
|
||||||
|
|
||||||
! ((value > 0)) && print-usage
|
|
||||||
|
|
||||||
case $action in
|
|
||||||
'up' | 'down') set-brightness ;;
|
|
||||||
*) print-usage ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
|
||||||
80
waybar/scripts/battery-level.sh
Executable file
80
waybar/scripts/battery-level.sh
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Original script by Eric Murphy
|
||||||
|
# https://github.com/ericmurphyxyz/dotfiles/blob/master/.local/bin/battery-alert
|
||||||
|
#
|
||||||
|
# Modified by Jesse Mirabel (@sejjy)
|
||||||
|
# https://github.com/sejjy/mechabar
|
||||||
|
|
||||||
|
# This script sends a notification when the battery is full, low, or critical.
|
||||||
|
# icon theme used: tela-circle-icon-theme-dracula
|
||||||
|
#
|
||||||
|
# (see the bottom of the script for more information)
|
||||||
|
|
||||||
|
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
|
||||||
|
|
||||||
|
# battery levels
|
||||||
|
WARNING_LEVEL=20
|
||||||
|
CRITICAL_LEVEL=10
|
||||||
|
|
||||||
|
# get the battery state and percentage using upower (waybar dependency)
|
||||||
|
BAT_PATH=$(upower -e | grep BAT | head -n 1)
|
||||||
|
BATTERY_STATE=$(upower -i "$BAT_PATH" | awk '/state:/ {print $2}')
|
||||||
|
BATTERY_LEVEL=$(upower -i "$BAT_PATH" | awk '/percentage:/ {print $2}' | tr -d '%')
|
||||||
|
|
||||||
|
# prevent multiple notifications
|
||||||
|
FILE_FULL=/tmp/battery-full
|
||||||
|
FILE_WARNING=/tmp/battery-warning
|
||||||
|
FILE_CRITICAL=/tmp/battery-critical
|
||||||
|
|
||||||
|
# remove the files if the battery is no longer in that state
|
||||||
|
if [ "$BATTERY_STATE" == "discharging" ]; then
|
||||||
|
rm -f $FILE_FULL
|
||||||
|
elif [ "$BATTERY_STATE" == "charging" ]; then
|
||||||
|
rm -f "$FILE_WARNING" "$FILE_CRITICAL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if the battery is full and is plugged in
|
||||||
|
if [ "$BATTERY_LEVEL" -eq 100 ] && [ "$BATTERY_STATE" == "fully-charged" ] && [ ! -f $FILE_FULL ]; then
|
||||||
|
notify-send -a "state" "Battery Charged (${BATTERY_LEVEL}%)" "You might want to unplug your PC." -i "battery-full" -r 9991
|
||||||
|
touch $FILE_FULL
|
||||||
|
|
||||||
|
# if the battery is low and is discharging
|
||||||
|
elif [ "$BATTERY_LEVEL" -le $WARNING_LEVEL ] && [ "$BATTERY_STATE" == "discharging" ] && [ ! -f $FILE_WARNING ]; then
|
||||||
|
notify-send -a "state" "Battery Low (${BATTERY_LEVEL}%)" "You might want to plug in your PC." -u critical -i "battery-caution" -r 9991 -h string:fgcolor:\#fab387 -h string:frcolor:\#fab387
|
||||||
|
touch $FILE_WARNING
|
||||||
|
|
||||||
|
# if the battery is critical and is discharging
|
||||||
|
elif [ "$BATTERY_LEVEL" -le $CRITICAL_LEVEL ] && [ "$BATTERY_STATE" == "discharging" ] && [ ! -f $FILE_CRITICAL ]; then
|
||||||
|
notify-send -a "state" "Battery Critical (${BATTERY_LEVEL}%)" "Plug in your PC now." -u critical -i "battery-empty" -r 9991
|
||||||
|
touch $FILE_CRITICAL
|
||||||
|
fi
|
||||||
|
|
||||||
|
# systemd service
|
||||||
|
# Add the following to ~/.config/systemd/user/battery-level.service:
|
||||||
|
|
||||||
|
# [Unit]
|
||||||
|
# Description=Battery Level Checker
|
||||||
|
# After=graphical.target
|
||||||
|
#
|
||||||
|
# [Service]
|
||||||
|
# ExecStart=%h/.config/waybar/scripts/battery-level.sh
|
||||||
|
# Type=oneshot
|
||||||
|
|
||||||
|
# systemd timer
|
||||||
|
# Add the following to ~/.config/systemd/user/battery-level.timer:
|
||||||
|
|
||||||
|
# [Unit]
|
||||||
|
# Description=Run Battery Level Checker
|
||||||
|
#
|
||||||
|
# [Timer]
|
||||||
|
# OnBootSec=1min
|
||||||
|
# OnUnitActiveSec=1min
|
||||||
|
# Unit=battery-level.service
|
||||||
|
#
|
||||||
|
# [Install]
|
||||||
|
# WantedBy=timers.target
|
||||||
|
|
||||||
|
# enable the timer by running the following commands:
|
||||||
|
# systemctl --user daemon-reload
|
||||||
|
# systemctl --user enable --now battery-level.timer
|
||||||
50
waybar/scripts/battery-state.sh
Executable file
50
waybar/scripts/battery-state.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Original script by Eric Murphy
|
||||||
|
# https://github.com/ericmurphyxyz/dotfiles/blob/master/.local/bin/battery-alert
|
||||||
|
#
|
||||||
|
# Modified by Jesse Mirabel (@sejjy)
|
||||||
|
# https://github.com/sejjy/mechabar
|
||||||
|
|
||||||
|
# This script sends a notification when the battery is charging or discharging.
|
||||||
|
# icon theme used: tela-circle-icon-theme-dracula
|
||||||
|
#
|
||||||
|
# (see the bottom of the script for more information)
|
||||||
|
|
||||||
|
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
|
||||||
|
|
||||||
|
# get the battery state from the udev rule
|
||||||
|
BATTERY_STATE=$1
|
||||||
|
|
||||||
|
# get the battery percentage using upower (waybar dependency)
|
||||||
|
BAT_PATH=$(upower -e | grep BAT | head -n 1)
|
||||||
|
BATTERY_LEVEL=$(upower -i "$BAT_PATH" | awk '/percentage:/ {print $2}' | tr -d '%')
|
||||||
|
|
||||||
|
# set the battery charging state and icon
|
||||||
|
case "$BATTERY_STATE" in
|
||||||
|
"charging")
|
||||||
|
BATTERY_CHARGING="Charging"
|
||||||
|
BATTERY_ICON="090-charging"
|
||||||
|
;;
|
||||||
|
"discharging")
|
||||||
|
BATTERY_CHARGING="Disharging"
|
||||||
|
BATTERY_ICON="090"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# send the notification
|
||||||
|
notify-send -a "state" "Battery ${BATTERY_CHARGING} (${BATTERY_LEVEL}%)" -u normal -i "battery-${BATTERY_ICON}" -r 9991
|
||||||
|
|
||||||
|
# udev rule
|
||||||
|
# Add the following to /etc/udev/rules.d/60-power.rules:
|
||||||
|
|
||||||
|
# ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", ENV{DISPLAY}=":0", RUN+="/usr/bin/su <username> -c '$HOME/.config/waybar/scripts/battery-state.sh discharging'"
|
||||||
|
# ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", ENV{DISPLAY}=":0", RUN+="/usr/bin/su <username> -c '$HOME/.config/waybar/scripts/battery-state.sh charging'"
|
||||||
|
|
||||||
|
# the number 60 in the udev rule can be changed to any number between 0 and 99.
|
||||||
|
# the lower the number, the higher the priority.
|
||||||
|
#
|
||||||
|
# $USER does not work, so you have to replace "<username>" with your username.
|
||||||
|
|
||||||
|
# reload udev rules by running the following command:
|
||||||
|
# sudo udevadm control --reload-rules
|
||||||
106
waybar/scripts/bluetooth-menu.sh
Executable file
106
waybar/scripts/bluetooth-menu.sh
Executable file
@@ -0,0 +1,106 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Author: Jesse Mirabel (@sejjy)
|
||||||
|
# GitHub: https://github.com/sejjy/mechabar
|
||||||
|
|
||||||
|
# Rofi config
|
||||||
|
config="$HOME/.config/rofi/bluetooth-menu.rasi"
|
||||||
|
|
||||||
|
# Rofi window override
|
||||||
|
override_disabled="mainbox { children: [ textbox-custom, listview ]; } listview { lines: 1; padding: 6px 6px 8px; }"
|
||||||
|
|
||||||
|
get_device_icon() {
|
||||||
|
local device_mac=$1
|
||||||
|
device_info=$(bluetoothctl info "$device_mac")
|
||||||
|
device_icon=$(echo "$device_info" | grep "Icon:" | awk '{print $2}')
|
||||||
|
|
||||||
|
case "$device_icon" in
|
||||||
|
"audio-headphones" | "audio-headset") echo " " ;; # Headphones
|
||||||
|
"video-display" | "computer") echo " " ;; # Monitor
|
||||||
|
"audio-input-microphone") echo " " ;; # Microphone
|
||||||
|
"input-keyboard") echo " " ;; # Keyboard
|
||||||
|
"audio-speakers") echo " " ;; # Speakers
|
||||||
|
"input-mouse") echo " " ;; # Mouse
|
||||||
|
"phone") echo " " ;; # Phone
|
||||||
|
*)
|
||||||
|
echo " " # Default
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Get list of paired devices
|
||||||
|
bluetooth_devices=$(bluetoothctl devices | while read -r line; do
|
||||||
|
device_mac=$(echo "$line" | awk '{print $2}')
|
||||||
|
device_name=$(echo "$line" | awk '{$1=$2=""; print substr($0, 3)}')
|
||||||
|
icon=$(get_device_icon "$device_mac")
|
||||||
|
echo "$icon $device_name"
|
||||||
|
done)
|
||||||
|
|
||||||
|
options=$(
|
||||||
|
echo " Scan for devices"
|
||||||
|
echo " Disable Bluetooth"
|
||||||
|
echo "$bluetooth_devices"
|
||||||
|
)
|
||||||
|
option=" Enable Bluetooth"
|
||||||
|
|
||||||
|
# Get Bluetooth status
|
||||||
|
bluetooth_status=$(bluetoothctl show | grep "Powered:" | awk '{print $2}')
|
||||||
|
|
||||||
|
if [[ "$bluetooth_status" == "yes" ]]; then
|
||||||
|
selected_option=$(echo -e "$options" | rofi -dmenu -i -selected-row 1 -config "${config}" -p " " || pkill -x rofi)
|
||||||
|
else
|
||||||
|
selected_option=$(echo -e "$option" | rofi -dmenu -i -selected-row 1 -config "${config}" -theme-str "${override_disabled}" -p " " || pkill -x rofi)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Exit if no option is selected
|
||||||
|
if [ -z "$selected_option" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Actions based on selected option
|
||||||
|
case "$selected_option" in
|
||||||
|
*"Enable Bluetooth")
|
||||||
|
notify-send "Bluetooth Enabled" -i "package-installed-outdated"
|
||||||
|
rfkill unblock bluetooth
|
||||||
|
bluetoothctl power on
|
||||||
|
sleep 1
|
||||||
|
;;
|
||||||
|
*"Disable Bluetooth")
|
||||||
|
notify-send "Bluetooth Disabled" -i "package-broken"
|
||||||
|
rfkill block bluetooth
|
||||||
|
bluetoothctl power off
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*"Scan for devices")
|
||||||
|
notify-send "Press '?' to show help." -i "package-installed-outdated"
|
||||||
|
kitty --title ' Bluetooth TUI' bash -c "bluetui" # Launch bluetui
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Extract device name
|
||||||
|
device_name="${selected_option#* }"
|
||||||
|
device_name="${device_name## }"
|
||||||
|
|
||||||
|
if [[ -n "$device_name" ]]; then
|
||||||
|
# Get MAC address
|
||||||
|
device_mac=$(bluetoothctl devices | grep "$device_name" | awk '{print $2}')
|
||||||
|
|
||||||
|
# Trust and pair device
|
||||||
|
bluetoothctl trust "$device_mac" >/dev/null 2>&1
|
||||||
|
bluetoothctl pair "$device_mac" >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Connect to device
|
||||||
|
bluetoothctl connect "$device_mac" &
|
||||||
|
sleep 3
|
||||||
|
connection_status=$(bluetoothctl info "$device_mac" | grep "Connected:" | awk '{print $2}')
|
||||||
|
|
||||||
|
if [[ "$connection_status" == "yes" ]]; then
|
||||||
|
notify-send "Connected to \"$device_name\"." -i "package-installed-outdated"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to \"$device_name\"." -i "package-broken"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Scan, select, pair, and connect to Bluetooth devices
|
|
||||||
#
|
|
||||||
# Requirements:
|
|
||||||
# - bluetoothctl (bluez-utils)
|
|
||||||
# - fzf
|
|
||||||
# - notify-send (libnotify)
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: August 19, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
RED='\033[1;31m'
|
|
||||||
RST='\033[0m'
|
|
||||||
|
|
||||||
TIMEOUT=10
|
|
||||||
|
|
||||||
get-device-list() {
|
|
||||||
bluetoothctl --timeout $TIMEOUT scan on > /dev/null &
|
|
||||||
|
|
||||||
local i num
|
|
||||||
for ((i = 1; i <= TIMEOUT; i++)); do
|
|
||||||
printf '\rScanning for devices... (%d/%d)' $i $TIMEOUT
|
|
||||||
printf '\n%bPress [q] to stop%b\n\n' "$RED" "$RST"
|
|
||||||
|
|
||||||
num=$(bluetoothctl devices | grep -c Device)
|
|
||||||
|
|
||||||
printf '\rDevices: %s' "$num"
|
|
||||||
printf '\033[3A' # move cursor up 3 lines
|
|
||||||
|
|
||||||
read -rs -n 1 -t 1
|
|
||||||
[[ $REPLY == [Qq] ]] && break
|
|
||||||
done
|
|
||||||
|
|
||||||
printf '\n%bScanning stopped.%b\n\n' "$RED" "$RST"
|
|
||||||
|
|
||||||
list=$(bluetoothctl devices | grep Device | cut -d ' ' -f 2-)
|
|
||||||
|
|
||||||
if [[ -z $list ]]; then
|
|
||||||
notify-send 'Bluetooth' 'No devices found' -i 'package-broken'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
select-device() {
|
|
||||||
local header
|
|
||||||
header=$(printf '%-17s %s' 'Address' 'Name')
|
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
|
||||||
. ~/.config/waybar/scripts/fzf-colors.sh 2> /dev/null
|
|
||||||
|
|
||||||
local opts=(
|
|
||||||
--border=sharp
|
|
||||||
--border-label=' Bluetooth Devices '
|
|
||||||
--ghost='Search'
|
|
||||||
--header="$header"
|
|
||||||
--height=~100%
|
|
||||||
--highlight-line
|
|
||||||
--info=inline-right
|
|
||||||
--pointer=
|
|
||||||
--reverse
|
|
||||||
"${COLORS[@]}"
|
|
||||||
)
|
|
||||||
|
|
||||||
address=$(fzf "${opts[@]}" <<< "$list" | awk '{print $1}')
|
|
||||||
|
|
||||||
[[ -z $address ]] && return 1
|
|
||||||
|
|
||||||
local connected
|
|
||||||
connected=$(bluetoothctl info "$address" | grep Connected |
|
|
||||||
awk '{print $2}')
|
|
||||||
|
|
||||||
if [[ $connected == 'yes' ]]; then
|
|
||||||
notify-send 'Bluetooth' 'Already connected to this device' \
|
|
||||||
-i 'package-install'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pair-and-connect() {
|
|
||||||
local paired
|
|
||||||
paired=$(bluetoothctl info "$address" | grep Paired | awk '{print $2}')
|
|
||||||
|
|
||||||
if [[ $paired == 'no' ]]; then
|
|
||||||
printf 'Pairing...'
|
|
||||||
|
|
||||||
if ! timeout $TIMEOUT bluetoothctl pair "$address" > /dev/null; then
|
|
||||||
notify-send 'Bluetooth' 'Failed to pair' -i 'package-purge'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '\nConnecting...'
|
|
||||||
|
|
||||||
if timeout $TIMEOUT bluetoothctl connect "$address" > /dev/null; then
|
|
||||||
notify-send 'Bluetooth' 'Successfully connected' -i 'package-install'
|
|
||||||
else
|
|
||||||
notify-send 'Bluetooth' 'Failed to connect' -i 'package-purge'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local status
|
|
||||||
status=$(bluetoothctl show | grep PowerState | awk '{print $2}')
|
|
||||||
|
|
||||||
if [[ $status == 'off' ]]; then
|
|
||||||
bluetoothctl power on > /dev/null
|
|
||||||
notify-send 'Bluetooth On' -i 'network-bluetooth-activated' -r 1925
|
|
||||||
fi
|
|
||||||
|
|
||||||
tput civis # make cursor invisible
|
|
||||||
get-device-list || exit 1
|
|
||||||
tput cnorm # make cursor visible
|
|
||||||
|
|
||||||
select-device || exit 1
|
|
||||||
pair-and-connect || exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
92
waybar/scripts/brightness-control.sh
Executable file
92
waybar/scripts/brightness-control.sh
Executable file
@@ -0,0 +1,92 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Print error message for invalid arguments
|
||||||
|
print_error() {
|
||||||
|
cat <<"EOF"
|
||||||
|
Usage: ./brightnesscontrol.sh <action>
|
||||||
|
Valid actions are:
|
||||||
|
i -- <i>ncrease brightness [+2%]
|
||||||
|
d -- <d>ecrease brightness [-2%]
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# Send a notification with brightness info
|
||||||
|
send_notification() {
|
||||||
|
brightness=$(brightnessctl info | grep -oP "(?<=\()\d+(?=%)")
|
||||||
|
notify-send -a "state" -r 91190 -i "gpm-brightness-lcd" -h int:value:"$brightness" "Brightness: ${brightness}%" -u low
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the current brightness percentage and device name
|
||||||
|
get_brightness() {
|
||||||
|
brightness=$(brightnessctl -m | grep -o '[0-9]\+%' | head -c-2)
|
||||||
|
device=$(brightnessctl -m | head -n 1 | awk -F',' '{print $1}' | sed 's/_/ /g; s/\<./\U&/g') # Get device name
|
||||||
|
current_brightness=$(brightnessctl -m | head -n 1 | awk -F',' '{print $3}') # Get current brightness
|
||||||
|
max_brightness=$(brightnessctl -m | head -n 1 | awk -F',' '{print $5}') # Get max brightness
|
||||||
|
}
|
||||||
|
get_brightness
|
||||||
|
|
||||||
|
# Handle options
|
||||||
|
while getopts o: opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
o)
|
||||||
|
case $OPTARG in
|
||||||
|
i) # Increase brightness
|
||||||
|
if [[ $brightness -lt 10 ]]; then
|
||||||
|
brightnessctl set +1%
|
||||||
|
else
|
||||||
|
brightnessctl set +2%
|
||||||
|
fi
|
||||||
|
send_notification
|
||||||
|
;;
|
||||||
|
d) # Decrease brightness
|
||||||
|
if [[ $brightness -le 1 ]]; then
|
||||||
|
brightnessctl set 1%
|
||||||
|
elif [[ $brightness -le 10 ]]; then
|
||||||
|
brightnessctl set 1%-
|
||||||
|
else
|
||||||
|
brightnessctl set 2%-
|
||||||
|
fi
|
||||||
|
send_notification
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print_error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print_error
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Determine the icon based on brightness level
|
||||||
|
get_icon() {
|
||||||
|
if ((brightness <= 5)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 15)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 30)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 45)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 55)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 65)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 80)); then
|
||||||
|
icon=""
|
||||||
|
elif ((brightness <= 95)); then
|
||||||
|
icon=""
|
||||||
|
else
|
||||||
|
icon=""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Backlight module and tooltip
|
||||||
|
get_icon
|
||||||
|
module="${icon} ${brightness}%"
|
||||||
|
|
||||||
|
tooltip="Device Name: ${device}"
|
||||||
|
tooltip+="\nBrightness: ${current_brightness} / ${max_brightness}"
|
||||||
|
|
||||||
|
echo "{\"text\": \"${module}\", \"tooltip\": \"${tooltip}\"}"
|
||||||
67
waybar/scripts/cpu-temp.sh
Executable file
67
waybar/scripts/cpu-temp.sh
Executable file
@@ -0,0 +1,67 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
model=$(awk -F ': ' '/model name/{print $2}' /proc/cpuinfo | head -n 1 | sed 's/@.*//; s/ *\((R)\|(TM)\)//g; s/^[ \t]*//; s/[ \t]*$//')
|
||||||
|
|
||||||
|
# get CPU clock speeds
|
||||||
|
get_cpu_frequency() {
|
||||||
|
freqlist=$(awk '/cpu MHz/ {print $4}' /proc/cpuinfo)
|
||||||
|
maxfreq=$(sed 's/...$//' /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq)
|
||||||
|
if [ -z "$freqlist" ] || [ -z "$maxfreq" ]; then
|
||||||
|
echo "--"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
average_freq=$(echo "$freqlist" | tr ' ' '\n' | awk "{sum+=\$1} END {printf \"%.0f/%s MHz\", sum/NR, $maxfreq}")
|
||||||
|
echo "$average_freq"
|
||||||
|
}
|
||||||
|
|
||||||
|
# get CPU temp
|
||||||
|
get_cpu_temperature() {
|
||||||
|
temp=$(sensors | awk '/Package id 0/ {print $4}' | awk -F '[+.]' '{print $2}')
|
||||||
|
if [[ -z "$temp" ]]; then
|
||||||
|
temp=$(sensors | awk '/Tctl/ {print $2}' | tr -d '+°C')
|
||||||
|
fi
|
||||||
|
if [[ -z "$temp" ]]; then
|
||||||
|
temp="--"
|
||||||
|
temp_f="--"
|
||||||
|
else
|
||||||
|
temp=${temp%.*}
|
||||||
|
temp_f=$(awk "BEGIN {printf \"%.1f\", ($temp * 9 / 5) + 32}")
|
||||||
|
fi
|
||||||
|
# Celsius and Fahrenheit
|
||||||
|
echo "${temp:---} ${temp_f:---}"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_temperature_icon() {
|
||||||
|
temp_value=$1
|
||||||
|
if [ "$temp_value" = "--" ]; then
|
||||||
|
icon="" # none
|
||||||
|
elif [ "$temp_value" -ge 80 ]; then
|
||||||
|
icon="" # high
|
||||||
|
elif [ "$temp_value" -ge 70 ]; then
|
||||||
|
icon="" # medium
|
||||||
|
elif [ "$temp_value" -ge 60 ]; then
|
||||||
|
icon="" # normal
|
||||||
|
else
|
||||||
|
icon="" # low
|
||||||
|
fi
|
||||||
|
echo "$icon"
|
||||||
|
}
|
||||||
|
|
||||||
|
cpu_frequency=$(get_cpu_frequency)
|
||||||
|
read -r temp_info < <(get_cpu_temperature)
|
||||||
|
temp=$(echo "$temp_info" | awk '{print $1}')
|
||||||
|
temp_f=$(echo "$temp_info" | awk '{print $2}')
|
||||||
|
thermo_icon=$(get_temperature_icon "$temp")
|
||||||
|
|
||||||
|
# high temp warning
|
||||||
|
if [ "$temp" == "--" ] || [ "$temp" -ge 80 ]; then
|
||||||
|
text_output="<span color='#f38ba8'>${thermo_icon} ${temp}°C</span>"
|
||||||
|
else
|
||||||
|
text_output="${thermo_icon} ${temp}°C"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tooltip=":: ${model}\n"
|
||||||
|
tooltip+="Clock Speed: ${cpu_frequency}\nTemperature: ${temp_f}°F"
|
||||||
|
|
||||||
|
# module and tooltip
|
||||||
|
echo "{\"text\": \"$text_output\", \"tooltip\": \"$tooltip\"}"
|
||||||
24
waybar/scripts/current-theme.sh
Executable file
24
waybar/scripts/current-theme.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
CURRENT_THEME_FILE="$HOME/.config/waybar/themes/current-theme"
|
||||||
|
|
||||||
|
# Get the current theme
|
||||||
|
current_theme=$(cat "$CURRENT_THEME_FILE" 2>/dev/null || echo "")
|
||||||
|
current_theme_name="Default"
|
||||||
|
|
||||||
|
# Get the theme name
|
||||||
|
if [[ -n "$current_theme" ]]; then
|
||||||
|
current_theme_name=$(basename "$current_theme" .css)
|
||||||
|
|
||||||
|
# Convert "theme-name" to "Theme Name"
|
||||||
|
formatted_theme_name="${current_theme_name//-/ }"
|
||||||
|
formatted_theme_name=$(echo "$formatted_theme_name" | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) substr($i,2)}1')
|
||||||
|
else
|
||||||
|
formatted_theme_name="Default"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tooltip="Theme: $formatted_theme_name"
|
||||||
|
tooltip+="\nStyle: Classic" # hard-coded for now
|
||||||
|
|
||||||
|
# Tooltip
|
||||||
|
echo "{\"tooltip\": \"$tooltip\"}"
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# NOTE:
|
|
||||||
# The names, maps, and COLORS arrays are all parallel:
|
|
||||||
# - names[i]: the color name as defined in theme.css
|
|
||||||
# - maps[i]: variable to store the hex value
|
|
||||||
# - COLORS: color config passed to fzf
|
|
||||||
#
|
|
||||||
# Add themes by defining the names array in def-colors().
|
|
||||||
|
|
||||||
FILE="$XDG_CONFIG_HOME/waybar/theme.css"
|
|
||||||
|
|
||||||
def-colors() {
|
|
||||||
local theme
|
|
||||||
theme=$(sed 1q "$FILE")
|
|
||||||
|
|
||||||
declare -ga names
|
|
||||||
|
|
||||||
# Add themes here:
|
|
||||||
if [[ $theme == *"catppuccin"* ]]; then
|
|
||||||
names=(
|
|
||||||
'surface0' 'base' 'rosewater'
|
|
||||||
'red' 'text' 'red'
|
|
||||||
'mauve' 'rosewater' 'lavender'
|
|
||||||
'text' 'mauve' 'red'
|
|
||||||
'surface1' 'overlay0' 'text'
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
get-hex() {
|
|
||||||
local defs
|
|
||||||
defs=$(sed -n '3,28p' "$FILE")
|
|
||||||
|
|
||||||
local n hex
|
|
||||||
declare -gA colors
|
|
||||||
|
|
||||||
for n in "${names[@]}"; do
|
|
||||||
read -r _ _ hex < <(grep " $n " <<< "$defs")
|
|
||||||
hex=${hex%;}
|
|
||||||
|
|
||||||
colors[$n]=$hex
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
map-colors() {
|
|
||||||
local -a maps=(
|
|
||||||
'_cur_bg' '_bg' '_spinner'
|
|
||||||
'_hl' '_fg' '_header'
|
|
||||||
'_info' '_pointer' '_marker'
|
|
||||||
'_cur_fg' '_prompt' '_cur_hl'
|
|
||||||
'_sel_bg' '_border' '_label'
|
|
||||||
)
|
|
||||||
|
|
||||||
local n
|
|
||||||
local i=0
|
|
||||||
|
|
||||||
for n in "${names[@]}"; do
|
|
||||||
declare -g "${maps[i]}"="${colors[$n]}"
|
|
||||||
((i++))
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
def-colors
|
|
||||||
get-hex
|
|
||||||
map-colors
|
|
||||||
|
|
||||||
# shellcheck disable=SC2154
|
|
||||||
# These variables are defined dynamically
|
|
||||||
declare -ga COLORS=(
|
|
||||||
"--color= bg+:$_cur_bg, bg:$_bg, spinner:$_spinner"
|
|
||||||
"--color= hl:$_hl, fg:$_fg, header:$_header"
|
|
||||||
"--color= info:$_info, pointer:$_pointer, marker:$_marker"
|
|
||||||
"--color= fg+:$_cur_fg, prompt:$_prompt, hl+:$_cur_hl"
|
|
||||||
"--color=selected-bg:$_sel_bg, border:$_border, label:$_label"
|
|
||||||
)
|
|
||||||
|
|
||||||
export COLORS
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Scan, select, and connect to Wi-Fi networks
|
|
||||||
#
|
|
||||||
# Requirements:
|
|
||||||
# - nmcli (networkmanager)
|
|
||||||
# - fzf
|
|
||||||
# - notify-send (libnotify)
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: August 11, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
RED='\033[1;31m'
|
|
||||||
RST='\033[0m'
|
|
||||||
|
|
||||||
TIMEOUT=5
|
|
||||||
|
|
||||||
get-network-list() {
|
|
||||||
nmcli device wifi rescan 2> /dev/null
|
|
||||||
|
|
||||||
local i
|
|
||||||
for ((i = 1; i <= TIMEOUT; i++)); do
|
|
||||||
printf '\rScanning for networks... (%d/%d)' $i $TIMEOUT
|
|
||||||
printf '\033[1A' # move cursor up 1 line
|
|
||||||
|
|
||||||
list=$(timeout 1 nmcli device wifi list)
|
|
||||||
networks=$(tail -n +2 <<< "$list" | awk '$2 != "--"')
|
|
||||||
|
|
||||||
[[ -n $networks ]] && break
|
|
||||||
done
|
|
||||||
|
|
||||||
printf '\n%bScanning stopped.%b\n\n' "$RED" "$RST"
|
|
||||||
|
|
||||||
if [[ -z $networks ]]; then
|
|
||||||
notify-send 'Wi-Fi' 'No networks found' -i 'package-broken'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
select-network() {
|
|
||||||
local header
|
|
||||||
header=$(head -n 1 <<< "$list")
|
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
|
||||||
. ~/.config/waybar/scripts/fzf-colors.sh 2> /dev/null
|
|
||||||
|
|
||||||
local opts=(
|
|
||||||
--border=sharp
|
|
||||||
--border-label=' Wi-Fi Networks '
|
|
||||||
--ghost='Search'
|
|
||||||
--header="$header"
|
|
||||||
--height=~100%
|
|
||||||
--highlight-line
|
|
||||||
--info=inline-right
|
|
||||||
--pointer=
|
|
||||||
--reverse
|
|
||||||
"${COLORS[@]}"
|
|
||||||
)
|
|
||||||
|
|
||||||
bssid=$(fzf "${opts[@]}" <<< "$networks" | awk '{print $1}')
|
|
||||||
|
|
||||||
if [[ -z $bssid ]]; then
|
|
||||||
return 1
|
|
||||||
elif [[ $bssid == '*' ]]; then
|
|
||||||
notify-send 'Wi-Fi' 'Already connected to this network' \
|
|
||||||
-i 'package-install'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
connect-to-network() {
|
|
||||||
printf 'Connecting...\n'
|
|
||||||
|
|
||||||
if nmcli --ask device wifi connect "$bssid"; then
|
|
||||||
notify-send 'Wi-Fi' 'Successfully connected' -i 'package-install'
|
|
||||||
else
|
|
||||||
notify-send 'Wi-Fi' 'Failed to connect' -i 'package-purge'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local status
|
|
||||||
status=$(nmcli radio wifi)
|
|
||||||
|
|
||||||
if [[ $status == 'disabled' ]]; then
|
|
||||||
nmcli radio wifi on
|
|
||||||
notify-send 'Wi-Fi Enabled' -i 'network-wireless-on' -r 1125
|
|
||||||
fi
|
|
||||||
|
|
||||||
tput civis # make cursor invisible
|
|
||||||
get-network-list || exit 1
|
|
||||||
tput cnorm # make cursor visible
|
|
||||||
|
|
||||||
select-network || exit 1
|
|
||||||
connect-to-network
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,49 +1,30 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
|
||||||
# Display a power menu to perform system actions
|
|
||||||
#
|
|
||||||
# Requirements:
|
|
||||||
# - fzf
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: August 19, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
LIST=(
|
config="$HOME/.config/rofi/power-menu.rasi"
|
||||||
'Lock'
|
|
||||||
'Shutdown'
|
|
||||||
'Reboot'
|
|
||||||
'Logout'
|
|
||||||
'Hibernate'
|
|
||||||
'Suspend'
|
|
||||||
)
|
|
||||||
|
|
||||||
main() {
|
actions=$(echo -e " Lock\n Shutdown\n Reboot\n Suspend\n Hibernate\n Logout")
|
||||||
# shellcheck disable=SC1090
|
|
||||||
. ~/.config/waybar/scripts/fzf-colors.sh 2> /dev/null
|
|
||||||
|
|
||||||
local opts=(
|
# Display logout menu
|
||||||
--border=sharp
|
selected_option=$(echo -e "$actions" | rofi -dmenu -i -config "${config}" || pkill -x rofi)
|
||||||
--border-label=' Power Menu '
|
|
||||||
--height=~100%
|
|
||||||
--highlight-line
|
|
||||||
--no-input
|
|
||||||
--pointer=
|
|
||||||
--reverse
|
|
||||||
"${COLORS[@]}"
|
|
||||||
)
|
|
||||||
|
|
||||||
local selected
|
# Perform actions based on the selected option
|
||||||
selected=$(printf '%s\n' "${LIST[@]}" | fzf "${opts[@]}")
|
case "$selected_option" in
|
||||||
|
*Lock)
|
||||||
case $selected in
|
loginctl lock-session
|
||||||
'Lock') loginctl lock-session ;;
|
;;
|
||||||
'Shutdown') systemctl poweroff ;;
|
*Shutdown)
|
||||||
'Reboot') systemctl reboot ;;
|
systemctl poweroff
|
||||||
'Logout') loginctl terminate-session "$XDG_SESSION_ID" ;;
|
;;
|
||||||
'Hibernate') systemctl hibernate ;;
|
*Reboot)
|
||||||
'Suspend') systemctl suspend ;;
|
systemctl reboot
|
||||||
esac
|
;;
|
||||||
}
|
*Suspend)
|
||||||
|
systemctl suspend
|
||||||
main
|
;;
|
||||||
|
*Hibernate)
|
||||||
|
systemctl hibernate
|
||||||
|
;;
|
||||||
|
*Logout)
|
||||||
|
loginctl kill-session "$XDG_SESSION_ID"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -1,82 +1,107 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
# Check release
|
||||||
# Check for available updates and optionally upgrade packages on Arch Linux.
|
if [ ! -f /etc/arch-release ]; then
|
||||||
#
|
exit 0
|
||||||
# Requirements:
|
fi
|
||||||
# - checkupdates (pacman-contrib)
|
|
||||||
# - notify-send (libnotify)
|
|
||||||
# - optional: an AUR helper (aura, paru, pikaur, trizen, yay)
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: August 16, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
GRN='\033[1;32m'
|
pkg_installed() {
|
||||||
BLU='\033[1;34m'
|
local pkg=$1
|
||||||
RST='\033[0m'
|
if pacman -Qi "${pkg}" &>/dev/null; then
|
||||||
|
return 0
|
||||||
TIMEOUT=5
|
elif command -v "${pkg}" &>/dev/null; then
|
||||||
|
return 0
|
||||||
check-updates() {
|
else
|
||||||
repo=$(timeout $TIMEOUT checkupdates 2> /dev/null | wc -l)
|
return 1
|
||||||
|
fi
|
||||||
if [[ -n $helper ]]; then
|
|
||||||
aur=$(timeout $TIMEOUT "$helper" -Quaq 2> /dev/null | wc -l)
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update-packages() {
|
get_aur_helper() {
|
||||||
printf '\n%bUpdating pacman packages...%b\n' "$BLU" "$RST"
|
if command -v yay &>/dev/null; then
|
||||||
sudo pacman -Syu
|
aur_helper="yay"
|
||||||
|
elif command -v paru &>/dev/null; then
|
||||||
printf '\n%bUpdating AUR packages...%b\n' "$BLU" "$RST"
|
aur_helper="paru"
|
||||||
"$helper" -Syu
|
else
|
||||||
|
aur_helper=""
|
||||||
# use signal to update the module
|
fi
|
||||||
pkill -RTMIN+1 waybar
|
|
||||||
|
|
||||||
notify-send 'Update Complete' -i 'package-install'
|
|
||||||
printf '\n%bUpdate Complete!%b\n' "$GRN" "$RST"
|
|
||||||
read -rs -n 1 -p 'Press any key to exit...'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
display-module() {
|
get_aur_helper
|
||||||
local tooltip="Official: $repo"
|
|
||||||
|
|
||||||
if [[ -n $helper ]]; then
|
# Trigger upgrade
|
||||||
tooltip+="\nAUR($helper): $aur"
|
if [ "$1" == "up" ]; then
|
||||||
fi
|
trap 'pkill -RTMIN+20 waybar' EXIT
|
||||||
|
command="
|
||||||
|
echo 'Starting system update...'
|
||||||
|
$0 upgrade
|
||||||
|
if [ -n '$aur_helper' ]; then
|
||||||
|
echo 'Running AUR update with $aur_helper...'
|
||||||
|
$aur_helper -Syu
|
||||||
|
else
|
||||||
|
echo 'Running official repository update...'
|
||||||
|
sudo pacman -Syu
|
||||||
|
fi
|
||||||
|
if command -v flatpak &>/dev/null; then
|
||||||
|
echo 'Running Flatpak update...'
|
||||||
|
flatpak update -y
|
||||||
|
fi
|
||||||
|
echo ''
|
||||||
|
echo 'Update complete! Press Enter to close...'
|
||||||
|
read -r
|
||||||
|
"
|
||||||
|
ghostty -e bash -c "${command}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
local total=$((repo + aur))
|
# Check for official repository updates with timeout
|
||||||
|
official_updates=$(
|
||||||
|
(timeout 10 bash -c 'while pgrep -x checkupdates >/dev/null; do sleep 1; done') 2>/dev/null
|
||||||
|
checkupdates 2>/dev/null | wc -l
|
||||||
|
)
|
||||||
|
official_updates=$((official_updates + 0))
|
||||||
|
|
||||||
if ((total == 0)); then
|
# Check for AUR updates with timeout
|
||||||
echo "{ \"text\": \"\", \"tooltip\": \"No updates available\" }"
|
if [ -n "$aur_helper" ]; then
|
||||||
else
|
aur_updates=$(timeout 10 $aur_helper -Qua 2>/dev/null | wc -l)
|
||||||
echo "{ \"text\": \"\", \"tooltip\": \"$tooltip\" }"
|
aur_updates=$((aur_updates + 0))
|
||||||
fi
|
else
|
||||||
}
|
aur_updates=0
|
||||||
|
fi
|
||||||
|
|
||||||
main() {
|
# Check for Flatpak updates with timeout
|
||||||
local arg=$1
|
if pkg_installed flatpak; then
|
||||||
local helpers=(aura paru pikaur trizen yay)
|
flatpak_updates=$(timeout 10 flatpak remote-ls --updates 2>/dev/null | wc -l)
|
||||||
local bin
|
flatpak_updates=$((flatpak_updates + 0))
|
||||||
|
else
|
||||||
|
flatpak_updates=0
|
||||||
|
fi
|
||||||
|
|
||||||
bin=$(command -v "${helpers[@]}" | head -n 1)
|
# Calculate total available updates
|
||||||
helper=${bin##*/}
|
total_updates=$((official_updates + aur_updates + flatpak_updates))
|
||||||
repo=0
|
|
||||||
aur=0
|
|
||||||
|
|
||||||
case $arg in
|
# Handle upgrade info display
|
||||||
'module')
|
if [ "${1}" == "upgrade" ]; then
|
||||||
check-updates
|
if [ "$aur_helper" == "yay" ]; then
|
||||||
display-module
|
printf "Official: %s\nAUR ($aur_helper): %s\nFlatpak: %s\n\n" "$official_updates" "$aur_updates" "$flatpak_updates"
|
||||||
;;
|
elif [ "$aur_helper" == "paru" ]; then
|
||||||
*)
|
printf "Official: %s\nAUR ($aur_helper): %s\nFlatpak: %s\n\n" "$official_updates" "$aur_updates" "$flatpak_updates"
|
||||||
printf '%bChecking for updates...%b' "$BLU" "$RST"
|
else
|
||||||
check-updates
|
printf "Official: %s\nFlatpak: %s\n\n" "$official_updates" "$flatpak_updates"
|
||||||
update-packages
|
fi
|
||||||
;;
|
exit 0
|
||||||
esac
|
fi
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
# Create tooltip text
|
||||||
|
if [ "$aur_helper" == "yay" ]; then
|
||||||
|
tooltip="Official: $official_updates\nAUR ($aur_helper): $aur_updates\nFlatpak: $flatpak_updates"
|
||||||
|
elif [ "$aur_helper" == "paru" ]; then
|
||||||
|
tooltip="Official: $official_updates\nAUR ($aur_helper): $aur_updates\nFlatpak: $flatpak_updates"
|
||||||
|
else
|
||||||
|
tooltip="Official: $official_updates\nFlatpak: $flatpak_updates"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output compact JSON for Waybar
|
||||||
|
if [ $total_updates -eq 0 ]; then
|
||||||
|
echo '{"text":"","tooltip":"Packages are up to date"}'
|
||||||
|
else
|
||||||
|
printf '{"text":" %s","tooltip":"%s"}\n' "$total_updates" "$tooltip"
|
||||||
|
fi
|
||||||
|
|||||||
54
waybar/scripts/theme-switcher.sh
Executable file
54
waybar/scripts/theme-switcher.sh
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
WAYBAR_CSS_DIR="$HOME/.config/waybar/themes/css"
|
||||||
|
WAYBAR_CSS_FILE="$HOME/.config/waybar/theme.css"
|
||||||
|
WAYBAR_JSONC_DIR="$HOME/.config/waybar/themes/jsonc"
|
||||||
|
WAYBAR_JSONC_FILE="$HOME/.config/waybar/config.jsonc"
|
||||||
|
ROFI_THEMES_DIR="$HOME/.config/rofi/themes"
|
||||||
|
ROFI_THEME_FILE="$HOME/.config/rofi/theme.rasi"
|
||||||
|
CURRENT_THEME_FILE="$HOME/.config/waybar/themes/current-theme"
|
||||||
|
|
||||||
|
for dir in "$WAYBAR_CSS_DIR" "$WAYBAR_JSONC_DIR" "$ROFI_THEMES_DIR"; do
|
||||||
|
[[ ! -d "$dir" ]] && echo "Error: $dir not found" && exit 1
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get all themes
|
||||||
|
waybar_css=("$WAYBAR_CSS_DIR"/*.css)
|
||||||
|
waybar_jsonc=("$WAYBAR_JSONC_DIR"/*.jsonc)
|
||||||
|
rofi_themes=("$ROFI_THEMES_DIR"/*.rasi)
|
||||||
|
|
||||||
|
if [[ ${#waybar_css[@]} -eq 0 || ${#waybar_jsonc[@]} -eq 0 || ${#rofi_themes[@]} -eq 0 ]]; then
|
||||||
|
echo "Error: No themes found in one of the directories"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the current theme
|
||||||
|
current_theme=$(cat "$CURRENT_THEME_FILE" 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
# Find the index of the current theme
|
||||||
|
next_theme_index=0
|
||||||
|
for i in "${!waybar_css[@]}"; do
|
||||||
|
[[ "${waybar_css[$i]}" == "$current_theme" ]] && next_theme_index=$(((i + 1) % ${#waybar_css[@]})) && break
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get the new theme
|
||||||
|
new_waybar_css="${waybar_css[$next_theme_index]}"
|
||||||
|
new_waybar_jsonc="${waybar_jsonc[$next_theme_index]}"
|
||||||
|
new_rofi_theme="${rofi_themes[$next_theme_index]}"
|
||||||
|
|
||||||
|
# Save the new theme
|
||||||
|
echo "$new_waybar_css" >"$CURRENT_THEME_FILE"
|
||||||
|
|
||||||
|
declare -A theme_files=(
|
||||||
|
["$new_waybar_css"]="$WAYBAR_CSS_FILE"
|
||||||
|
["$new_waybar_jsonc"]="$WAYBAR_JSONC_FILE"
|
||||||
|
["$new_rofi_theme"]="$ROFI_THEME_FILE"
|
||||||
|
)
|
||||||
|
|
||||||
|
for src in "${!theme_files[@]}"; do
|
||||||
|
cp "$src" "${theme_files[$src]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Restart Waybar to apply changes
|
||||||
|
killall waybar || true
|
||||||
|
nohup waybar --config "$HOME/.config/waybar/config.jsonc" --style "$HOME/.config/waybar/style.css" >/dev/null 2>&1 &
|
||||||
123
waybar/scripts/volume-control.sh
Executable file
123
waybar/scripts/volume-control.sh
Executable file
@@ -0,0 +1,123 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Define functions
|
||||||
|
print_error() {
|
||||||
|
cat <<"EOF"
|
||||||
|
Usage: ./volumecontrol.sh -[device] <actions>
|
||||||
|
...valid devices are...
|
||||||
|
i -- input device
|
||||||
|
o -- output device
|
||||||
|
p -- player application
|
||||||
|
...valid actions are...
|
||||||
|
i -- increase volume [+2]
|
||||||
|
d -- decrease volume [-2]
|
||||||
|
m -- mute [x]
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
icon() {
|
||||||
|
vol=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | sed 's/%//')
|
||||||
|
mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||||
|
|
||||||
|
if [ "$mute" = "yes" ] || [ "$vol" -eq 0 ]; then
|
||||||
|
icon="volume-level-muted"
|
||||||
|
elif [ "$vol" -lt 33 ]; then
|
||||||
|
icon="volume-level-low"
|
||||||
|
elif [ "$vol" -lt 66 ]; then
|
||||||
|
icon="volume-level-medium"
|
||||||
|
else
|
||||||
|
icon="volume-level-high"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
send_notification() {
|
||||||
|
icon
|
||||||
|
notify-send -a "state" -r 91190 -i "$icon" -h int:value:"$vol" "Volume: ${vol}%" -u low
|
||||||
|
}
|
||||||
|
|
||||||
|
notify_mute() {
|
||||||
|
mute=$(pactl get-sink-mute @DEFAULT_SINK@ | awk '{print $2}')
|
||||||
|
if [ "$mute" = "yes" ]; then
|
||||||
|
notify-send -a "state" -r 91190 -i "volume-level-muted" "Volume: Muted" -u low
|
||||||
|
else
|
||||||
|
icon
|
||||||
|
notify-send -a "state" -r 91190 -i "$icon" "Volume: Unmuted" -u low
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
action_volume() {
|
||||||
|
case "${1}" in
|
||||||
|
i)
|
||||||
|
# Increase volume if below 100
|
||||||
|
current_vol=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | sed 's/%//')
|
||||||
|
if [ "$current_vol" -lt 100 ]; then
|
||||||
|
new_vol=$((current_vol + 2))
|
||||||
|
[ "$new_vol" -gt 100 ] && new_vol=100
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ "${new_vol}%"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
# Decrease volume if above 0
|
||||||
|
current_vol=$(pactl get-sink-volume @DEFAULT_SINK@ | awk '{print $5}' | sed 's/%//')
|
||||||
|
new_vol=$((current_vol - 2))
|
||||||
|
[ "$new_vol" -lt 0 ] && new_vol=0
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ "${new_vol}%"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
select_output() {
|
||||||
|
if [ "$@" ]; then
|
||||||
|
desc="$*"
|
||||||
|
device=$(pactl list sinks | grep -C2 -F "Description: $desc" | grep Name | cut -d: -f2 | xargs)
|
||||||
|
if pactl set-default-sink "$device"; then
|
||||||
|
notify-send -r 91190 "Activated: $desc"
|
||||||
|
else
|
||||||
|
notify-send -r 91190 "Error activating $desc"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pactl list sinks | grep -ie "Description:" | awk -F ': ' '{print $2}' | sort
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Evaluate device option
|
||||||
|
while getopts iops: DeviceOpt; do
|
||||||
|
case "${DeviceOpt}" in
|
||||||
|
i)
|
||||||
|
nsink=$(pactl list sources short | awk '{print $2}')
|
||||||
|
[ -z "${nsink}" ] && echo "ERROR: Input device not found..." && exit 0
|
||||||
|
srce="--default-source"
|
||||||
|
;;
|
||||||
|
o)
|
||||||
|
nsink=$(pactl list sinks short | awk '{print $2}')
|
||||||
|
[ -z "${nsink}" ] && echo "ERROR: Output device not found..." && exit 0
|
||||||
|
srce=""
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
nsink=$(playerctl --list-all | grep -w "${OPTARG}")
|
||||||
|
[ -z "${nsink}" ] && echo "ERROR: Player ${OPTARG} not active..." && exit 0
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
srce="${nsink}"
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
# Select an output device
|
||||||
|
select_output "$@"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*) print_error ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set default variables
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
|
||||||
|
# Execute action
|
||||||
|
case "${1}" in
|
||||||
|
i) action_volume i ;;
|
||||||
|
d) action_volume d ;;
|
||||||
|
m) pactl set-sink-mute @DEFAULT_SINK@ toggle && notify_mute && exit 0 ;;
|
||||||
|
*) print_error ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
send_notification
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Adjust default device volume and send a notification with the current level
|
|
||||||
#
|
|
||||||
# Requirements:
|
|
||||||
# - pactl (libpulse)
|
|
||||||
# - notify-send (libnotify)
|
|
||||||
#
|
|
||||||
# Author: Jesse Mirabel <sejjymvm@gmail.com>
|
|
||||||
# Created: September 07, 2025
|
|
||||||
# License: MIT
|
|
||||||
|
|
||||||
VALUE=1
|
|
||||||
MIN=0
|
|
||||||
MAX=100
|
|
||||||
ID=2425
|
|
||||||
|
|
||||||
print-usage() {
|
|
||||||
local script=${0##*/}
|
|
||||||
|
|
||||||
cat <<- EOF
|
|
||||||
USAGE: $script [OPTIONS]
|
|
||||||
|
|
||||||
Adjust default device volume and send a notification with the current level
|
|
||||||
|
|
||||||
OPTIONS:
|
|
||||||
input Set device as '@DEFAULT_SOURCE@'
|
|
||||||
output Set device as '@DEFAULT_SINK@'
|
|
||||||
|
|
||||||
mute Toggle device mute
|
|
||||||
|
|
||||||
raise <value> Raise volume by <value>
|
|
||||||
lower <value> Lower volume by <value>
|
|
||||||
Default value: $VALUE
|
|
||||||
|
|
||||||
EXAMPLES:
|
|
||||||
Toggle microphone mute:
|
|
||||||
$ $script input mute
|
|
||||||
|
|
||||||
Raise speaker volume:
|
|
||||||
$ $script output raise
|
|
||||||
|
|
||||||
Lower speaker volume by 5:
|
|
||||||
$ $script output lower 5
|
|
||||||
EOF
|
|
||||||
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
check-muted() {
|
|
||||||
local muted
|
|
||||||
muted=$(pactl "get-$dev_mute" "$dev" | awk '{print $2}')
|
|
||||||
|
|
||||||
local state
|
|
||||||
case $muted in
|
|
||||||
'yes') state='Muted' ;;
|
|
||||||
'no') state='Unmuted' ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "$state"
|
|
||||||
}
|
|
||||||
|
|
||||||
get-volume() {
|
|
||||||
local vol
|
|
||||||
vol=$(pactl "get-$dev_vol" "$dev" | awk '{print $5}' | tr -d '%')
|
|
||||||
|
|
||||||
echo "$vol"
|
|
||||||
}
|
|
||||||
|
|
||||||
get-icon() {
|
|
||||||
local state vol
|
|
||||||
state=$(check-muted)
|
|
||||||
vol=$(get-volume)
|
|
||||||
|
|
||||||
local icon
|
|
||||||
local new_vol=${1:-$vol}
|
|
||||||
|
|
||||||
if [[ $state == 'Muted' ]]; then
|
|
||||||
icon="$dev_icon-muted"
|
|
||||||
else
|
|
||||||
if ((new_vol < ((MAX * 33) / 100))); then
|
|
||||||
icon="$dev_icon-low"
|
|
||||||
elif ((new_vol < ((MAX * 66) / 100))); then
|
|
||||||
icon="$dev_icon-medium"
|
|
||||||
else
|
|
||||||
icon="$dev_icon-high"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$icon"
|
|
||||||
}
|
|
||||||
|
|
||||||
toggle-mute() {
|
|
||||||
pactl "set-$dev_mute" "$dev" toggle
|
|
||||||
|
|
||||||
local state icon
|
|
||||||
state=$(check-muted)
|
|
||||||
icon=$(get-icon)
|
|
||||||
|
|
||||||
notify-send "$title: $state" -i "$icon" -r $ID
|
|
||||||
}
|
|
||||||
|
|
||||||
set-volume() {
|
|
||||||
local vol
|
|
||||||
vol=$(get-volume)
|
|
||||||
|
|
||||||
local new_vol
|
|
||||||
case $action in
|
|
||||||
'raise')
|
|
||||||
new_vol=$((vol + value))
|
|
||||||
((new_vol > MAX)) && new_vol=$MAX
|
|
||||||
;;
|
|
||||||
'lower')
|
|
||||||
new_vol=$((vol - value))
|
|
||||||
((new_vol < MIN)) && new_vol=$MIN
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
pactl "set-$dev_vol" "$dev" "${new_vol}%"
|
|
||||||
|
|
||||||
local icon
|
|
||||||
icon=$(get-icon "$new_vol")
|
|
||||||
|
|
||||||
notify-send "$title: ${new_vol}%" -h int:value:$new_vol -i "$icon" -r $ID
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
device=$1
|
|
||||||
action=$2
|
|
||||||
value=${3:-$VALUE}
|
|
||||||
|
|
||||||
! ((value > 0)) && print-usage
|
|
||||||
|
|
||||||
case $device in
|
|
||||||
'input')
|
|
||||||
dev='@DEFAULT_SOURCE@'
|
|
||||||
dev_mute='source-mute'
|
|
||||||
dev_vol='source-volume'
|
|
||||||
dev_icon='mic-volume'
|
|
||||||
title='Microphone'
|
|
||||||
;;
|
|
||||||
'output')
|
|
||||||
dev='@DEFAULT_SINK@'
|
|
||||||
dev_mute='sink-mute'
|
|
||||||
dev_vol='sink-volume'
|
|
||||||
dev_icon='audio-volume'
|
|
||||||
title='Volume'
|
|
||||||
;;
|
|
||||||
*) print-usage ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case $action in
|
|
||||||
'mute') toggle-mute ;;
|
|
||||||
'raise' | 'lower') set-volume ;;
|
|
||||||
*) print-usage ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
|
||||||
126
waybar/scripts/wifi-menu.sh
Executable file
126
waybar/scripts/wifi-menu.sh
Executable file
@@ -0,0 +1,126 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Author: Jesse Mirabel (@sejjy)
|
||||||
|
# GitHub: https://github.com/sejjy/mechabar
|
||||||
|
|
||||||
|
# Rofi config
|
||||||
|
config="$HOME/.config/rofi/wifi-menu.rasi"
|
||||||
|
|
||||||
|
options=$(
|
||||||
|
echo " Manual Entry"
|
||||||
|
echo " Disable Wi-Fi"
|
||||||
|
)
|
||||||
|
option_disabled=" Enable Wi-Fi"
|
||||||
|
|
||||||
|
# Rofi window override
|
||||||
|
override_ssid="entry { placeholder: \"Enter SSID\"; } listview { lines: 0; padding: 20px 6px; }"
|
||||||
|
override_password="entry { placeholder: \"Enter password\"; } listview { lines: 0; padding: 20px 6px; }"
|
||||||
|
override_disabled="mainbox { children: [ textbox-custom, listview ]; } listview { lines: 1; padding: 6px 6px 8px; }"
|
||||||
|
|
||||||
|
# Prompt for password
|
||||||
|
get_password() {
|
||||||
|
rofi -dmenu -password -config "${config}" -theme-str "${override_password}" -p " " || pkill -x rofi
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
wifi_list() {
|
||||||
|
nmcli --fields "SECURITY,SSID" device wifi list |
|
||||||
|
tail -n +2 | # Skip the header line from nmcli output
|
||||||
|
sed 's/ */ /g' | # Replace multiple spaces with a single space
|
||||||
|
sed -E "s/WPA*.?\S/ /g" | # Replace 'WPA*' with a Wi-Fi lock icon
|
||||||
|
sed "s/^--/ /g" | # Replace '--' (open networks) with an open Wi-Fi icon
|
||||||
|
sed "s/ //g" | # Remove duplicate Wi-Fi lock icons
|
||||||
|
sed "/--/d" | # Remove lines containing '--' (empty SSIDs)
|
||||||
|
awk '!seen[$0]++' # Filter out duplicate SSIDs
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get Wi-Fi status
|
||||||
|
wifi_status=$(nmcli -fields WIFI g)
|
||||||
|
|
||||||
|
case "$wifi_status" in
|
||||||
|
*"enabled"*)
|
||||||
|
selected_option=$(echo "$options"$'\n'"$(wifi_list)" |
|
||||||
|
rofi -dmenu -i -selected-row 1 -config "${config}" -p " " || pkill -x rofi)
|
||||||
|
;;
|
||||||
|
*"disabled"*)
|
||||||
|
selected_option=$(echo "$option_disabled" |
|
||||||
|
rofi -dmenu -i -config "${config}" -theme-str "${override_disabled}" || pkill -x rofi)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Extract selected SSID
|
||||||
|
read -r selected_ssid <<<"${selected_option:3}"
|
||||||
|
|
||||||
|
# Actions based on selected option
|
||||||
|
case "$selected_option" in
|
||||||
|
"")
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*"Enable Wi-Fi")
|
||||||
|
notify-send "Scanning for networks..." -i "package-installed-outdated"
|
||||||
|
nmcli radio wifi on
|
||||||
|
nmcli device wifi rescan
|
||||||
|
sleep 3
|
||||||
|
;;
|
||||||
|
*"Disable Wi-Fi")
|
||||||
|
notify-send "Wi-Fi Disabled" -i "package-broken"
|
||||||
|
nmcli radio wifi off
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*"Manual Entry")
|
||||||
|
# Prompt for SSID
|
||||||
|
manual_ssid=$(rofi -dmenu -config "${config}" -theme-str "${override_ssid}" -p " " || pkill -x rofi)
|
||||||
|
|
||||||
|
# Exit if no option is selected
|
||||||
|
if [ -z "$manual_ssid" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prompt for Wi-Fi password
|
||||||
|
wifi_password=$(get_password)
|
||||||
|
|
||||||
|
if [ -z "$wifi_password" ]; then
|
||||||
|
# Without password
|
||||||
|
if nmcli device wifi connect "$manual_ssid" | grep -q "successfully"; then
|
||||||
|
notify-send "Connected to \"$manual_ssid\"." -i "package-installed-outdated"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to \"$manual_ssid\"." -i "package-broken"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# With password
|
||||||
|
if nmcli device wifi connect "$manual_ssid" password "$wifi_password" | grep -q "successfully"; then
|
||||||
|
notify-send "Connected to \"$manual_ssid\"." -i "package-installed-outdated"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to \"$manual_ssid\"." -i "package-broken"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Get saved connections
|
||||||
|
saved_connections=$(nmcli -g NAME connection)
|
||||||
|
|
||||||
|
if echo "$saved_connections" | grep -qw "$selected_ssid"; then
|
||||||
|
if nmcli connection up id "$selected_ssid" | grep -q "successfully"; then
|
||||||
|
notify-send "Connected to \"$selected_ssid\"." -i "package-installed-outdated"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to \"$selected_ssid\"." -i "package-broken"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Handle secure network connection
|
||||||
|
if [[ "$selected_option" =~ ^"" ]]; then
|
||||||
|
wifi_password=$(get_password)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if nmcli device wifi connect "$selected_ssid" password "$wifi_password" | grep -q "successfully"; then
|
||||||
|
notify-send "Connected to \"$selected_ssid\"." -i "package-installed-outdated"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
notify-send "Failed to connect to \"$selected_ssid\"." -i "package-broken"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
84
waybar/scripts/wifi-status.sh
Executable file
84
waybar/scripts/wifi-status.sh
Executable file
@@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if ! command -v nmcli &>/dev/null; then
|
||||||
|
echo "{\"text\": \"\", \"tooltip\": \"nmcli utility is missing\"}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if Wi-Fi is enabled
|
||||||
|
wifi_status=$(nmcli radio wifi 2>/dev/null)
|
||||||
|
|
||||||
|
if [ "$wifi_status" = "disabled" ]; then
|
||||||
|
echo "{\"text\": \"\", \"tooltip\": \"Wi-Fi Disabled\"}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initialize variables with defaults
|
||||||
|
essid="No Connection"
|
||||||
|
signal=0
|
||||||
|
tooltip="No Wi-Fi Connection"
|
||||||
|
ip_address="Not Connected"
|
||||||
|
security="None"
|
||||||
|
chan="N/A"
|
||||||
|
|
||||||
|
wifi_info=$(nmcli -t -f active,ssid,signal,security dev wifi 2>/dev/null | grep "^yes" | head -1)
|
||||||
|
|
||||||
|
if [ -n "$wifi_info" ]; then
|
||||||
|
# Parse the wifi info with error handling
|
||||||
|
essid=$(echo "$wifi_info" | awk -F: '{print $2}')
|
||||||
|
signal=$(echo "$wifi_info" | awk -F: '{print $3}')
|
||||||
|
security=$(echo "$wifi_info" | awk -F: '{print $4}')
|
||||||
|
|
||||||
|
# Set defaults if parsing failed
|
||||||
|
[ -z "$essid" ] && essid="Unknown"
|
||||||
|
[ -z "$signal" ] && signal=0
|
||||||
|
[ -z "$security" ] && security="None"
|
||||||
|
|
||||||
|
# Get active WiFi device, ignoring WireGuard interfaces
|
||||||
|
active_device=$(nmcli -t -f DEVICE,TYPE,STATE device status 2>/dev/null |
|
||||||
|
grep -E 'wifi:connected$' |
|
||||||
|
grep -v -E '^(wg0|wg1|wg2):' |
|
||||||
|
awk -F: '{print $1}' | head -1)
|
||||||
|
|
||||||
|
if [ -n "$active_device" ]; then
|
||||||
|
# Get IP address with error handling
|
||||||
|
ip_output=$(nmcli -e no -g ip4.address device show "$active_device" 2>/dev/null | head -1)
|
||||||
|
[ -n "$ip_output" ] && ip_address="$ip_output"
|
||||||
|
|
||||||
|
# Get channel and frequency info
|
||||||
|
wifi_details=$(nmcli -e no -t -f active,bssid,chan,freq device wifi 2>/dev/null | grep "^yes" | head -1)
|
||||||
|
if [ -n "$wifi_details" ]; then
|
||||||
|
chan_temp=$(echo "$wifi_details" | awk -F: '{print $8}')
|
||||||
|
freq_temp=$(echo "$wifi_details" | awk -F: '{print $9}')
|
||||||
|
[ -n "$chan_temp" ] && [ -n "$freq_temp" ] && chan="$chan_temp ($freq_temp)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build tooltip with proper formatting
|
||||||
|
tooltip="SSID: ${essid}"
|
||||||
|
tooltip+="\\nIP Address: ${ip_address}"
|
||||||
|
tooltip+="\\nSecurity: ${security}"
|
||||||
|
tooltip+="\\nChannel: ${chan}"
|
||||||
|
tooltip+="\\nStrength: ${signal}/100"
|
||||||
|
else
|
||||||
|
tooltip="Connected to: ${essid}\\nStrength: ${signal}/100\\nSecurity: ${security}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure signal is a number for comparison
|
||||||
|
signal=$((signal + 0))
|
||||||
|
|
||||||
|
# Determine Wi-Fi icon based on signal strength
|
||||||
|
if [ "$signal" -ge 80 ]; then
|
||||||
|
icon="" # Strong signal
|
||||||
|
elif [ "$signal" -ge 60 ]; then
|
||||||
|
icon="" # Good signal
|
||||||
|
elif [ "$signal" -ge 40 ]; then
|
||||||
|
icon="" # Weak signal
|
||||||
|
elif [ "$signal" -ge 20 ]; then
|
||||||
|
icon="" # Very weak signal
|
||||||
|
else
|
||||||
|
icon="" # No signal
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Output JSON with proper escaping
|
||||||
|
echo "{\"text\": \"${icon}\", \"tooltip\": \"${tooltip}\"}"
|
||||||
482
waybar/style.css
482
waybar/style.css
@@ -1,12 +1,476 @@
|
|||||||
/* ignore GTK theme */
|
@import "theme.css";
|
||||||
|
|
||||||
* {
|
* {
|
||||||
all: initial;
|
min-height: 0;
|
||||||
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "theme.css";
|
/* ----------------------------------------------------- MAIN BACKGROUND --- */
|
||||||
@import "styles/fonts.css";
|
|
||||||
@import "styles/global.css";
|
window#waybar>box {
|
||||||
@import "styles/modules-center.css";
|
background: @main-bg;
|
||||||
@import "styles/modules-left.css";
|
margin: 2px;
|
||||||
@import "styles/modules-right.css";
|
}
|
||||||
@import "styles/states.css";
|
|
||||||
|
/* --------------------------------------------------------- DROP SHADOW --- */
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: @shadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------ TOOLTIPS --- */
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: @main-bg;
|
||||||
|
border: 1.5px solid @main-br;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: @main-fg;
|
||||||
|
margin: -1.5px 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------- WORKSPACE BUTTONS and LABELS --- */
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: @module-fg;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: none;
|
||||||
|
margin: 2px 0;
|
||||||
|
padding: 0 2px;
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
background: @hover-bg;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @active-fg;
|
||||||
|
background: @active-bg;
|
||||||
|
text-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
|
||||||
|
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.4);
|
||||||
|
margin: 2px;
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------- GENERAL --- */
|
||||||
|
|
||||||
|
#custom-ws,
|
||||||
|
#workspaces,
|
||||||
|
#window,
|
||||||
|
#custom-temperature,
|
||||||
|
#memory,
|
||||||
|
#cpu,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#clock,
|
||||||
|
#custom-wifi,
|
||||||
|
#custom-wireguard,
|
||||||
|
#bluetooth,
|
||||||
|
#custom-update,
|
||||||
|
#mpris,
|
||||||
|
#pulseaudio,
|
||||||
|
#backlight,
|
||||||
|
#battery,
|
||||||
|
#custom-power {
|
||||||
|
opacity: 1;
|
||||||
|
color: @module-fg;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-left1,
|
||||||
|
#custom-left2,
|
||||||
|
#custom-left3,
|
||||||
|
#custom-left4,
|
||||||
|
#custom-left5,
|
||||||
|
#custom-left6,
|
||||||
|
#custom-left7,
|
||||||
|
#custom-left8 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
text-shadow: -2px 0 2px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right1,
|
||||||
|
#custom-right2,
|
||||||
|
#custom-right3,
|
||||||
|
#custom-right4,
|
||||||
|
#custom-right5 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding-right: 3px;
|
||||||
|
text-shadow: 2px 0 2px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------- MODULES --- */
|
||||||
|
|
||||||
|
/* --------------------------------------------------------- window icon --- */
|
||||||
|
|
||||||
|
#custom-ws {
|
||||||
|
background: @main-bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-ws:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------- workspaces --- */
|
||||||
|
|
||||||
|
#custom-left1 {
|
||||||
|
color: @workspaces;
|
||||||
|
background: @main-bg;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background: @workspaces;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right1 {
|
||||||
|
color: @workspaces;
|
||||||
|
background: @main-bg;
|
||||||
|
text-shadow: 3px 0 2px rgba(0, 0, 0, 0.4);
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------- temperature --- */
|
||||||
|
|
||||||
|
#custom-paddc {
|
||||||
|
padding-right: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-left2 {
|
||||||
|
color: @temperature;
|
||||||
|
background: @main-bg;
|
||||||
|
padding-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-temperature {
|
||||||
|
background: @temperature;
|
||||||
|
padding: 0 0 0 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------- memory --- */
|
||||||
|
|
||||||
|
#custom-left3 {
|
||||||
|
color: @memory;
|
||||||
|
background: @temperature;
|
||||||
|
padding-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
background: @memory;
|
||||||
|
padding: 0 0 0 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory.warning {
|
||||||
|
color: @warning;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory.critical {
|
||||||
|
color: @critical;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------- cpu --- */
|
||||||
|
|
||||||
|
#custom-left4 {
|
||||||
|
color: @cpu;
|
||||||
|
background: @memory;
|
||||||
|
padding-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
background: @cpu;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-leftin1 {
|
||||||
|
color: @cpu;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------- distro icon --- */
|
||||||
|
|
||||||
|
#custom-left5 {
|
||||||
|
color: @distro-bg;
|
||||||
|
background: @main-bg;
|
||||||
|
text-shadow: none;
|
||||||
|
margin-bottom: -2px;
|
||||||
|
padding-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-distro {
|
||||||
|
color: @distro-fg;
|
||||||
|
background: @distro-bg;
|
||||||
|
margin: 0 -1px -2px 0;
|
||||||
|
padding: 0 0 0 3px;
|
||||||
|
text-shadow: 0 0 1.5px rgba(0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right2 {
|
||||||
|
color: @distro-bg;
|
||||||
|
background: @main-bg;
|
||||||
|
text-shadow: none;
|
||||||
|
margin-bottom: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------- time --- */
|
||||||
|
|
||||||
|
#custom-rightin1 {
|
||||||
|
color: @time;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background: @time;
|
||||||
|
padding: 0 0 0 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock.time {
|
||||||
|
background: @time;
|
||||||
|
margin-left: -2px;
|
||||||
|
padding: 0 3px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right3 {
|
||||||
|
color: @time;
|
||||||
|
background: @date;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------- date --- */
|
||||||
|
|
||||||
|
#clock.date {
|
||||||
|
background: @date;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock.date:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right4 {
|
||||||
|
color: @date;
|
||||||
|
background: @tray;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------- tray --- */
|
||||||
|
|
||||||
|
#custom-wifi {
|
||||||
|
background: @tray;
|
||||||
|
padding: 0 8px 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-wifi:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-wireguard {
|
||||||
|
background: @tray;
|
||||||
|
padding: 0 8px 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-wireguard:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
background: @tray;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-update {
|
||||||
|
padding-right: 8px;
|
||||||
|
background: @tray;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-update:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-right5 {
|
||||||
|
color: @tray;
|
||||||
|
background: @main-bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------- media info --- */
|
||||||
|
|
||||||
|
#mpris {
|
||||||
|
background: @main-bg;
|
||||||
|
padding: 0 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpris:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
output device
|
||||||
|
*/
|
||||||
|
|
||||||
|
#custom-left6 {
|
||||||
|
color: @pulseaudio;
|
||||||
|
background: @main-bg;
|
||||||
|
padding-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
background: @pulseaudio;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------- brightness --- */
|
||||||
|
|
||||||
|
#custom-left7 {
|
||||||
|
color: @backlight;
|
||||||
|
background: @pulseaudio;
|
||||||
|
padding-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background: @backlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------- battery --- */
|
||||||
|
|
||||||
|
#custom-left8 {
|
||||||
|
color: @battery;
|
||||||
|
background: @backlight;
|
||||||
|
padding-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: @module-fg;
|
||||||
|
background: @battery;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning {
|
||||||
|
color: @warning;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical {
|
||||||
|
color: @critical;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: @charging;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------- power button --- */
|
||||||
|
|
||||||
|
#custom-leftin2 {
|
||||||
|
color: @battery;
|
||||||
|
background: @main-bg;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
color: @main-bg;
|
||||||
|
background: @power;
|
||||||
|
text-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
|
||||||
|
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.6);
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 2px 4px 2px 0;
|
||||||
|
padding: 0 6px 0 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power:hover {
|
||||||
|
color: @hover-fg;
|
||||||
|
background: @hover-bg;
|
||||||
|
text-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------- FONT SIZES --- */
|
||||||
|
|
||||||
|
/*
|
||||||
|
NOTE: Be careful when changing font sizes, as they
|
||||||
|
can affect alignment.
|
||||||
|
|
||||||
|
Try adjusting whole numbers first, then refine with
|
||||||
|
decimals.
|
||||||
|
|
||||||
|
If you increase or decrease a value, make the same
|
||||||
|
change to all properties in this section to keep
|
||||||
|
the layout consistent.
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label,
|
||||||
|
#window label,
|
||||||
|
#mpris {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------- left and right arrows --- */
|
||||||
|
|
||||||
|
#custom-left1,
|
||||||
|
#custom-left2,
|
||||||
|
#custom-left3,
|
||||||
|
#custom-left4,
|
||||||
|
#custom-left5,
|
||||||
|
#custom-left6,
|
||||||
|
#custom-left7,
|
||||||
|
#custom-left8,
|
||||||
|
#custom-right1,
|
||||||
|
#custom-right2,
|
||||||
|
#custom-right3,
|
||||||
|
#custom-right4,
|
||||||
|
#custom-right5 {
|
||||||
|
font-size: 14.68px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------- left and right inverse --- */
|
||||||
|
|
||||||
|
#custom-leftin1,
|
||||||
|
#custom-leftin2,
|
||||||
|
#custom-rightin1 {
|
||||||
|
font-size: 15.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------- distro --- */
|
||||||
|
|
||||||
|
#custom-distro {
|
||||||
|
font-size: 14.6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-left5,
|
||||||
|
#custom-right2 {
|
||||||
|
font-size: 15.68px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Adjust these properties as well to keep the design
|
||||||
|
consistent.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 0 6px 0 9px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
* {
|
|
||||||
font-family: "0xProto Nerd Font";
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-user,
|
|
||||||
#window label,
|
|
||||||
#mpris,
|
|
||||||
tooltip label {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active label,
|
|
||||||
#custom-distro {
|
|
||||||
font-size: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-power_menu {
|
|
||||||
font-size: 19px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-left_div,
|
|
||||||
#custom-left_inv,
|
|
||||||
#custom-right_div,
|
|
||||||
#custom-right_inv {
|
|
||||||
font-size: 22px;
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
* {
|
|
||||||
color: @main-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
background-color: @outline;
|
|
||||||
}
|
|
||||||
#waybar > box {
|
|
||||||
margin: 4px;
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
border-radius: 16px;
|
|
||||||
min-width: 16px;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
button:hover {
|
|
||||||
background-color: @hover-bg;
|
|
||||||
color: @hover-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
border: 2px solid @main-br;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
tooltip > box {
|
|
||||||
padding: 0 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.module,
|
|
||||||
#custom-left_div,
|
|
||||||
#custom-left_inv,
|
|
||||||
#custom-right_div,
|
|
||||||
#custom-right_inv {
|
|
||||||
margin-bottom: -1px;
|
|
||||||
}
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
/*------------------
|
|
||||||
window count
|
|
||||||
------------------*/
|
|
||||||
|
|
||||||
#windowcount {
|
|
||||||
margin-right: 12px;
|
|
||||||
}
|
|
||||||
#windowcount label {
|
|
||||||
color: @hover-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-----------------
|
|
||||||
temperature
|
|
||||||
-----------------*/
|
|
||||||
|
|
||||||
#custom-left_div.2 {
|
|
||||||
color: @temperature;
|
|
||||||
}
|
|
||||||
#temperature {
|
|
||||||
background-color: @temperature;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*------------
|
|
||||||
memory
|
|
||||||
------------*/
|
|
||||||
|
|
||||||
#custom-left_div.3 {
|
|
||||||
background-color: @temperature;
|
|
||||||
color: @memory;
|
|
||||||
}
|
|
||||||
#memory {
|
|
||||||
background-color: @memory;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------
|
|
||||||
cpu
|
|
||||||
---------*/
|
|
||||||
|
|
||||||
#custom-left_div.4 {
|
|
||||||
background-color: @memory;
|
|
||||||
color: @cpu;
|
|
||||||
}
|
|
||||||
#cpu {
|
|
||||||
background-color: @cpu;
|
|
||||||
}
|
|
||||||
#custom-left_inv.1 {
|
|
||||||
color: @cpu;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-----------------
|
|
||||||
distro icon
|
|
||||||
-----------------*/
|
|
||||||
|
|
||||||
#custom-left_div.5,
|
|
||||||
#custom-right_div.2 {
|
|
||||||
color: @accent;
|
|
||||||
}
|
|
||||||
#custom-distro {
|
|
||||||
padding: 0 10px 0 5px;
|
|
||||||
background-color: @accent;
|
|
||||||
color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------
|
|
||||||
idle inhibitor
|
|
||||||
--------------------*/
|
|
||||||
|
|
||||||
#custom-right_inv.1 {
|
|
||||||
color: @time;
|
|
||||||
}
|
|
||||||
#idle_inhibitor {
|
|
||||||
background-color: @time;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------
|
|
||||||
time
|
|
||||||
----------*/
|
|
||||||
|
|
||||||
#clock.time {
|
|
||||||
padding-right: 6px;
|
|
||||||
background-color: @time;
|
|
||||||
}
|
|
||||||
#custom-right_div.3 {
|
|
||||||
background-color: @date;
|
|
||||||
color: @time;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------
|
|
||||||
date
|
|
||||||
----------*/
|
|
||||||
|
|
||||||
#clock.date {
|
|
||||||
padding-left: 6px;
|
|
||||||
background-color: @date;
|
|
||||||
}
|
|
||||||
#custom-right_div.4 {
|
|
||||||
background-color: @tray;
|
|
||||||
color: @date;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-----------------
|
|
||||||
system tray
|
|
||||||
-----------------*/
|
|
||||||
|
|
||||||
#network {
|
|
||||||
background-color: @tray;
|
|
||||||
padding: 0 6px 0 4px;
|
|
||||||
}
|
|
||||||
#bluetooth {
|
|
||||||
background-color: @tray;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
#custom-system_update {
|
|
||||||
background-color: @tray;
|
|
||||||
padding: 0 8px 0 2px;
|
|
||||||
}
|
|
||||||
#custom-right_div.5 {
|
|
||||||
color: @tray;
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/*--------------
|
|
||||||
username
|
|
||||||
--------------*/
|
|
||||||
|
|
||||||
#custom-user {
|
|
||||||
padding-right: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
workspaces
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
#custom-left_div.1,
|
|
||||||
#custom-right_div.1 {
|
|
||||||
color: @workspaces;
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
padding: 0 1px;
|
|
||||||
background-color: @workspaces;
|
|
||||||
}
|
|
||||||
#workspaces button.active label {
|
|
||||||
color: @accent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*------------------
|
|
||||||
window title
|
|
||||||
------------------*/
|
|
||||||
|
|
||||||
#window {
|
|
||||||
margin-left: 12px;
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
/*----------------
|
|
||||||
media info
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
#mpris {
|
|
||||||
padding: 0 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*------------
|
|
||||||
volume
|
|
||||||
------------*/
|
|
||||||
|
|
||||||
#custom-left_div.6 {
|
|
||||||
color: @volume;
|
|
||||||
}
|
|
||||||
#pulseaudio,
|
|
||||||
#wireplumber {
|
|
||||||
background-color: @volume;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
brightness
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
#custom-left_div.7 {
|
|
||||||
background-color: @volume;
|
|
||||||
color: @backlight;
|
|
||||||
}
|
|
||||||
#backlight {
|
|
||||||
background-color: @backlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-------------
|
|
||||||
battery
|
|
||||||
-------------*/
|
|
||||||
|
|
||||||
#custom-left_div.8 {
|
|
||||||
background-color: @backlight;
|
|
||||||
color: @battery;
|
|
||||||
}
|
|
||||||
#battery {
|
|
||||||
background-color: @battery;
|
|
||||||
}
|
|
||||||
#custom-left_inv.2 {
|
|
||||||
color: @battery;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
power menu
|
|
||||||
----------------*/
|
|
||||||
|
|
||||||
#custom-power_menu {
|
|
||||||
border-radius: 16px;
|
|
||||||
padding: 0 19px 0 16px;
|
|
||||||
color: @accent;
|
|
||||||
}
|
|
||||||
#custom-power_menu:hover {
|
|
||||||
background-color: @hover-bg;
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#custom-trigger:hover,
|
|
||||||
#idle_inhibitor:hover,
|
|
||||||
#clock.date:hover,
|
|
||||||
#network:hover,
|
|
||||||
#bluetooth:hover,
|
|
||||||
#custom-system_update:hover,
|
|
||||||
#mpris:hover,
|
|
||||||
#pulseaudio:hover,
|
|
||||||
#wireplumber:hover {
|
|
||||||
color: @hover-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* inactive state */
|
|
||||||
#idle_inhibitor.deactivated,
|
|
||||||
#mpris.paused,
|
|
||||||
#pulseaudio.output.muted,
|
|
||||||
#pulseaudio.input.source-muted,
|
|
||||||
#wireplumber.muted {
|
|
||||||
color: @hover-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory.warning,
|
|
||||||
#cpu.warning,
|
|
||||||
#battery.warning {
|
|
||||||
color: @warning;
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature.critical,
|
|
||||||
#memory.critical,
|
|
||||||
#cpu.critical,
|
|
||||||
#battery.critical {
|
|
||||||
color: @critical;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging {
|
|
||||||
color: @charging;
|
|
||||||
}
|
|
||||||
108
waybar/theme.css
108
waybar/theme.css
@@ -1,32 +1,30 @@
|
|||||||
/* Gruvbox Dark */
|
/* Custom Theme - Warm Muted with Orange Accents */
|
||||||
|
@define-color bg0_h #1c1c1f;
|
||||||
@define-color bg0_h #1d2021;
|
@define-color bg0 #1c1c1f;
|
||||||
@define-color bg0 #282828;
|
@define-color bg1 #252529;
|
||||||
@define-color bg1 #3c3836;
|
@define-color bg2 #2d2d33;
|
||||||
@define-color bg2 #504945;
|
@define-color bg3 #35353d;
|
||||||
@define-color bg3 #665c54;
|
@define-color bg4 #3d3d47;
|
||||||
@define-color bg4 #7c6f64;
|
@define-color gray #6d6860;
|
||||||
@define-color gray #928374;
|
@define-color fg4 #7d7972;
|
||||||
@define-color fg4 #a89984;
|
@define-color fg3 #8a8580;
|
||||||
@define-color fg3 #bdae93;
|
@define-color fg2 #ff9100;
|
||||||
@define-color fg2 #d5c4a1;
|
@define-color fg1 #b39a76;
|
||||||
@define-color fg1 #ebdbb2;
|
@define-color fg0 #c9b08a;
|
||||||
@define-color fg0 #fbf1c7;
|
@define-color red #ff0000;
|
||||||
@define-color red #cc241d;
|
@define-color bright_red #ff0000;
|
||||||
@define-color bright_red #fb4934;
|
@define-color green #ff9100;
|
||||||
@define-color green #98971a;
|
@define-color bright_green #b39a76;
|
||||||
@define-color bright_green #b8bb26;
|
@define-color yellow #ff9100;
|
||||||
@define-color yellow #d79921;
|
@define-color bright_yellow #ff9100;
|
||||||
@define-color bright_yellow #fabd2f;
|
@define-color blue #ff9100;
|
||||||
@define-color blue #458588;
|
@define-color bright_blue #b39a76;
|
||||||
@define-color bright_blue #83a598;
|
@define-color purple #ff9100;
|
||||||
@define-color purple #b16286;
|
@define-color bright_purple #b39a76;
|
||||||
@define-color bright_purple #d3869b;
|
@define-color aqua #ff9100;
|
||||||
@define-color aqua #689d6a;
|
@define-color bright_aqua #b39a76;
|
||||||
@define-color bright_aqua #8ec07c;
|
@define-color orange #ff9100;
|
||||||
@define-color orange #d65d0e;
|
@define-color bright_orange #ff9100;
|
||||||
@define-color bright_orange #fe8019;
|
|
||||||
|
|
||||||
@define-color white #ffffff;
|
@define-color white #ffffff;
|
||||||
@define-color black #000000;
|
@define-color black #000000;
|
||||||
|
|
||||||
@@ -37,40 +35,32 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Main Colors */
|
/* Main Colors */
|
||||||
|
@define-color shadow shade(@bg0_h, 0.5);
|
||||||
@define-color outline shade(@bg0_h, 0.5);
|
@define-color main-fg @fg2;
|
||||||
@define-color accent @orange;
|
|
||||||
@define-color main-fg @fg0;
|
|
||||||
@define-color main-bg @bg0_h;
|
@define-color main-bg @bg0_h;
|
||||||
@define-color main-br @fg0;
|
@define-color main-br @fg2;
|
||||||
|
@define-color active-bg @orange;
|
||||||
@define-color active-bg @yellow;
|
@define-color active-fg @black;
|
||||||
@define-color active-fg @bg0_h;
|
|
||||||
|
|
||||||
@define-color hover-bg @bg2;
|
@define-color hover-bg @bg2;
|
||||||
@define-color hover-fg alpha(@fg0, 0.75);
|
@define-color hover-fg @fg1;
|
||||||
|
|
||||||
/* Module Colors */
|
/* Module Colors */
|
||||||
|
@define-color module-fg @fg2;
|
||||||
@define-color module-fg @fg0;
|
@define-color workspaces @bg1;
|
||||||
@define-color workspaces @bg0;
|
@define-color temperature @bg1;
|
||||||
|
@define-color memory @bg2;
|
||||||
@define-color temperature @bg0;
|
@define-color cpu @bg3;
|
||||||
@define-color memory @bg1;
|
|
||||||
@define-color cpu @bg2;
|
|
||||||
@define-color distro-fg @black;
|
@define-color distro-fg @black;
|
||||||
@define-color distro-bg @yellow;
|
@define-color distro-bg @orange;
|
||||||
@define-color time @bg2;
|
@define-color time @bg3;
|
||||||
@define-color date @bg1;
|
@define-color date @bg2;
|
||||||
@define-color tray @bg0;
|
@define-color tray @bg1;
|
||||||
|
@define-color pulseaudio @bg1;
|
||||||
@define-color pulseaudio @bg0;
|
@define-color backlight @bg2;
|
||||||
@define-color backlight @bg1;
|
@define-color battery @bg3;
|
||||||
@define-color battery @bg2;
|
@define-color power @orange;
|
||||||
@define-color power @yellow;
|
|
||||||
|
|
||||||
/* State Colors */
|
/* State Colors */
|
||||||
|
@define-color warning @orange;
|
||||||
@define-color warning @bright_orange;
|
@define-color critical @red;
|
||||||
@define-color critical @bright_red;
|
@define-color charging @fg2;
|
||||||
@define-color charging @fg0;
|
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
/* catppuccin-frappe */
|
|
||||||
|
|
||||||
@define-color rosewater #f2d5cf;
|
|
||||||
@define-color flamingo #eebebe;
|
|
||||||
@define-color pink #f4b8e4;
|
|
||||||
@define-color mauve #ca9ee6;
|
|
||||||
@define-color red #e78284;
|
|
||||||
@define-color maroon #ea999c;
|
|
||||||
@define-color peach #ef9f76;
|
|
||||||
@define-color yellow #e5c890;
|
|
||||||
@define-color green #a6d189;
|
|
||||||
@define-color teal #81c8be;
|
|
||||||
@define-color sky #99d1db;
|
|
||||||
@define-color sapphire #85c1dc;
|
|
||||||
@define-color blue #8caaee;
|
|
||||||
@define-color lavender #babbf1;
|
|
||||||
@define-color text #c6d0f5;
|
|
||||||
@define-color subtext1 #b5bfe2;
|
|
||||||
@define-color subtext0 #a5adce;
|
|
||||||
@define-color overlay2 #949cbb;
|
|
||||||
@define-color overlay1 #838ba7;
|
|
||||||
@define-color overlay0 #737994;
|
|
||||||
@define-color surface2 #626880;
|
|
||||||
@define-color surface1 #51576d;
|
|
||||||
@define-color surface0 #414559;
|
|
||||||
@define-color base #303446;
|
|
||||||
@define-color mantle #292c3c;
|
|
||||||
@define-color crust #232634;
|
|
||||||
|
|
||||||
/*
|
|
||||||
br - border
|
|
||||||
bg - background
|
|
||||||
fg - foreground
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* main colors */
|
|
||||||
|
|
||||||
@define-color accent @lavender;
|
|
||||||
@define-color main-br @subtext0;
|
|
||||||
@define-color main-bg @crust;
|
|
||||||
@define-color main-fg @text;
|
|
||||||
@define-color hover-bg @base;
|
|
||||||
@define-color hover-fg alpha(@main-fg, 0.75);
|
|
||||||
@define-color outline shade(@main-bg, 0.5);
|
|
||||||
|
|
||||||
/* module colors */
|
|
||||||
|
|
||||||
@define-color workspaces @mantle;
|
|
||||||
@define-color temperature @mantle;
|
|
||||||
@define-color memory @base;
|
|
||||||
@define-color cpu @surface0;
|
|
||||||
@define-color time @surface0;
|
|
||||||
@define-color date @base;
|
|
||||||
@define-color tray @mantle;
|
|
||||||
@define-color volume @mantle;
|
|
||||||
@define-color backlight @base;
|
|
||||||
@define-color battery @surface0;
|
|
||||||
|
|
||||||
/* state colors */
|
|
||||||
|
|
||||||
@define-color warning @yellow;
|
|
||||||
@define-color critical @red;
|
|
||||||
@define-color charging @green;
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
/* catppuccin-latte */
|
|
||||||
|
|
||||||
@define-color rosewater #dc8a78;
|
|
||||||
@define-color flamingo #dd7878;
|
|
||||||
@define-color pink #ea76cb;
|
|
||||||
@define-color mauve #8839ef;
|
|
||||||
@define-color red #d20f39;
|
|
||||||
@define-color maroon #e64553;
|
|
||||||
@define-color peach #fe640b;
|
|
||||||
@define-color yellow #df8e1d;
|
|
||||||
@define-color green #40a02b;
|
|
||||||
@define-color teal #179299;
|
|
||||||
@define-color sky #04a5e5;
|
|
||||||
@define-color sapphire #209fb5;
|
|
||||||
@define-color blue #1e66f5;
|
|
||||||
@define-color lavender #7287fd;
|
|
||||||
@define-color text #4c4f69;
|
|
||||||
@define-color subtext1 #5c5f77;
|
|
||||||
@define-color subtext0 #6c6f85;
|
|
||||||
@define-color overlay2 #7c7f93;
|
|
||||||
@define-color overlay1 #8c8fa1;
|
|
||||||
@define-color overlay0 #9ca0b0;
|
|
||||||
@define-color surface2 #acb0be;
|
|
||||||
@define-color surface1 #bcc0cc;
|
|
||||||
@define-color surface0 #ccd0da;
|
|
||||||
@define-color base #eff1f5;
|
|
||||||
@define-color mantle #e6e9ef;
|
|
||||||
@define-color crust #dce0e8;
|
|
||||||
|
|
||||||
/*
|
|
||||||
br - border
|
|
||||||
bg - background
|
|
||||||
fg - foreground
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* main colors */
|
|
||||||
|
|
||||||
@define-color accent @lavender;
|
|
||||||
@define-color main-br @subtext0;
|
|
||||||
@define-color main-bg @crust;
|
|
||||||
@define-color main-fg @text;
|
|
||||||
@define-color hover-bg @base;
|
|
||||||
@define-color hover-fg alpha(@main-fg, 0.75);
|
|
||||||
@define-color outline shade(@main-bg, 0.5);
|
|
||||||
|
|
||||||
/* module colors */
|
|
||||||
|
|
||||||
@define-color workspaces @mantle;
|
|
||||||
@define-color temperature @mantle;
|
|
||||||
@define-color memory @base;
|
|
||||||
@define-color cpu @surface0;
|
|
||||||
@define-color time @surface0;
|
|
||||||
@define-color date @base;
|
|
||||||
@define-color tray @mantle;
|
|
||||||
@define-color volume @mantle;
|
|
||||||
@define-color backlight @base;
|
|
||||||
@define-color battery @surface0;
|
|
||||||
|
|
||||||
/* state colors */
|
|
||||||
|
|
||||||
@define-color warning @yellow;
|
|
||||||
@define-color critical @red;
|
|
||||||
@define-color charging @green;
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
/* catppuccin-macchiato */
|
|
||||||
|
|
||||||
@define-color rosewater #f4dbd6;
|
|
||||||
@define-color flamingo #f0c6c6;
|
|
||||||
@define-color pink #f5bde6;
|
|
||||||
@define-color mauve #c6a0f6;
|
|
||||||
@define-color red #ed8796;
|
|
||||||
@define-color maroon #ee99a0;
|
|
||||||
@define-color peach #f5a97f;
|
|
||||||
@define-color yellow #eed49f;
|
|
||||||
@define-color green #a6da95;
|
|
||||||
@define-color teal #8bd5ca;
|
|
||||||
@define-color sky #91d7e3;
|
|
||||||
@define-color sapphire #7dc4e4;
|
|
||||||
@define-color blue #8aadf4;
|
|
||||||
@define-color lavender #b7bdf8;
|
|
||||||
@define-color text #cad3f5;
|
|
||||||
@define-color subtext1 #b8c0e0;
|
|
||||||
@define-color subtext0 #a5adcb;
|
|
||||||
@define-color overlay2 #939ab7;
|
|
||||||
@define-color overlay1 #8087a2;
|
|
||||||
@define-color overlay0 #6e738d;
|
|
||||||
@define-color surface2 #5b6078;
|
|
||||||
@define-color surface1 #494d64;
|
|
||||||
@define-color surface0 #363a4f;
|
|
||||||
@define-color base #24273a;
|
|
||||||
@define-color mantle #1e2030;
|
|
||||||
@define-color crust #181926;
|
|
||||||
|
|
||||||
/*
|
|
||||||
br - border
|
|
||||||
bg - background
|
|
||||||
fg - foreground
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* main colors */
|
|
||||||
|
|
||||||
@define-color accent @lavender;
|
|
||||||
@define-color main-br @subtext0;
|
|
||||||
@define-color main-bg @crust;
|
|
||||||
@define-color main-fg @text;
|
|
||||||
@define-color hover-bg @base;
|
|
||||||
@define-color hover-fg alpha(@main-fg, 0.75);
|
|
||||||
@define-color outline shade(@main-bg, 0.5);
|
|
||||||
|
|
||||||
/* module colors */
|
|
||||||
|
|
||||||
@define-color workspaces @mantle;
|
|
||||||
@define-color temperature @mantle;
|
|
||||||
@define-color memory @base;
|
|
||||||
@define-color cpu @surface0;
|
|
||||||
@define-color time @surface0;
|
|
||||||
@define-color date @base;
|
|
||||||
@define-color tray @mantle;
|
|
||||||
@define-color volume @mantle;
|
|
||||||
@define-color backlight @base;
|
|
||||||
@define-color battery @surface0;
|
|
||||||
|
|
||||||
/* state colors */
|
|
||||||
|
|
||||||
@define-color warning @yellow;
|
|
||||||
@define-color critical @red;
|
|
||||||
@define-color charging @green;
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
/* catppuccin-mocha */
|
|
||||||
|
|
||||||
@define-color rosewater #f5e0dc;
|
|
||||||
@define-color flamingo #f2cdcd;
|
|
||||||
@define-color pink #f5c2e7;
|
|
||||||
@define-color mauve #cba6f7;
|
|
||||||
@define-color red #f38ba8;
|
|
||||||
@define-color maroon #eba0ac;
|
|
||||||
@define-color peach #fab387;
|
|
||||||
@define-color yellow #f9e2af;
|
|
||||||
@define-color green #a6e3a1;
|
|
||||||
@define-color teal #94e2d5;
|
|
||||||
@define-color sky #89dceb;
|
|
||||||
@define-color sapphire #74c7ec;
|
|
||||||
@define-color blue #89b4fa;
|
|
||||||
@define-color lavender #b4befe;
|
|
||||||
@define-color text #cdd6f4;
|
|
||||||
@define-color subtext1 #bac2de;
|
|
||||||
@define-color subtext0 #a6adc8;
|
|
||||||
@define-color overlay2 #9399b2;
|
|
||||||
@define-color overlay1 #7f849c;
|
|
||||||
@define-color overlay0 #6c7086;
|
|
||||||
@define-color surface2 #585b70;
|
|
||||||
@define-color surface1 #45475a;
|
|
||||||
@define-color surface0 #313244;
|
|
||||||
@define-color base #1e1e2e;
|
|
||||||
@define-color mantle #181825;
|
|
||||||
@define-color crust #11111b;
|
|
||||||
|
|
||||||
/*
|
|
||||||
br - border
|
|
||||||
bg - background
|
|
||||||
fg - foreground
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* main colors */
|
|
||||||
|
|
||||||
@define-color accent @lavender;
|
|
||||||
@define-color main-br @subtext0;
|
|
||||||
@define-color main-bg @crust;
|
|
||||||
@define-color main-fg @text;
|
|
||||||
@define-color hover-bg @base;
|
|
||||||
@define-color hover-fg alpha(@main-fg, 0.75);
|
|
||||||
@define-color outline shade(@main-bg, 0.5);
|
|
||||||
|
|
||||||
/* module colors */
|
|
||||||
|
|
||||||
@define-color workspaces @mantle;
|
|
||||||
@define-color temperature @mantle;
|
|
||||||
@define-color memory @base;
|
|
||||||
@define-color cpu @surface0;
|
|
||||||
@define-color time @surface0;
|
|
||||||
@define-color date @base;
|
|
||||||
@define-color tray @mantle;
|
|
||||||
@define-color volume @mantle;
|
|
||||||
@define-color backlight @base;
|
|
||||||
@define-color battery @surface0;
|
|
||||||
|
|
||||||
/* state colors */
|
|
||||||
|
|
||||||
@define-color warning @yellow;
|
|
||||||
@define-color critical @red;
|
|
||||||
@define-color charging @green;
|
|
||||||
75
waybar/themes/css/catppuccin-frappe.css
Normal file
75
waybar/themes/css/catppuccin-frappe.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Catppuccin Frappe */
|
||||||
|
|
||||||
|
@define-color rosewater #f2d5cf;
|
||||||
|
@define-color flamingo #eebebe;
|
||||||
|
@define-color pink #f4b8e4;
|
||||||
|
@define-color mauve #ca9ee6;
|
||||||
|
@define-color red #e78284;
|
||||||
|
@define-color maroon #ea999c;
|
||||||
|
@define-color peach #ef9f76;
|
||||||
|
@define-color yellow #e5c890;
|
||||||
|
@define-color green #a6d189;
|
||||||
|
@define-color teal #81c8be;
|
||||||
|
@define-color sky #99d1db;
|
||||||
|
@define-color sapphire #85c1dc;
|
||||||
|
@define-color blue #8caaee;
|
||||||
|
@define-color lavender #babbf1;
|
||||||
|
@define-color text #c6d0f5;
|
||||||
|
@define-color subtext1 #b5bfe2;
|
||||||
|
@define-color subtext0 #a5adce;
|
||||||
|
@define-color overlay2 #949cbb;
|
||||||
|
@define-color overlay1 #838ba7;
|
||||||
|
@define-color overlay0 #737994;
|
||||||
|
@define-color surface2 #626880;
|
||||||
|
@define-color surface1 #51576d;
|
||||||
|
@define-color surface0 #414559;
|
||||||
|
@define-color base #303446;
|
||||||
|
@define-color mantle #292c3c;
|
||||||
|
@define-color crust #232634;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@crust, 0.5);
|
||||||
|
@define-color main-fg @text;
|
||||||
|
@define-color main-bg @crust;
|
||||||
|
@define-color main-br @text;
|
||||||
|
|
||||||
|
@define-color active-bg @overlay2;
|
||||||
|
@define-color active-fg @crust;
|
||||||
|
|
||||||
|
@define-color hover-bg @surface0;
|
||||||
|
@define-color hover-fg alpha(@text, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @text;
|
||||||
|
@define-color workspaces @mantle;
|
||||||
|
|
||||||
|
@define-color temperature @mantle;
|
||||||
|
@define-color memory @base;
|
||||||
|
@define-color cpu @surface0;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @overlay2;
|
||||||
|
@define-color time @surface0;
|
||||||
|
@define-color date @base;
|
||||||
|
@define-color tray @mantle;
|
||||||
|
|
||||||
|
@define-color pulseaudio @mantle;
|
||||||
|
@define-color backlight @base;
|
||||||
|
@define-color battery @surface0;
|
||||||
|
@define-color power @overlay2;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @yellow;
|
||||||
|
@define-color critical @red;
|
||||||
|
@define-color charging @text;
|
||||||
75
waybar/themes/css/catppuccin-latte.css
Normal file
75
waybar/themes/css/catppuccin-latte.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Catppuccin Latte */
|
||||||
|
|
||||||
|
@define-color rosewater #dc8a78;
|
||||||
|
@define-color flamingo #dd7878;
|
||||||
|
@define-color pink #ea76cb;
|
||||||
|
@define-color mauve #8839ef;
|
||||||
|
@define-color red #d20f39;
|
||||||
|
@define-color maroon #e64553;
|
||||||
|
@define-color peach #fe640b;
|
||||||
|
@define-color yellow #df8e1d;
|
||||||
|
@define-color green #40a02b;
|
||||||
|
@define-color teal #179299;
|
||||||
|
@define-color sky #04a5e5;
|
||||||
|
@define-color sapphire #209fb5;
|
||||||
|
@define-color blue #1e66f5;
|
||||||
|
@define-color lavender #7287fd;
|
||||||
|
@define-color text #4c4f69;
|
||||||
|
@define-color subtext1 #5c5f77;
|
||||||
|
@define-color subtext0 #6c6f85;
|
||||||
|
@define-color overlay2 #7c7f93;
|
||||||
|
@define-color overlay1 #8c8fa1;
|
||||||
|
@define-color overlay0 #9ca0b0;
|
||||||
|
@define-color surface2 #acb0be;
|
||||||
|
@define-color surface1 #bcc0cc;
|
||||||
|
@define-color surface0 #ccd0da;
|
||||||
|
@define-color base #eff1f5;
|
||||||
|
@define-color mantle #e6e9ef;
|
||||||
|
@define-color crust #dce0e8;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@crust, 0.5);
|
||||||
|
@define-color main-fg @text;
|
||||||
|
@define-color main-bg @crust;
|
||||||
|
@define-color main-br @text;
|
||||||
|
|
||||||
|
@define-color active-bg @overlay2;
|
||||||
|
@define-color active-fg @crust;
|
||||||
|
|
||||||
|
@define-color hover-bg @surface0;
|
||||||
|
@define-color hover-fg alpha(@text, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @text;
|
||||||
|
@define-color workspaces @mantle;
|
||||||
|
|
||||||
|
@define-color temperature @mantle;
|
||||||
|
@define-color memory @base;
|
||||||
|
@define-color cpu @surface0;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @overlay2;
|
||||||
|
@define-color time @surface0;
|
||||||
|
@define-color date @base;
|
||||||
|
@define-color tray @mantle;
|
||||||
|
|
||||||
|
@define-color pulseaudio @mantle;
|
||||||
|
@define-color backlight @base;
|
||||||
|
@define-color battery @surface0;
|
||||||
|
@define-color power @overlay2;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @yellow;
|
||||||
|
@define-color critical @red;
|
||||||
|
@define-color charging @text;
|
||||||
75
waybar/themes/css/catppuccin-macchiato.css
Normal file
75
waybar/themes/css/catppuccin-macchiato.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Catppuccin Macchiato */
|
||||||
|
|
||||||
|
@define-color rosewater #f4dbd6;
|
||||||
|
@define-color flamingo #f0c6c6;
|
||||||
|
@define-color pink #f5bde6;
|
||||||
|
@define-color mauve #c6a0f6;
|
||||||
|
@define-color red #ed8796;
|
||||||
|
@define-color maroon #ee99a0;
|
||||||
|
@define-color peach #f5a97f;
|
||||||
|
@define-color yellow #eed49f;
|
||||||
|
@define-color green #a6da95;
|
||||||
|
@define-color teal #8bd5ca;
|
||||||
|
@define-color sky #91d7e3;
|
||||||
|
@define-color sapphire #7dc4e4;
|
||||||
|
@define-color blue #8aadf4;
|
||||||
|
@define-color lavender #b7bdf8;
|
||||||
|
@define-color text #cad3f5;
|
||||||
|
@define-color subtext1 #b8c0e0;
|
||||||
|
@define-color subtext0 #a5adcb;
|
||||||
|
@define-color overlay2 #939ab7;
|
||||||
|
@define-color overlay1 #8087a2;
|
||||||
|
@define-color overlay0 #6e738d;
|
||||||
|
@define-color surface2 #5b6078;
|
||||||
|
@define-color surface1 #494d64;
|
||||||
|
@define-color surface0 #363a4f;
|
||||||
|
@define-color base #24273a;
|
||||||
|
@define-color mantle #1e2030;
|
||||||
|
@define-color crust #181926;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@crust, 0.5);
|
||||||
|
@define-color main-fg @text;
|
||||||
|
@define-color main-bg @crust;
|
||||||
|
@define-color main-br @text;
|
||||||
|
|
||||||
|
@define-color active-bg @overlay2;
|
||||||
|
@define-color active-fg @crust;
|
||||||
|
|
||||||
|
@define-color hover-bg @surface0;
|
||||||
|
@define-color hover-fg alpha(@text, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @text;
|
||||||
|
@define-color workspaces @mantle;
|
||||||
|
|
||||||
|
@define-color temperature @mantle;
|
||||||
|
@define-color memory @base;
|
||||||
|
@define-color cpu @surface0;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @overlay2;
|
||||||
|
@define-color time @surface0;
|
||||||
|
@define-color date @base;
|
||||||
|
@define-color tray @mantle;
|
||||||
|
|
||||||
|
@define-color pulseaudio @mantle;
|
||||||
|
@define-color backlight @base;
|
||||||
|
@define-color battery @surface0;
|
||||||
|
@define-color power @overlay2;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @yellow;
|
||||||
|
@define-color critical @red;
|
||||||
|
@define-color charging @text;
|
||||||
75
waybar/themes/css/catppuccin-mocha.css
Normal file
75
waybar/themes/css/catppuccin-mocha.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Catppuccin Mocha */
|
||||||
|
|
||||||
|
@define-color rosewater #f5e0dc;
|
||||||
|
@define-color flamingo #f2cdcd;
|
||||||
|
@define-color pink #f5c2e7;
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color maroon #eba0ac;
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color teal #94e2d5;
|
||||||
|
@define-color sky #89dceb;
|
||||||
|
@define-color sapphire #74c7ec;
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color overlay2 #9399b2;
|
||||||
|
@define-color overlay1 #7f849c;
|
||||||
|
@define-color overlay0 #6c7086;
|
||||||
|
@define-color surface2 #585b70;
|
||||||
|
@define-color surface1 #45475a;
|
||||||
|
@define-color surface0 #313244;
|
||||||
|
@define-color base #1e1e2e;
|
||||||
|
@define-color mantle #181825;
|
||||||
|
@define-color crust #11111b;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@crust, 0.5);
|
||||||
|
@define-color main-fg @text;
|
||||||
|
@define-color main-bg @crust;
|
||||||
|
@define-color main-br @text;
|
||||||
|
|
||||||
|
@define-color active-bg @overlay2;
|
||||||
|
@define-color active-fg @crust;
|
||||||
|
|
||||||
|
@define-color hover-bg @surface0;
|
||||||
|
@define-color hover-fg alpha(@text, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @text;
|
||||||
|
@define-color workspaces @mantle;
|
||||||
|
|
||||||
|
@define-color temperature @mantle;
|
||||||
|
@define-color memory @base;
|
||||||
|
@define-color cpu @surface0;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @overlay2;
|
||||||
|
@define-color time @surface0;
|
||||||
|
@define-color date @base;
|
||||||
|
@define-color tray @mantle;
|
||||||
|
|
||||||
|
@define-color pulseaudio @mantle;
|
||||||
|
@define-color backlight @base;
|
||||||
|
@define-color battery @surface0;
|
||||||
|
@define-color power @overlay2;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @yellow;
|
||||||
|
@define-color critical @red;
|
||||||
|
@define-color charging @text;
|
||||||
@@ -38,8 +38,7 @@
|
|||||||
|
|
||||||
/* Main Colors */
|
/* Main Colors */
|
||||||
|
|
||||||
@define-color outline shade(@bg0_h, 0.5);
|
@define-color shadow shade(@bg0_h, 0.5);
|
||||||
@define-color accent @orange;
|
|
||||||
@define-color main-fg @fg0;
|
@define-color main-fg @fg0;
|
||||||
@define-color main-bg @bg0_h;
|
@define-color main-bg @bg0_h;
|
||||||
@define-color main-br @fg0;
|
@define-color main-br @fg0;
|
||||||
75
waybar/themes/css/gruvbox-light.css
Normal file
75
waybar/themes/css/gruvbox-light.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Gruvbox Light */
|
||||||
|
|
||||||
|
@define-color bg0_h #f9f5d7;
|
||||||
|
@define-color bg0 #fbf1c7;
|
||||||
|
@define-color bg1 #ebdbb2;
|
||||||
|
@define-color bg2 #d5c4a1;
|
||||||
|
@define-color bg3 #bdae93;
|
||||||
|
@define-color bg4 #a89984;
|
||||||
|
@define-color gray #928374;
|
||||||
|
@define-color fg4 #7c6f64;
|
||||||
|
@define-color fg3 #665c54;
|
||||||
|
@define-color fg2 #504945;
|
||||||
|
@define-color fg1 #3c3836;
|
||||||
|
@define-color fg0 #282828;
|
||||||
|
@define-color red #cc241d;
|
||||||
|
@define-color bright_red #9d0006;
|
||||||
|
@define-color green #98971a;
|
||||||
|
@define-color bright_green #79740e;
|
||||||
|
@define-color yellow #d79921;
|
||||||
|
@define-color bright_yellow #b57614;
|
||||||
|
@define-color blue #458588;
|
||||||
|
@define-color bright_blue #076678;
|
||||||
|
@define-color purple #b16286;
|
||||||
|
@define-color bright_purple #8f3f71;
|
||||||
|
@define-color aqua #689d6a;
|
||||||
|
@define-color bright_aqua #427b58;
|
||||||
|
@define-color orange #d65d0e;
|
||||||
|
@define-color bright_orange #af3a03;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@bg0_h, 0.5);
|
||||||
|
@define-color main-fg @fg0;
|
||||||
|
@define-color main-bg @bg0_h;
|
||||||
|
@define-color main-br @fg0;
|
||||||
|
|
||||||
|
@define-color active-bg @yellow;
|
||||||
|
@define-color active-fg @bg0_h;
|
||||||
|
|
||||||
|
@define-color hover-bg @bg2;
|
||||||
|
@define-color hover-fg alpha(@fg0, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @fg0;
|
||||||
|
@define-color workspaces @bg0;
|
||||||
|
|
||||||
|
@define-color temperature @bg0;
|
||||||
|
@define-color memory @bg1;
|
||||||
|
@define-color cpu @bg2;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @yellow;
|
||||||
|
@define-color time @bg2;
|
||||||
|
@define-color date @bg1;
|
||||||
|
@define-color tray @bg0;
|
||||||
|
|
||||||
|
@define-color pulseaudio @bg0;
|
||||||
|
@define-color backlight @bg1;
|
||||||
|
@define-color battery @bg2;
|
||||||
|
@define-color power @yellow;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @bright_orange;
|
||||||
|
@define-color critical @bright_red;
|
||||||
|
@define-color charging @fg0;
|
||||||
1
waybar/themes/current-theme
Normal file
1
waybar/themes/current-theme
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/home/saeijou/.config/waybar/themes/css/gruvbox-dark.css
|
||||||
75
waybar/themes/gruvbox-theme.css
Normal file
75
waybar/themes/gruvbox-theme.css
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/* Gruvbox Dark */
|
||||||
|
|
||||||
|
@define-color bg0_h #1d2021;
|
||||||
|
@define-color bg0 #282828;
|
||||||
|
@define-color bg1 #3c3836;
|
||||||
|
@define-color bg2 #504945;
|
||||||
|
@define-color bg3 #665c54;
|
||||||
|
@define-color bg4 #7c6f64;
|
||||||
|
@define-color gray #928374;
|
||||||
|
@define-color fg4 #a89984;
|
||||||
|
@define-color fg3 #bdae93;
|
||||||
|
@define-color fg2 #d5c4a1;
|
||||||
|
@define-color fg1 #ebdbb2;
|
||||||
|
@define-color fg0 #fbf1c7;
|
||||||
|
@define-color red #cc241d;
|
||||||
|
@define-color bright_red #fb4934;
|
||||||
|
@define-color green #98971a;
|
||||||
|
@define-color bright_green #b8bb26;
|
||||||
|
@define-color yellow #d79921;
|
||||||
|
@define-color bright_yellow #fabd2f;
|
||||||
|
@define-color blue #458588;
|
||||||
|
@define-color bright_blue #83a598;
|
||||||
|
@define-color purple #b16286;
|
||||||
|
@define-color bright_purple #d3869b;
|
||||||
|
@define-color aqua #689d6a;
|
||||||
|
@define-color bright_aqua #8ec07c;
|
||||||
|
@define-color orange #d65d0e;
|
||||||
|
@define-color bright_orange #fe8019;
|
||||||
|
|
||||||
|
@define-color white #ffffff;
|
||||||
|
@define-color black #000000;
|
||||||
|
|
||||||
|
/*
|
||||||
|
bg - background
|
||||||
|
fg - foreground
|
||||||
|
br - border
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Main Colors */
|
||||||
|
|
||||||
|
@define-color shadow shade(@bg0_h, 0.5);
|
||||||
|
@define-color main-fg @fg0;
|
||||||
|
@define-color main-bg @bg0_h;
|
||||||
|
@define-color main-br @fg0;
|
||||||
|
|
||||||
|
@define-color active-bg @yellow;
|
||||||
|
@define-color active-fg @bg0_h;
|
||||||
|
|
||||||
|
@define-color hover-bg @bg2;
|
||||||
|
@define-color hover-fg alpha(@fg0, 0.75);
|
||||||
|
|
||||||
|
/* Module Colors */
|
||||||
|
|
||||||
|
@define-color module-fg @fg0;
|
||||||
|
@define-color workspaces @bg0;
|
||||||
|
|
||||||
|
@define-color temperature @bg0;
|
||||||
|
@define-color memory @bg1;
|
||||||
|
@define-color cpu @bg2;
|
||||||
|
@define-color distro-fg @black;
|
||||||
|
@define-color distro-bg @yellow;
|
||||||
|
@define-color time @bg2;
|
||||||
|
@define-color date @bg1;
|
||||||
|
@define-color tray @bg0;
|
||||||
|
|
||||||
|
@define-color pulseaudio @bg0;
|
||||||
|
@define-color backlight @bg1;
|
||||||
|
@define-color battery @bg2;
|
||||||
|
@define-color power @yellow;
|
||||||
|
|
||||||
|
/* State Colors */
|
||||||
|
|
||||||
|
@define-color warning @bright_orange;
|
||||||
|
@define-color critical @bright_red;
|
||||||
|
@define-color charging @fg0;
|
||||||
478
waybar/themes/jsonc/catppuccin-frappe.jsonc
Normal file
478
waybar/themes/jsonc/catppuccin-frappe.jsonc
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"mode": "dock",
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"gtk-layer-shell": true,
|
||||||
|
|
||||||
|
// <<--< Positions >-->>
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/ws", // window icon
|
||||||
|
"custom/left1",
|
||||||
|
|
||||||
|
"hyprland/workspaces", // workspaces
|
||||||
|
"custom/right1",
|
||||||
|
|
||||||
|
"custom/paddw",
|
||||||
|
"hyprland/window" // window title
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
|
"custom/left3",
|
||||||
|
"memory", // memory
|
||||||
|
|
||||||
|
"custom/left4",
|
||||||
|
"cpu", // cpu
|
||||||
|
"custom/leftin1",
|
||||||
|
|
||||||
|
"custom/left5",
|
||||||
|
"custom/distro", // distro icon
|
||||||
|
"custom/right2",
|
||||||
|
|
||||||
|
"custom/rightin1",
|
||||||
|
"idle_inhibitor", // idle inhibitor
|
||||||
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
|
"clock#date", // date
|
||||||
|
"custom/right4",
|
||||||
|
|
||||||
|
"custom/wifi", // wi-fi
|
||||||
|
"bluetooth", // bluetooth
|
||||||
|
"custom/update", // system update
|
||||||
|
"custom/right5"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"mpris", // media info
|
||||||
|
|
||||||
|
"custom/left6",
|
||||||
|
"pulseaudio", // output device
|
||||||
|
|
||||||
|
"custom/left7",
|
||||||
|
"backlight", // brightness
|
||||||
|
|
||||||
|
"custom/left8",
|
||||||
|
"battery", // battery
|
||||||
|
|
||||||
|
"custom/leftin2",
|
||||||
|
"custom/power" // power button
|
||||||
|
],
|
||||||
|
|
||||||
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#8caaee'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#e78284'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#e78284'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#ef9f76'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#ef9f76'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#8caaee'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#8caaee'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#a6d189'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#a6d189'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#a6d189'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#a6d189'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
|
||||||
|
"(.*)Spotify":
|
||||||
|
"<span foreground='#a6d189'> </span> Spotify",
|
||||||
|
"(.*)Spotify Premium":
|
||||||
|
"<span foreground='#a6d189'> </span> Spotify Premium",
|
||||||
|
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#a5adce'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#ef9f76'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#ef9f76'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#ca9ee6'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"vesktop":
|
||||||
|
"<span foreground='#8caaee'> </span> Discord",
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#8caaee'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#e78284'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#8caaee'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#a6d189'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#ef9f76'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#e78284'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#babbf1'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#a5adce' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#e78284'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 30,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#a6d189'> </span>",
|
||||||
|
"firefox": "<span foreground='#e78284'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#babbf1'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
478
waybar/themes/jsonc/catppuccin-latte.jsonc
Normal file
478
waybar/themes/jsonc/catppuccin-latte.jsonc
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"mode": "dock",
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"gtk-layer-shell": true,
|
||||||
|
|
||||||
|
// <<--< Positions >-->>
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/ws", // window icon
|
||||||
|
"custom/left1",
|
||||||
|
|
||||||
|
"hyprland/workspaces", // workspaces
|
||||||
|
"custom/right1",
|
||||||
|
|
||||||
|
"custom/paddw",
|
||||||
|
"hyprland/window" // window title
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
|
"custom/left3",
|
||||||
|
"memory", // memory
|
||||||
|
|
||||||
|
"custom/left4",
|
||||||
|
"cpu", // cpu
|
||||||
|
"custom/leftin1",
|
||||||
|
|
||||||
|
"custom/left5",
|
||||||
|
"custom/distro", // distro icon
|
||||||
|
"custom/right2",
|
||||||
|
|
||||||
|
"custom/rightin1",
|
||||||
|
"idle_inhibitor", // idle inhibitor
|
||||||
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
|
"clock#date", // date
|
||||||
|
"custom/right4",
|
||||||
|
|
||||||
|
"custom/wifi", // wi-fi
|
||||||
|
"bluetooth", // bluetooth
|
||||||
|
"custom/update", // system update
|
||||||
|
"custom/right5"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"mpris", // media info
|
||||||
|
|
||||||
|
"custom/left6",
|
||||||
|
"pulseaudio", // output device
|
||||||
|
|
||||||
|
"custom/left7",
|
||||||
|
"backlight", // brightness
|
||||||
|
|
||||||
|
"custom/left8",
|
||||||
|
"battery", // battery
|
||||||
|
|
||||||
|
"custom/leftin2",
|
||||||
|
"custom/power" // power button
|
||||||
|
],
|
||||||
|
|
||||||
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#1e66f5'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#d20f39'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#d20f39'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#fe640b'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#fe640b'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#1e66f5'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#1e66f5'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#40a02b'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#40a02b'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#40a02b'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#40a02b'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
|
||||||
|
"(.*)Spotify":
|
||||||
|
"<span foreground='#40a02b'> </span> Spotify",
|
||||||
|
"(.*)Spotify Premium":
|
||||||
|
"<span foreground='#40a02b'> </span> Spotify Premium",
|
||||||
|
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#6c6f85'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#fe640b'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#fe640b'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#8839ef'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"vesktop":
|
||||||
|
"<span foreground='#1e66f5'> </span> Discord",
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#1e66f5'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#d20f39'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#1e66f5'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#40a02b'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#fe640b'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#d20f39'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#7287fd'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#6c6f85' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#d20f39'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 30,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#40a02b'> </span>",
|
||||||
|
"firefox": "<span foreground='#d20f39'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#7287fd'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
478
waybar/themes/jsonc/catppuccin-macchiato.jsonc
Normal file
478
waybar/themes/jsonc/catppuccin-macchiato.jsonc
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"mode": "dock",
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"gtk-layer-shell": true,
|
||||||
|
|
||||||
|
// <<--< Positions >-->>
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/ws", // window icon
|
||||||
|
"custom/left1",
|
||||||
|
|
||||||
|
"hyprland/workspaces", // workspaces
|
||||||
|
"custom/right1",
|
||||||
|
|
||||||
|
"custom/paddw",
|
||||||
|
"hyprland/window" // window title
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"custom/paddc",
|
||||||
|
"custom/left2",
|
||||||
|
"custom/temperature", // temperature
|
||||||
|
|
||||||
|
"custom/left3",
|
||||||
|
"memory", // memory
|
||||||
|
|
||||||
|
"custom/left4",
|
||||||
|
"cpu", // cpu
|
||||||
|
"custom/leftin1",
|
||||||
|
|
||||||
|
"custom/left5",
|
||||||
|
"custom/distro", // distro icon
|
||||||
|
"custom/right2",
|
||||||
|
|
||||||
|
"custom/rightin1",
|
||||||
|
"idle_inhibitor", // idle inhibitor
|
||||||
|
"clock#time", // time
|
||||||
|
"custom/right3",
|
||||||
|
|
||||||
|
"clock#date", // date
|
||||||
|
"custom/right4",
|
||||||
|
|
||||||
|
"custom/wifi", // wi-fi
|
||||||
|
"bluetooth", // bluetooth
|
||||||
|
"custom/update", // system update
|
||||||
|
"custom/right5"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"mpris", // media info
|
||||||
|
|
||||||
|
"custom/left6",
|
||||||
|
"pulseaudio", // output device
|
||||||
|
|
||||||
|
"custom/left7",
|
||||||
|
"backlight", // brightness
|
||||||
|
|
||||||
|
"custom/left8",
|
||||||
|
"battery", // battery
|
||||||
|
|
||||||
|
"custom/leftin2",
|
||||||
|
"custom/power" // power button
|
||||||
|
],
|
||||||
|
|
||||||
|
// <<--< Modules >-->>
|
||||||
|
|
||||||
|
"custom/ws": {
|
||||||
|
"exec": "~/.config/waybar/scripts/current-theme.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/waybar/scripts/theme-switcher.sh",
|
||||||
|
"min-length": 3,
|
||||||
|
"max-length": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": [],
|
||||||
|
"5": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"tooltip": false,
|
||||||
|
"min-length": 5,
|
||||||
|
|
||||||
|
"rewrite": {
|
||||||
|
// Desktop
|
||||||
|
"":
|
||||||
|
"<span foreground='#8aadf4'> </span> Hyprland",
|
||||||
|
|
||||||
|
// Terminal
|
||||||
|
"~": " Terminal",
|
||||||
|
"zsh": " Terminal",
|
||||||
|
"kitty": " Terminal",
|
||||||
|
|
||||||
|
"tmux(.*)":
|
||||||
|
"<span foreground='#a6e3a1'> </span> Tmux",
|
||||||
|
|
||||||
|
// Browser
|
||||||
|
|
||||||
|
"(.*)Mozilla Firefox":
|
||||||
|
"<span foreground='#ed8796'> </span> Firefox",
|
||||||
|
"(.*) — Mozilla Firefox":
|
||||||
|
"<span foreground='#ed8796'> </span> $1",
|
||||||
|
|
||||||
|
"(.*)Zen Browser":
|
||||||
|
"<span foreground='#f5a97f'> </span> Zen Browser",
|
||||||
|
"(.*) — Zen Browser":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1",
|
||||||
|
|
||||||
|
// Development
|
||||||
|
|
||||||
|
"(.*) - Visual Studio Code":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1",
|
||||||
|
"(.*)Visual Studio Code":
|
||||||
|
"<span foreground='#8aadf4'> </span> Visual Studio Code",
|
||||||
|
|
||||||
|
"nvim":
|
||||||
|
"<span foreground='#a6da95'> </span> Neovim",
|
||||||
|
"nvim (.*)":
|
||||||
|
"<span foreground='#a6da95'> </span> $1",
|
||||||
|
|
||||||
|
"vim":
|
||||||
|
"<span foreground='#a6da95'> </span> Vim",
|
||||||
|
"vim (.*)":
|
||||||
|
"<span foreground='#a6da95'> </span> $1",
|
||||||
|
|
||||||
|
// Media
|
||||||
|
|
||||||
|
"(.*)Spotify":
|
||||||
|
"<span foreground='#a6da95'> </span> Spotify",
|
||||||
|
"(.*)Spotify Premium":
|
||||||
|
"<span foreground='#a6da95'> </span> Spotify Premium",
|
||||||
|
|
||||||
|
"OBS(.*)":
|
||||||
|
"<span foreground='#a5adcb'> </span> OBS Studio",
|
||||||
|
|
||||||
|
"VLC media player":
|
||||||
|
"<span foreground='#f5a97f'> </span> VLC Media Player",
|
||||||
|
"(.*) - VLC media player":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1",
|
||||||
|
|
||||||
|
"(.*) - mpv":
|
||||||
|
"<span foreground='#c6a0f6'> </span> $1",
|
||||||
|
|
||||||
|
"qView": " qView",
|
||||||
|
|
||||||
|
"(.*).jpg": " $1.jpg",
|
||||||
|
"(.*).png": " $1.png",
|
||||||
|
"(.*).svg": " $1.svg",
|
||||||
|
|
||||||
|
// Social
|
||||||
|
|
||||||
|
"vesktop":
|
||||||
|
"<span foreground='#8aadf4'> </span> Discord",
|
||||||
|
|
||||||
|
"• Discord(.*)": "Discord$1",
|
||||||
|
"(.*)Discord(.*)":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1Discord$2",
|
||||||
|
|
||||||
|
// Documents
|
||||||
|
|
||||||
|
"ONLYOFFICE Desktop Editors":
|
||||||
|
"<span foreground='#ed8796'> </span> OnlyOffice Desktop",
|
||||||
|
|
||||||
|
"(.*).docx":
|
||||||
|
"<span foreground='#8aadf4'> </span> $1.docx",
|
||||||
|
"(.*).xlsx":
|
||||||
|
"<span foreground='#a6da95'> </span> $1.xlsx",
|
||||||
|
"(.*).pptx":
|
||||||
|
"<span foreground='#f5a97f'> </span> $1.pptx",
|
||||||
|
"(.*).pdf":
|
||||||
|
"<span foreground='#ed8796'> </span> $1.pdf",
|
||||||
|
|
||||||
|
// System
|
||||||
|
"Authenticate": " Authenticate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/temperature": {
|
||||||
|
"exec": "~/.config/waybar/scripts/cpu-temp.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"states": {
|
||||||
|
"warning": 75,
|
||||||
|
"critical": 90
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-critical": " {percentage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Memory Used: {used:0.1f} GB / {total:0.1f} GB",
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 7,
|
||||||
|
"max-length": 7
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"tooltip": false,
|
||||||
|
"interval": 5,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/distro": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format-activated": "Presentation Mode",
|
||||||
|
"tooltip-format-deactivated": "Idle Mode",
|
||||||
|
"start-activated": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#time": {
|
||||||
|
"format": "{:%H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Standard Time: {:%I:%M %p}",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock#date": {
|
||||||
|
"format": " {:%m-%d}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 6,
|
||||||
|
"on-click-right": "mode",
|
||||||
|
|
||||||
|
"format": {
|
||||||
|
"months":
|
||||||
|
"<span color='#b7bdf8'><b>{}</b></span>",
|
||||||
|
"weekdays":
|
||||||
|
"<span color='#a5adcb' font='7'>{}</span>",
|
||||||
|
"today":
|
||||||
|
"<span color='#ed8796'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"actions": {
|
||||||
|
"on-click": "mode",
|
||||||
|
"on-click-right": "mode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"min-length": 8,
|
||||||
|
"max-length": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/wifi": {
|
||||||
|
"exec": "~/.config/waybar/scripts/wifi-status.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/wifi-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Network Manager TUI' bash -c nmtui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": "",
|
||||||
|
"format-disabled": "",
|
||||||
|
"format-connected": "",
|
||||||
|
"format-connected-battery": "",
|
||||||
|
|
||||||
|
"tooltip-format":
|
||||||
|
"{num_connections} connected",
|
||||||
|
"tooltip-format-disabled":
|
||||||
|
"Bluetooth Disabled",
|
||||||
|
"tooltip-format-connected":
|
||||||
|
"{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected":
|
||||||
|
"{device_alias}",
|
||||||
|
"tooltip-format-enumerate-connected-battery":
|
||||||
|
":: {device_alias}: {device_battery_percentage}%",
|
||||||
|
|
||||||
|
"on-click": "~/.config/waybar/scripts/bluetooth-menu.sh",
|
||||||
|
"on-click-right": "kitty --title ' Bluetooth TUI' bash -c bluetui",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/update": {
|
||||||
|
"exec": "~/.config/waybar/scripts/system-update.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "hyprctl dispatch exec '~/.config/waybar/scripts/system-update.sh up'",
|
||||||
|
"interval": 30,
|
||||||
|
"min-length": 1,
|
||||||
|
"max-length": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"mpris": {
|
||||||
|
"format": "{player_icon} {title} - {artist}",
|
||||||
|
"format-paused": "{status_icon} {title} - {artist}",
|
||||||
|
|
||||||
|
"player-icons": {
|
||||||
|
"default": " ",
|
||||||
|
"spotify": "<span foreground='#a6da95'> </span>",
|
||||||
|
"firefox": "<span foreground='#ed8796'> </span>"
|
||||||
|
},
|
||||||
|
"status-icons": {
|
||||||
|
"paused": "<span color='#b7bdf8'>\u200A\u200A\u2009\u2009</span>"
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Playing: {title} - {artist}",
|
||||||
|
"tooltip-format-paused": "Paused: {title} - {artist}",
|
||||||
|
"min-length": 5,
|
||||||
|
"max-length": 35
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": " {volume}%",
|
||||||
|
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", ""],
|
||||||
|
"headphone": "",
|
||||||
|
"headset": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"tooltip-format": "Device: {desc}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/volume-control.sh -o m",
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/volume-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/volume-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
"on-scroll-up": "~/.config/waybar/scripts/brightness-control.sh -o i",
|
||||||
|
"on-scroll-down": "~/.config/waybar/scripts/brightness-control.sh -o d",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 20,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
|
||||||
|
"tooltip-format": "Discharging: {time}",
|
||||||
|
"tooltip-format-charging": "Charging: {time}",
|
||||||
|
"interval": 1,
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
// "tooltip-format": "Power Menu",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-menu.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// <<--< Padding >-->>
|
||||||
|
|
||||||
|
"custom/paddw": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/paddc": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Arrows
|
||||||
|
|
||||||
|
"custom/left1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left6": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left7": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/left8": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Arrows
|
||||||
|
|
||||||
|
"custom/right1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right3": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right4": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/right5": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Left Inverse
|
||||||
|
|
||||||
|
"custom/leftin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"custom/leftin2": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// Right Inverse
|
||||||
|
|
||||||
|
"custom/rightin1": {
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user