add:wip mango
This commit is contained in:
@@ -71,7 +71,7 @@ exec-once = gsettings set org.gnome.desktop.interface font-name 'Geist 11'
|
||||
|
||||
exec-once = ~/.config/hypr/reload-monitors.sh # contains waybar
|
||||
|
||||
exec-once = ~/.config/wlsunset/run-wlsunset.sh init
|
||||
exec-once = ~/.config/wlsunset/run-wlsunset.sh init &
|
||||
exec-once = ~/.config/waybar/scripts/fcitx5-monitor.sh &
|
||||
|
||||
# so far, for bazecor
|
||||
|
||||
257
mango/btop/btop.conf
Normal file
257
mango/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 = "catppuccin_mocha"
|
||||
|
||||
#* 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 = "memory"
|
||||
|
||||
#* 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
mango/btop/themes/catppuccin_mocha.theme
Normal file
83
mango/btop/themes/catppuccin_mocha.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]=""
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#cdd6f4"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#cdd6f4"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#89b4fa"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#45475a"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#89b4fa"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#7f849c"
|
||||
|
||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||
theme[graph_text]="#f5e0dc"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#45475a"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#f5e0dc"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#cba6f7" #Mauve
|
||||
theme[mem_box]="#a6e3a1" #Green
|
||||
theme[net_box]="#eba0ac" #Maroon
|
||||
theme[proc_box]="#89b4fa" #Blue
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6c7086"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#a6e3a1"
|
||||
theme[temp_mid]="#f9e2af"
|
||||
theme[temp_end]="#f38ba8"
|
||||
|
||||
# CPU graph colors (Teal -> Lavender)
|
||||
theme[cpu_start]="#94e2d5"
|
||||
theme[cpu_mid]="#74c7ec"
|
||||
theme[cpu_end]="#b4befe"
|
||||
|
||||
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
|
||||
theme[free_start]="#cba6f7"
|
||||
theme[free_mid]="#b4befe"
|
||||
theme[free_end]="#89b4fa"
|
||||
|
||||
# Mem/Disk cached meter (Sapphire -> Lavender)
|
||||
theme[cached_start]="#74c7ec"
|
||||
theme[cached_mid]="#89b4fa"
|
||||
theme[cached_end]="#b4befe"
|
||||
|
||||
# Mem/Disk available meter (Peach -> Red)
|
||||
theme[available_start]="#fab387"
|
||||
theme[available_mid]="#eba0ac"
|
||||
theme[available_end]="#f38ba8"
|
||||
|
||||
# Mem/Disk used meter (Green -> Sky)
|
||||
theme[used_start]="#a6e3a1"
|
||||
theme[used_mid]="#94e2d5"
|
||||
theme[used_end]="#89dceb"
|
||||
|
||||
# Download graph colors (Peach -> Red)
|
||||
theme[download_start]="#fab387"
|
||||
theme[download_mid]="#eba0ac"
|
||||
theme[download_end]="#f38ba8"
|
||||
|
||||
# Upload graph colors (Green -> Sky)
|
||||
theme[upload_start]="#a6e3a1"
|
||||
theme[upload_mid]="#94e2d5"
|
||||
theme[upload_end]="#89dceb"
|
||||
|
||||
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
|
||||
theme[process_start]="#74c7ec"
|
||||
theme[process_mid]="#b4befe"
|
||||
theme[process_end]="#cba6f7"
|
||||
76
mango/fastfetch/config.jsonc
Normal file
76
mango/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "~/.config/rofi/images/oc/oc-nobg.png",
|
||||
"type": "kitty-direct",
|
||||
"width": 28,
|
||||
"padding": {
|
||||
"top": 1,
|
||||
"left": 2,
|
||||
"right": 2
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"key": "╭───────────╮",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"key": "│ {#31} profile {#keys}│",
|
||||
"type": "title"
|
||||
},
|
||||
{
|
||||
"key": "│ {#34}{icon} distro {#keys}│",
|
||||
"type": "os"
|
||||
},
|
||||
{
|
||||
"key": "│ {#33} uptime {#keys}│",
|
||||
"type": "uptime"
|
||||
},
|
||||
{
|
||||
"key": "│ {#39} pkgs {#keys}│",
|
||||
"type": "packages"
|
||||
},
|
||||
{
|
||||
"key": "│ {#35} kernel {#keys}│",
|
||||
"type": "kernel"
|
||||
},
|
||||
{
|
||||
"key": "│ {#36} wm {#keys}│",
|
||||
"type": "wm"
|
||||
},
|
||||
{
|
||||
"key": "│ {#31} term {#keys}│",
|
||||
"type": "terminal"
|
||||
},
|
||||
{
|
||||
"key": "│ {#32} shell {#keys}│",
|
||||
"type": "shell"
|
||||
},
|
||||
{
|
||||
"key": "│ {#33} cpu {#keys}│",
|
||||
"type": "cpu",
|
||||
"showPeCoreCount": true
|
||||
},
|
||||
{
|
||||
"key": "│ {#35} memory {#keys}│",
|
||||
"type": "memory"
|
||||
},
|
||||
{
|
||||
"key": "├───────────┤",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"key": "│ {#39} colors {#keys}│",
|
||||
"type": "colors",
|
||||
"symbol": "circle"
|
||||
},
|
||||
{
|
||||
"key": "╰───────────╯",
|
||||
"type": "custom"
|
||||
}
|
||||
]
|
||||
}
|
||||
77
mango/local-bin/brightness.py
Executable file
77
mango/local-bin/brightness.py
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python3
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
|
||||
class AMDVideo:
|
||||
_brightness_filepath: Path = Path("/sys/class/backlight/amdgpu_bl1/brightness")
|
||||
_max_brightness_filepath: Path = Path("/sys/class/backlight/amdgpu_bl1/max_brightness")
|
||||
|
||||
brightness: int|None
|
||||
max_brightness: int|None
|
||||
|
||||
def __init__(self):
|
||||
self.brightness = self._get_file_int_value(self._brightness_filepath)
|
||||
self.max_brightness = self._get_file_int_value(self._max_brightness_filepath)
|
||||
|
||||
def _get_file_int_value(self, filepath: Path) -> int:
|
||||
with filepath.open("r", encoding="utf-8") as f:
|
||||
return int(f.read().strip())
|
||||
|
||||
def _update_file_value(self, filepath: Path, value) -> None:
|
||||
with filepath.open("w+") as f:
|
||||
f.write(str(value))
|
||||
|
||||
def increase_brightness(self, inc_by: int|None = None):
|
||||
if not self.max_brightness:
|
||||
print(f"error: max_brightness file not found {self._max_brightness_filepath}")
|
||||
return
|
||||
if not self.brightness:
|
||||
print(f"error: brightness file not found {self._brightness_filepath}")
|
||||
return
|
||||
|
||||
if not inc_by:
|
||||
inc_by = int(self.max_brightness / 15)
|
||||
|
||||
new_val = self.brightness + inc_by
|
||||
if new_val > self.max_brightness:
|
||||
new_val = self.max_brightness
|
||||
|
||||
self._update_file_value(self._brightness_filepath, new_val)
|
||||
|
||||
def decrease_brightness(self, dec_by: int|None = None):
|
||||
if not self.max_brightness:
|
||||
return
|
||||
if not self.brightness:
|
||||
return
|
||||
|
||||
if not dec_by:
|
||||
dec_by = int(self.max_brightness / 15)
|
||||
|
||||
new_val = self.brightness - dec_by
|
||||
lowest_brightness = int(self.max_brightness * 0.05)
|
||||
if new_val < lowest_brightness:
|
||||
new_val = lowest_brightness
|
||||
|
||||
self._update_file_value(self._brightness_filepath, new_val)
|
||||
|
||||
def print_status(self):
|
||||
brightness = self._get_file_int_value(self._brightness_filepath)
|
||||
print(f"brightness: {brightness}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 2:
|
||||
print("need argument +/-")
|
||||
exit(1)
|
||||
a = AMDVideo()
|
||||
if sys.argv[1] == "+":
|
||||
a.increase_brightness()
|
||||
if sys.argv[1] == "-":
|
||||
a.decrease_brightness()
|
||||
if sys.argv[1] == "status":
|
||||
a.print_status()
|
||||
|
||||
#
|
||||
# command = ""
|
||||
#
|
||||
# result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
||||
6
mango/local-bin/init-lockscreen
Executable file
6
mango/local-bin/init-lockscreen
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
killall swayidle
|
||||
sleep 0.1
|
||||
swayidle -w \
|
||||
before-sleep 'swaylock -i ~/pictures/flower.jpg --effect-blur 7x5 --effect-vignette 0.5:0.5 --clock --indicator --ring-color E8D4A0FF --key-hl-color F4A261FF --bs-hl-color EE9B00FF --inside-color 00000088 --text-color FFFFFFFF --line-color 00000000 --separator-color 00000000' \
|
||||
lock 'swaylock -i ~/pictures/flower.jpg --effect-blur 7x5 --effect-vignette 0.5:0.5 --clock --indicator --ring-color E8D4A0FF --key-hl-color F4A261FF --bs-hl-color EE9B00FF --inside-color 00000088 --text-color FFFFFFFF --line-color 00000000 --separator-color 00000000' &
|
||||
2
mango/local-bin/init-screen-scale
Executable file
2
mango/local-bin/init-screen-scale
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
wlr-randr --output eDP-1 --scale 1.25
|
||||
2
mango/local-bin/run-lockscreen.sh
Executable file
2
mango/local-bin/run-lockscreen.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
swaylock -i ~/pictures/flower.jpg --effect-blur 7x5 --effect-vignette 0.5:0.5 --clock --indicator --ring-color E8D4A0FF --key-hl-color F4A261FF --bs-hl-color EE9B00FF --inside-color 00000088 --text-color FFFFFFFF --line-color 00000000 --separator-color 00000000
|
||||
163
mango/local-bin/run-wlsunset.sh
Executable file
163
mango/local-bin/run-wlsunset.sh
Executable file
@@ -0,0 +1,163 @@
|
||||
#!/bin/bash
|
||||
if ! command -v gum &> /dev/null; then
|
||||
echo "❌ Error: 'gum' is not installed."
|
||||
echo "Install with: go install github.com/charmbracelet/gum@latest"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v wlsunset &> /dev/null; then
|
||||
echo "❌ Error: 'wlsunset' is not installed."
|
||||
echo "Install with your package manager (e.g., pacman -S wlsunset)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LAT_LON_FILE="$HOME/.config/wlsunset/location"
|
||||
|
||||
PRIMARY="#cba6f7"
|
||||
SECONDARY="#89b4fa"
|
||||
SUCCESS="#a6e3a1"
|
||||
WARNING="#f9e2af"
|
||||
DANGER="#f38ba8"
|
||||
ACCENT="#f5c2e7"
|
||||
MUTED="#6c7086"
|
||||
|
||||
BTN_TOGGLE=" ╭─────────────────────────────╮
|
||||
│ Toggle │
|
||||
╰─────────────────────────────╯"
|
||||
BTN_FORCE=" ╭─────────────────────────────╮
|
||||
│ Force On │
|
||||
╰─────────────────────────────╯"
|
||||
BTN_CHANGE_LOC=" ╭─────────────────────────────╮
|
||||
│ Change Location │
|
||||
╰─────────────────────────────╯"
|
||||
BTN_CHANGE_STR=" ╭─────────────────────────────╮
|
||||
│ Change Strength │
|
||||
╰─────────────────────────────╯"
|
||||
BTN_EXIT=" ╭─────────────────────────────╮
|
||||
│ Exit │
|
||||
╰─────────────────────────────╯"
|
||||
|
||||
show_header() {
|
||||
TERM_WIDTH=$(tput cols)
|
||||
total_width=$((TERM_WIDTH - 2))
|
||||
# Main title box
|
||||
gum style \
|
||||
--foreground "$ACCENT" \
|
||||
--border-foreground "$ACCENT" \
|
||||
--border "rounded" \
|
||||
--width $total_width \
|
||||
--align "center" \
|
||||
--padding "2 0" \
|
||||
"🌅 NIGHT LIGHT 🌙"
|
||||
|
||||
echo ""
|
||||
|
||||
if pidof wlsunset > /dev/null; then
|
||||
status=" ACTIVE"
|
||||
foreground_color=$SUCCESS
|
||||
else
|
||||
status=" INACTIVE"
|
||||
foreground_color=$MUTED
|
||||
fi
|
||||
gum join --horizontal \
|
||||
"$(gum style --width $total_width --align "center" --foreground "$foreground_color" --padding "0 2" --margin "0 1" "$status")" \
|
||||
|
||||
echo ""
|
||||
}
|
||||
|
||||
get_status() {
|
||||
if pidof wlsunset > /dev/null; then
|
||||
echo " ACTIVE"
|
||||
else
|
||||
echo " INACTIVE"
|
||||
fi
|
||||
}
|
||||
|
||||
show_menu() {
|
||||
term_width=$(tput cols)
|
||||
button_width=33
|
||||
padding=$(( (term_width - button_width) / 2 ))
|
||||
pad_str=$(printf "%*s" $padding "")
|
||||
|
||||
# Pad each button using sed to add padding to every line
|
||||
padded_buttons=()
|
||||
for btn in "$BTN_TOGGLE" "$BTN_FORCE" "$BTN_CHANGE_LOC" "$BTN_CHANGE_STR" "$BTN_EXIT"; do
|
||||
padded_btn=$(echo "$btn" | sed "s/^/$pad_str/")
|
||||
padded_buttons+=("$padded_btn")
|
||||
done
|
||||
|
||||
choice=$(gum choose \
|
||||
--header "" \
|
||||
--cursor " " \
|
||||
--cursor.foreground "$PRIMARY" \
|
||||
--selected.foreground "$SUCCESS" \
|
||||
--item.foreground "$SECONDARY" \
|
||||
"${padded_buttons[@]}")
|
||||
|
||||
echo "$choice"
|
||||
}
|
||||
|
||||
if [ -f "$LAT_LON_FILE" ]; then
|
||||
source "$LAT_LON_FILE"
|
||||
else
|
||||
location=$(curl -s "https://ipinfo.io/loc")
|
||||
if [ ! -z "$location" ]; then
|
||||
LAT=$(echo "$location" | cut -d',' -f1)
|
||||
LON=$(echo "$location" | cut -d',' -f2)
|
||||
else
|
||||
# random default in LA
|
||||
LAT=34.0522
|
||||
LON=-118.2437
|
||||
fi
|
||||
echo -e "LAT=$LAT\nLON=$LON\nSTRENGTH=4750" > "$LAT_LON_FILE"
|
||||
fi
|
||||
|
||||
expand_terminal() {
|
||||
# launching via rofi doesnt expand terminal at start
|
||||
gum style --width 120 " " > /dev/null 2>&1 || true
|
||||
gum style --width 120 --foreground "#00000000" " "
|
||||
printf "\033[1A\033[K" # Move up and clear line
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"init")
|
||||
# turn on
|
||||
wlsunset -l $LAT -L $LON -t $STRENGTH
|
||||
;;
|
||||
*)
|
||||
expand_terminal
|
||||
show_header
|
||||
choice=$(show_menu)
|
||||
case "$choice" in
|
||||
*"Toggle"*)
|
||||
if pidof wlsunset > /dev/null; then
|
||||
if killall wlsunset; then
|
||||
gum style --foreground "$MUTED" "Disabled night light"
|
||||
notify-send "wlsunset" " Disabled night light"
|
||||
else
|
||||
notify-send "wlsunset" " Failed to disable night light"
|
||||
fi
|
||||
else
|
||||
setsid wlsunset -l "$LAT" -L "$LON" -t $STRENGTH & disown
|
||||
gum style --foreground "$SUCCESS" "Enabled night light"
|
||||
notify-send "wlsunset" " Enabled night light"
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
*"Force"*)
|
||||
setsid wlsunset -s 00:00 -S 23:59 -t $STRENGTH & disown
|
||||
notify-send "wlsunset" " Force enabled night light"
|
||||
exit 0
|
||||
;;
|
||||
*"Exit"*)
|
||||
clear
|
||||
gum style --foreground "$MUTED" --align "center" "👋 Goodbye!"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo " choice not found"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
2
mango/local-bin/sc.sh
Executable file
2
mango/local-bin/sc.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
if pgrep -x wl-screenrec > /dev/null; then pkill -INT wl-screenrec && notify-send "🎥 Recording Stopped" "Saved to ~/videos"; else GEOMETRY=$(slurp); if [ -n "$GEOMETRY" ]; then notify-send "🎥 Recording Started" "Press Super+Alt+v to stop" && wl-screenrec -g "$GEOMETRY" -f ~/videos/recording-$(date +"%Y-%m-%d_%H-%M-%S").mp4 & fi; fi
|
||||
2
mango/local-bin/ss.sh
Executable file
2
mango/local-bin/ss.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
grim -g "$(slurp)" - | satty --filename - --output-filename ~/pictures/$(date +"%Y-%m-%d_%H-%M-%S").png --early-exit --copy-command wl-copy
|
||||
@@ -1,33 +1,5 @@
|
||||
# More option see https://github.com/DreamMaoMao/mango/wiki/
|
||||
|
||||
# misc env
|
||||
env=XCURSOR_SIZE,24
|
||||
env=GTK_THEME,tokyonight-dark
|
||||
env=QT_STYLE_OVERRIDE,gtk3
|
||||
|
||||
# fcitx5 im
|
||||
env=GTK_IM_MODULE,fcitx
|
||||
env=QT_IM_MODULE,fcitx
|
||||
env=XMODIFIERS,@im=fcitx
|
||||
env=INPUT_METHOD,fcitx
|
||||
env=SDL_IM_MODULE,fcitx
|
||||
env=GLFW_IM_MODULE,fcitx
|
||||
|
||||
# scale factor about qt (herr is 1.4)
|
||||
env=QT_QPA_PLATFORMTHEME,gtk3
|
||||
env=QT_AUTO_SCREEN_SCALE_FACTOR,1.25
|
||||
env=QT_QPA_PLATFORM,Wayland;xcb
|
||||
env=QT_WAYLAND_FORCE_DPI,140
|
||||
|
||||
# Window effect
|
||||
blur_optimized=1
|
||||
blur_params_num_passes = 2
|
||||
blur_params_radius = 5
|
||||
blur_params_noise = 0.02
|
||||
blur_params_brightness = 0.9
|
||||
blur_params_contrast = 0.9
|
||||
blur_params_saturation = 1.2
|
||||
|
||||
shadows = 0
|
||||
layer_shadows = 0
|
||||
shadow_only_floating = 1
|
||||
@@ -52,13 +24,13 @@ animation_fade_in=1
|
||||
animation_fade_out=1
|
||||
tag_animation_direction=1
|
||||
zoom_initial_ratio=0.3
|
||||
zoom_end_ratio=0.8
|
||||
zoom_end_ratio=0.6
|
||||
fadein_begin_opacity=0.5
|
||||
fadeout_begin_opacity=0.8
|
||||
animation_duration_move=200
|
||||
animation_duration_open=300
|
||||
animation_duration_tag=350
|
||||
animation_duration_close=400
|
||||
animation_duration_close=300
|
||||
animation_duration_focus=0
|
||||
animation_curve_open=0.46,1.0,0.29,1
|
||||
animation_curve_move=0.46,1.0,0.29,1
|
||||
@@ -144,165 +116,27 @@ scratchpadcolor=0x516c93ff
|
||||
globalcolor=0xb153a7ff
|
||||
overlaycolor=0x14a57cff
|
||||
|
||||
# layout support:
|
||||
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
|
||||
tagrule=id:1,layout_name:tile
|
||||
tagrule=id:2,layout_name:tile
|
||||
tagrule=id:3,layout_name:tile
|
||||
tagrule=id:4,layout_name:tile
|
||||
tagrule=id:5,layout_name:tile
|
||||
tagrule=id:6,layout_name:tile
|
||||
tagrule=id:7,layout_name:tile
|
||||
tagrule=id:8,layout_name:tile
|
||||
tagrule=id:9,layout_name:tile
|
||||
|
||||
# Key Bindings
|
||||
# key name refer to `xev` or `wev` command output,
|
||||
# mod keys name: super,ctrl,alt,shift,none
|
||||
# blur settings
|
||||
|
||||
# reload config
|
||||
bind=SUPER,r,reload_config
|
||||
blur_params_num_passes = 2
|
||||
blur_params_radius = 5
|
||||
blur_params_noise = 0.02
|
||||
blur_params_brightness = 0.9
|
||||
blur_params_contrast = 0.9
|
||||
blur_params_saturation = 1.2
|
||||
|
||||
# utility
|
||||
bind=SUPER+alt,p,spawn,ss-region
|
||||
bind=SUPER,Return,spawn,ghostty
|
||||
bind=SUPER,e,spawn,thunar
|
||||
bind=none,XF86AudioRaiseVolume,spawn,wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind=none,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bind=none,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bind=none,XF86AudioMicMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bind=none,XF86MonBrightnessUp,spawn,python ~/.config/mango/brightness.py +
|
||||
bind=none,XF86MonBrightnessDown,spawn,python ~/.config/mango/brightness.py -
|
||||
|
||||
# rofi
|
||||
bind=SUPER+SHIFT,p,spawn,rofi-power-manager.sh
|
||||
bind=SUPER,d,spawn,rofi-app-manager.sh
|
||||
|
||||
# exit
|
||||
bind=SUPER,m,quit
|
||||
bind=SUPER+SHIFT,q,killclient,
|
||||
|
||||
# misc
|
||||
|
||||
# switch window focus
|
||||
# bind=SUPER,Tab,focusstack,next
|
||||
bind=ALT,Left,focusdir,left
|
||||
bind=ALT,Right,focusdir,right
|
||||
bind=ALT,Up,focusdir,up
|
||||
bind=ALT,Down,focusdir,down
|
||||
|
||||
# swap window
|
||||
bind=SUPER+SHIFT,Up,exchange_client,up
|
||||
bind=SUPER+SHIFT,Down,exchange_client,down
|
||||
bind=SUPER+SHIFT,Left,exchange_client,left
|
||||
bind=SUPER+SHIFT,Right,exchange_client,right
|
||||
|
||||
# switch window status
|
||||
bind=SUPER,g,toggleglobal,
|
||||
bind=ALT,Tab,toggleoverview,
|
||||
bind=SUPER,t,togglefloating,
|
||||
bind=ALT,a,togglemaximizescreen,
|
||||
bind=ALT,f,togglefullscreen,
|
||||
bind=ALT+SHIFT,f,togglefakefullscreen,
|
||||
bind=SUPER,o,toggleoverlay,
|
||||
|
||||
# scratchpad, use super+t to restore it
|
||||
bind=SUPER,i,minimized,
|
||||
bind=SUPER+SHIFT,I,restore_minimized
|
||||
bind=SUPER,s,toggle_scratchpad
|
||||
|
||||
# scroller layout
|
||||
bind=ALT,e,set_proportion,1.0
|
||||
bind=ALT,x,switch_proportion_preset,
|
||||
# bind=SUPER,s,setlayout,scroller
|
||||
|
||||
# switch layout
|
||||
bind=SUPER,n,switch_layout
|
||||
bind=SUPER,comma,setlayout,tile
|
||||
bind=SUPER,period,setlayout,scroller
|
||||
|
||||
# tag switch
|
||||
bind=SUPER,Left,viewtoleft,0
|
||||
bind=SUPER,Right,viewtoright,0
|
||||
bind=CTRL+SUPER,Left,tagtoleft,0
|
||||
bind=CTRL+SUPER,Right,tagtoright,0
|
||||
|
||||
bind=Ctrl,1,view,1,0
|
||||
bind=Ctrl,2,view,2,0
|
||||
bind=Ctrl,3,view,3,0
|
||||
bind=Ctrl,4,view,4,0
|
||||
bind=Ctrl,5,view,5,0
|
||||
bind=Ctrl,6,view,6,0
|
||||
bind=Ctrl,7,view,7,0
|
||||
bind=Ctrl,8,view,8,0
|
||||
bind=Ctrl,9,view,9,0
|
||||
|
||||
# tag: move client to the tag and focus it
|
||||
# tagsilent: move client to the tag and not focus it
|
||||
# bind=Alt,1,tagsilent,1
|
||||
bind=Alt,1,tag,1,0
|
||||
bind=Alt,2,tag,2,0
|
||||
bind=Alt,3,tag,3,0
|
||||
bind=Alt,4,tag,..0
|
||||
bind=Alt,5,tag,5,0
|
||||
bind=Alt,6,tag,6,0
|
||||
bind=Alt,7,tag,7,0
|
||||
bind=Alt,8,tag,8,0
|
||||
bind=Alt,9,tag,9,0
|
||||
|
||||
# monitor switch
|
||||
# bind=alt+shift,Left,focusmon,left
|
||||
# bind=alt+shift,Right,focusmon,right
|
||||
bind=ALT+SHIFT,Left,tagmon,left
|
||||
bind=ALT+SHIFT,Right,tagmon,right
|
||||
|
||||
# gaps
|
||||
# bind=ALT+SHIFT,X,incgaps,1
|
||||
# bind=ALT+SHIFT,Z,incgaps,-1
|
||||
# bind=ALT+SHIFT,R,togglegaps
|
||||
|
||||
# movewin
|
||||
# bind=SUPER+SHIFT,Up,movewin,+0,-50
|
||||
# bind=SUPER+SHIFT,Down,movewin,+0,+50
|
||||
# bind=SUPER+SHIFT,Left,movewin,-50,+0
|
||||
# bind=SUPER+SHIFT,Right,movewin,+50,+0
|
||||
|
||||
# resizewin
|
||||
bind=SUPER+ALT,Up,resizewin,+0,-50
|
||||
bind=SUPER+ALT,Down,resizewin,+0,+50
|
||||
bind=SUPER+ALT,Left,resizewin,-50,+0
|
||||
bind=SUPER+ALT,Right,resizewin,+50,+0
|
||||
|
||||
# Mouse Button Bindings
|
||||
# NONE mode key only work in ov mode
|
||||
mousebind=SUPER,btn_left,moveresize,curmove
|
||||
mousebind=NONE,btn_middle,togglemaximizescreen,0
|
||||
mousebind=SUPER,btn_right,moveresize,curresize
|
||||
mousebind=NONE,btn_left,toggleoverview,1
|
||||
mousebind=NONE,btn_right,killclient,0
|
||||
|
||||
# Axis Bindings
|
||||
axisbind=SUPER,UP,viewtoleft_have_client
|
||||
axisbind=SUPER,DOWN,viewtoright_have_client
|
||||
|
||||
|
||||
# layer rule
|
||||
# you can use mmsg -e to get the last open layer name
|
||||
layerrule=animation_type_open:zoom,layer_name:rofi
|
||||
layerrule=animation_type_close:zoom,layer_name:rofi
|
||||
# no blur slurp select layer
|
||||
layerrule=noblur:1,layer_name:selection
|
||||
# layerrule=noblur:0,layer_name:rofi
|
||||
# this cache's the blurred background onto the layer's background
|
||||
# windows beneath the layer will not show since it's a static background when enabled
|
||||
blur_optimized=0
|
||||
|
||||
blur=1
|
||||
blur_layer=1
|
||||
blur_params_num_passes=3
|
||||
blur_params_num_passes=1
|
||||
# blur_params_num_passes=3
|
||||
blur_params_radius=4
|
||||
|
||||
windowrule=blur:1,class:ghostty
|
||||
# windowrule=blur:1,title:rofi
|
||||
windowrule=opacity:0.9,class:ghostty
|
||||
|
||||
exec-once=waybar
|
||||
exec-once=init-screen-scale
|
||||
exec-once=init-lockscreen
|
||||
source=~/.config/mango/env.conf
|
||||
source=~/.config/mango/keybindings.conf
|
||||
source=~/.config/mango/rules.conf
|
||||
source=~/.config/mango/exec.conf
|
||||
|
||||
18
mango/mango/env.conf
Normal file
18
mango/mango/env.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
# misc env
|
||||
env=XCURSOR_SIZE,24
|
||||
env=GTK_THEME,tokyonight-dark
|
||||
env=QT_STYLE_OVERRIDE,gtk3
|
||||
|
||||
# fcitx5 im
|
||||
env=GTK_IM_MODULE,fcitx
|
||||
env=QT_IM_MODULE,fcitx
|
||||
env=XMODIFIERS,@im=fcitx
|
||||
env=INPUT_METHOD,fcitx
|
||||
env=SDL_IM_MODULE,fcitx
|
||||
env=GLFW_IM_MODULE,fcitx
|
||||
|
||||
# scale factor about qt (herr is 1.4)
|
||||
env=QT_QPA_PLATFORMTHEME,gtk3
|
||||
env=QT_AUTO_SCREEN_SCALE_FACTOR,1.25
|
||||
env=QT_QPA_PLATFORM,Wayland;xcb
|
||||
env=QT_WAYLAND_FORCE_DPI,140
|
||||
4
mango/mango/exec.conf
Normal file
4
mango/mango/exec.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
exec=killall waybar 2>/dev/null || true && waybar & disown
|
||||
exec-once=run-wlsunset.sh init
|
||||
exec-once=init-screen-scale
|
||||
exec-once=init-lockscreen
|
||||
133
mango/mango/keybindings.conf
Normal file
133
mango/mango/keybindings.conf
Normal file
@@ -0,0 +1,133 @@
|
||||
# Key Bindings
|
||||
# key name refer to `xev` or `wev` command output,
|
||||
# mod keys name: super,ctrl,alt,shift,none
|
||||
|
||||
# rofi
|
||||
bind=SUPER+SHIFT,x,spawn,rofi-settings-manager.sh
|
||||
bind=SUPER+SHIFT,p,spawn,rofi-power-manager.sh
|
||||
bind=SUPER+SHIFT,h,spawn,rofi-help-manager.sh
|
||||
bind=SUPER+SHIFT,c,spawn,rofi-config-manager.sh
|
||||
bind=SUPER,d,spawn,rofi-app-manager.sh
|
||||
|
||||
# reload config
|
||||
bind=SUPER,r,reload_config
|
||||
|
||||
# utility
|
||||
bind=SUPER+ALT,p,spawn,ss.sh
|
||||
bind=SUPER+ALT,v,spawn,sc.sh
|
||||
|
||||
bind=SUPER,Return,spawn,ghostty
|
||||
bind=SUPER,e,spawn,thunar
|
||||
bind=none,XF86AudioRaiseVolume,spawn,wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind=none,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bind=none,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bind=none,XF86AudioMicMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bind=none,XF86MonBrightnessUp,spawn,python ~/.local/bin/brightness.py +
|
||||
bind=none,XF86MonBrightnessDown,spawn,python ~/.local/bin/brightness.py -
|
||||
|
||||
# exit
|
||||
bind=SUPER,m,quit
|
||||
bind=SUPER+SHIFT,q,killclient,
|
||||
|
||||
# misc
|
||||
|
||||
# switch window focus
|
||||
# bind=SUPER,Tab,focusstack,next
|
||||
bind=SUPER,Left,focusdir,left
|
||||
bind=SUPER,Right,focusdir,right
|
||||
bind=SUPER,Up,focusdir,up
|
||||
bind=SUPER,Down,focusdir,down
|
||||
|
||||
# swap window
|
||||
bind=SUPER+SHIFT,Up,exchange_client,up
|
||||
bind=SUPER+SHIFT,Down,exchange_client,down
|
||||
bind=SUPER+SHIFT,Left,exchange_client,left
|
||||
bind=SUPER+SHIFT,Right,exchange_client,right
|
||||
|
||||
# switch window status
|
||||
bind=SUPER,g,toggleglobal,
|
||||
bind=ALT,Tab,toggleoverview,
|
||||
bind=SUPER,t,togglefloating,
|
||||
bind=ALT,a,togglemaximizescreen,
|
||||
bind=ALT,f,togglefullscreen,
|
||||
# bind=ALT+SHIFT,f,togglefakefullscreen,
|
||||
bind=SUPER,o,toggleoverlay,
|
||||
|
||||
# scratchpad, use super+t to restore it
|
||||
bind=SUPER,i,minimized,
|
||||
bind=SUPER+SHIFT,I,restore_minimized
|
||||
bind=SUPER,s,toggle_scratchpad
|
||||
|
||||
# scroller layout
|
||||
bind=ALT,e,set_proportion,1.0
|
||||
bind=ALT,x,switch_proportion_preset,
|
||||
# bind=SUPER,s,setlayout,scroller
|
||||
|
||||
# switch layout
|
||||
bind=SUPER,n,switch_layout
|
||||
bind=SUPER,comma,setlayout,tile
|
||||
bind=SUPER,period,setlayout,scroller
|
||||
|
||||
# tag switch
|
||||
bind=ALT,Left,viewtoleft,0
|
||||
bind=ALT,Right,viewtoright,0
|
||||
bind=CTRL+SUPER,Left,tagtoleft,0
|
||||
bind=CTRL+SUPER,Right,tagtoright,0
|
||||
|
||||
bind=Ctrl,1,view,1,0
|
||||
bind=Ctrl,2,view,2,0
|
||||
bind=Ctrl,3,view,3,0
|
||||
bind=Ctrl,4,view,4,0
|
||||
bind=Ctrl,5,view,5,0
|
||||
bind=Ctrl,6,view,6,0
|
||||
bind=Ctrl,7,view,7,0
|
||||
bind=Ctrl,8,view,8,0
|
||||
bind=Ctrl,9,view,9,0
|
||||
|
||||
# tag: move client to the tag and focus it
|
||||
# tagsilent: move client to the tag and not focus it
|
||||
# bind=Alt,1,tagsilent,1
|
||||
bind=Alt,1,tag,1,0
|
||||
bind=Alt,2,tag,2,0
|
||||
bind=Alt,3,tag,3,0
|
||||
bind=Alt,4,tag,4,0
|
||||
bind=Alt,5,tag,5,0
|
||||
bind=Alt,6,tag,6,0
|
||||
bind=Alt,7,tag,7,0
|
||||
bind=Alt,8,tag,8,0
|
||||
bind=Alt,9,tag,9,0
|
||||
|
||||
# monitor switch
|
||||
# bind=alt+shift,Left,focusmon,left
|
||||
# bind=alt+shift,Right,focusmon,right
|
||||
bind=ALT+SHIFT,Left,tagmon,left
|
||||
bind=ALT+SHIFT,Right,tagmon,right
|
||||
|
||||
# gaps
|
||||
# bind=ALT+SHIFT,X,incgaps,1
|
||||
# bind=ALT+SHIFT,Z,incgaps,-1
|
||||
# bind=ALT+SHIFT,R,togglegaps
|
||||
|
||||
# movewin
|
||||
# bind=SUPER+SHIFT,Up,movewin,+0,-50
|
||||
# bind=SUPER+SHIFT,Down,movewin,+0,+50
|
||||
# bind=SUPER+SHIFT,Left,movewin,-50,+0
|
||||
# bind=SUPER+SHIFT,Right,movewin,+50,+0
|
||||
|
||||
# resizewin
|
||||
bind=SUPER+ALT,Up,resizewin,+0,-50
|
||||
bind=SUPER+ALT,Down,resizewin,+0,+50
|
||||
bind=SUPER+ALT,Left,resizewin,-50,+0
|
||||
bind=SUPER+ALT,Right,resizewin,+50,+0
|
||||
|
||||
# Mouse Button Bindings
|
||||
# NONE mode key only work in ov mode
|
||||
mousebind=SUPER,btn_left,moveresize,curmove
|
||||
# mousebind=NONE,btn_middle,togglemaximizescreen,0
|
||||
mousebind=SUPER,btn_right,moveresize,curresize
|
||||
mousebind=NONE,btn_left,toggleoverview,1
|
||||
mousebind=NONE,btn_right,killclient,0
|
||||
|
||||
# Axis Bindings
|
||||
axisbind=SUPER,UP,viewtoleft_have_client
|
||||
axisbind=SUPER,DOWN,viewtoright_have_client
|
||||
34
mango/mango/rules.conf
Normal file
34
mango/mango/rules.conf
Normal file
@@ -0,0 +1,34 @@
|
||||
# you can use mmsg -g to see all windows opened
|
||||
# you can use mmsg -e to get the last open layer name
|
||||
###
|
||||
# layout support:
|
||||
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
|
||||
tagrule=id:1,layout_name:tile
|
||||
tagrule=id:2,layout_name:tile
|
||||
tagrule=id:3,layout_name:tile
|
||||
tagrule=id:4,layout_name:tile
|
||||
tagrule=id:5,layout_name:tile
|
||||
tagrule=id:6,layout_name:tile
|
||||
tagrule=id:7,layout_name:tile
|
||||
tagrule=id:8,layout_name:tile
|
||||
tagrule=id:9,layout_name:tile
|
||||
|
||||
# https://github.com/DreamMaoMao/mangowc/wiki#window-effects-configuration
|
||||
# layer rule
|
||||
layerrule=animation_type_open:zoom,layer_name:rofi
|
||||
layerrule=animation_type_close:fade,layer_name:rofi
|
||||
layerrule=blur_optimized:0,layer_name:rofi
|
||||
|
||||
# no blur slurp select layer
|
||||
layerrule=noblur:1,layer_name:selection
|
||||
|
||||
# layerrule=noblur:0,layer_name:rofi
|
||||
|
||||
windowrule=isfloating:1,isoverlay:1,appid:mpv
|
||||
|
||||
windowrule=blur:1,unfocused_opacity:1,focused_opacity:0.95,appid:com.mitchellh.ghostty
|
||||
|
||||
windowrule=isoverlay:1,appid:thunar,title:.*Properties.*
|
||||
windowrule=isoverlay:1,appid:thunar,title:.*Preferences.*
|
||||
windowrule=isoverlay:1,appid:thunar,title:.*Custom.*
|
||||
windowrule=isoverlay:1,appid:thunar,title:.*Configure.*
|
||||
@@ -1,5 +1,8 @@
|
||||
# general packages
|
||||
sudo pacman -S swaybg wl-clipboard wl-clip-persist cliphist slurp grim satty mako neovim firefox ghostty fastfetch xdg-desktop-portal-wlr xdg-desktop-portal-gtk libnotify unzip bat rsync exa ripgrep bash-completion jq otf-font-awesome thunar less fd mpv btop
|
||||
sudo pacman -S swaybg wl-clipboard wl-clip-persist cliphist slurp grim satty mako neovim firefox ghostty fastfetch xdg-desktop-portal-wlr xdg-desktop-portal-gtk libnotify unzip bat rsync exa ripgrep bash-completion jq otf-font-awesome thunar tumbler less fd mpv btop rofi
|
||||
|
||||
# screenrecording
|
||||
yay -S wl-screenrec
|
||||
|
||||
# fix locale
|
||||
# double check /etc/locale.gen for en_US.UTF-8
|
||||
@@ -100,7 +103,21 @@ yay -S swaylock-effects-git
|
||||
# files -> catppuccin-mocha-alt2
|
||||
# move to ~/.local/share/icons
|
||||
# gtk-update-icon-cache ~/.local/share/icons/catppuccin-mocha-icons
|
||||
#
|
||||
# rofi icons new:
|
||||
sudo pacman -S python-lxml python-gobject gtk3
|
||||
git clone https://github.com/worron/ACYLS.git ~/.icons/ACYLS
|
||||
|
||||
# script this later
|
||||
cd ~/.icons/ACYLS/scalable/apps/
|
||||
ln -s ../real_icons/apps/gsd-xrandr.svg network.cycles.wdisplays.svg
|
||||
ln -s ../real_icons/apps/qvidcap.svg com.obsproject.Studio.svg
|
||||
ln -s ../real_icons/apps/gnome-settings-accessibility-keyboard.svg fcitx.svg
|
||||
ln -s ../real_icons/apps/aniwall.svg waypaper.svg
|
||||
ln -s ../real_icons/apps/file-manager.svg org.xfce.thunar.svg
|
||||
ln -s ../real_icons/apps/gnome-monitor.svg btop.svg
|
||||
ln -s ../real_icons/apps/bash.svg com.mitchellh.ghostty.svg
|
||||
ln -s ../real_icons/apps/preferences-sound.svg org.pulseaudio.pavucontrol.svg
|
||||
|
||||
# terminal fzf
|
||||
sudo pacman -S fzf
|
||||
|
||||
154
mango/rofi/app-manager/app-manager.rasi
Normal file
154
mango/rofi/app-manager/app-manager.rasi
Normal file
@@ -0,0 +1,154 @@
|
||||
configuration {
|
||||
hover-select: true;
|
||||
me-select-entry: "MousePrimary";
|
||||
me-accept-entry: "!MousePrimary";
|
||||
font: "Geist 12";
|
||||
show-icons: true;
|
||||
// icon-theme: "catppuccin-mocha";
|
||||
icon-theme: "ACYLS";
|
||||
display-drun: " ";
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/theme.rasi"
|
||||
|
||||
// Main //
|
||||
window {
|
||||
height: 465px;
|
||||
width: 1010px;
|
||||
transparency: "real";
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
padding: 0em;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
orientation: horizontal;
|
||||
children: [ "imageBoxOverlay" , "listbox", "rightTab" ];
|
||||
background-color: @base-200-opa;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
rightTab {
|
||||
background-color: transparent;
|
||||
background-image: linear-gradient(135deg,#B37ADE26,#d5aed6d9);
|
||||
expand: false;
|
||||
width: 3.5em;
|
||||
}
|
||||
|
||||
imageBoxOverlay {
|
||||
children: ["imageBox"];
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
margin: 1.4em 0.8em 1.4em 1.4em;
|
||||
border-radius: 1em;
|
||||
padding: 0.6em;
|
||||
background-image: linear-gradient(135deg,#B37ADE,#f3e2a9,#DE7AB9,#7A7FDE);
|
||||
}
|
||||
imageBox {
|
||||
enabled: true;
|
||||
background-image: url("~/.config/rofi/images/neco/28.jpg", width);
|
||||
border-radius: 1em;
|
||||
}
|
||||
// Lists //
|
||||
listbox {
|
||||
spacing: 0em;
|
||||
padding: 1.4em 0.8em 1.4em 0em;
|
||||
children: [ "inputbar" , "listview" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
// Inputs //
|
||||
inputbar {
|
||||
enabled: true;
|
||||
margin: 0.2em 0.8em 0.8em 0.8em;
|
||||
children: [ "prompt", "entry" ];
|
||||
background-color: transparent;
|
||||
border-radius: 0.5em;
|
||||
}
|
||||
prompt {
|
||||
font: "Geist 14";
|
||||
text-color: #E5C38F;
|
||||
background-color: transparent;
|
||||
padding: 0.8em 0.5em 0em 0.5em;
|
||||
}
|
||||
entry {
|
||||
font: "Geist 11";
|
||||
text-color: #f5e0dcff;
|
||||
background-color: #1E1B21;
|
||||
background-image: linear-gradient(135deg,#2E2A33,#1E1B21);
|
||||
border-radius: 0.5em;
|
||||
border-color: @secondary;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: #BF9FD875;
|
||||
border: 1px;
|
||||
padding: 0.4em 0.2em 0.2em 0.4em;
|
||||
enabled: true;
|
||||
}
|
||||
listview {
|
||||
enabled: true;
|
||||
spacing: 0.6em;
|
||||
padding: 0em 1em;
|
||||
columns: 1;
|
||||
lines: 8;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
expand: true;
|
||||
fixed-height: false;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
// Elements //
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 1em;
|
||||
padding: 0.4em 0.5em 0.4em 1.5em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: #E6D5E6;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 0.5em;
|
||||
background-image: linear-gradient(135deg,#d5aed666,#7866C44d,#7A7FDE66);
|
||||
text-color: @secondary;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
}
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
}
|
||||
|
||||
// Error message //
|
||||
error-message {
|
||||
text-color: #cdd6f4ff;
|
||||
background-color: #11111be6;
|
||||
text-transform: capitalize;
|
||||
children: [ "textbox" ];
|
||||
}
|
||||
|
||||
textbox {
|
||||
text-color: inherit;
|
||||
background-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
19
mango/rofi/app-manager/rofi-app-manager.sh
Executable file
19
mango/rofi/app-manager/rofi-app-manager.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
THEME_FILE=~/.config/rofi/app-manager/app-manager.rasi
|
||||
|
||||
post_rofi() {
|
||||
local image_dir="$HOME/.config/rofi/images/neco"
|
||||
local current_image=$(grep "background-image: url" "$THEME_FILE" | cut -d'"' -f2)
|
||||
local new_image=$(find "$image_dir" -type f | sort -R | head -n 1 | sed "s|^$HOME|~|")
|
||||
while true; do
|
||||
if [[ "$new_image" != "$current_image" ]]; then
|
||||
sed -i 's|url("[^"]*"|url("'"$new_image"'"|' "$THEME_FILE"
|
||||
break
|
||||
fi
|
||||
new_image=$(find "$image_dir" -type f | sort -R | head -n 1 | sed "s|^$HOME|~|")
|
||||
done
|
||||
}
|
||||
|
||||
rofi -show drun -theme ~/.config/rofi/app-manager/app-manager.rasi
|
||||
post_rofi &
|
||||
129
mango/rofi/config-manager/config-manager.rasi
Normal file
129
mango/rofi/config-manager/config-manager.rasi
Normal file
@@ -0,0 +1,129 @@
|
||||
configuration {
|
||||
font: "Geist 12";
|
||||
hover-select: true;
|
||||
me-select-entry: "MousePrimary";
|
||||
me-accept-entry: "!MousePrimary";
|
||||
click-to-exit: true;
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/theme.rasi"
|
||||
|
||||
// Main //
|
||||
window {
|
||||
width: 20.3em;
|
||||
height: 13.5em;
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
cursor: "default";
|
||||
spacing: 0em;
|
||||
opacity: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
orientation: vertical;
|
||||
children: [ "message", "mainContent" ];
|
||||
border: 1px;
|
||||
border-color: @primary-opa;
|
||||
border-radius: 1em;
|
||||
background-color: transparent;
|
||||
}
|
||||
// decorative text at top
|
||||
message {
|
||||
enabled: true;
|
||||
background-color: @base-200;
|
||||
text-color: @primary;
|
||||
border: none;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px 1em 12px 0px;
|
||||
font: "Octal Light 18";
|
||||
letter-spacing: 5px;
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
mainContent {
|
||||
orientation: horizontal;
|
||||
children: [ "listview", "imageBoxOverlay" ];
|
||||
background-color: @base-200-opa;
|
||||
padding: 1em 0 1em 0;
|
||||
}
|
||||
imageBoxOverlay {
|
||||
children: ["imageBox"];
|
||||
margin: 0em 1em 0em 0em;
|
||||
border-radius: 1em;
|
||||
padding: 0.4em;
|
||||
background-image: linear-gradient(135deg,#B37ADE,#F59FD5,#7A7FDE);
|
||||
}
|
||||
imageBox {
|
||||
enabled: true;
|
||||
background-image: url("~/.config/rofi/images/oc/oc-2.png", width);
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
// Lists //
|
||||
listview {
|
||||
enabled: true;
|
||||
spacing: 0.6em;
|
||||
padding: 0em 1em;
|
||||
columns: 1;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
expand: true;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
// Elements //
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 1em;
|
||||
padding: 0.4em 0.5em 0.4em 1.5em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: #E6D5E6;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 0.5em;
|
||||
background-image: linear-gradient(135deg,#d5aed666,#7866C44d,#7A7FDE66);
|
||||
text-color: @secondary;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
}
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
}
|
||||
|
||||
// Error message //
|
||||
error-message {
|
||||
text-color: #cdd6f4ff;
|
||||
background-color: #11111be6;
|
||||
text-transform: capitalize;
|
||||
children: [ "textbox" ];
|
||||
}
|
||||
|
||||
textbox {
|
||||
text-color: inherit;
|
||||
background-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
63
mango/rofi/config-manager/rofi-config-manager.sh
Executable file
63
mango/rofi/config-manager/rofi-config-manager.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# ln -s ~/.config/rofi/config-manager/rofi-config-manager.sh ~/.local/bin/rofi-config-manager.sh
|
||||
THEME_FILE=~/.config/rofi/config-manager/config-manager.rasi
|
||||
|
||||
NVIM=" Neovim"
|
||||
HYPRLAND=" Hyprland"
|
||||
WAYBAR=" Waybar"
|
||||
GHOSTTY=" Ghostty"
|
||||
ROFI_APP=" Rofi App"
|
||||
ROFI_SETT=" Rofi Sett"
|
||||
ROFI_CONF=" Rofi Conf"
|
||||
ROFI_POW=" Rofi Pow"
|
||||
HYPRLOCK=" Hyprlock"
|
||||
HYPRIDLE=" Hypridle"
|
||||
HYPRPAPER=" Hyprpaper"
|
||||
MAKO=" Mako"
|
||||
chosen=$(echo -e "$NVIM\n$HYPRLAND\n$WAYBAR\n$GHOSTTY\n$ROFI_APP\n$ROFI_SETT\n$ROFI_CONF\n$ROFI_POW\n$HYPRLOCK\n$HYPRIDLE\n$MAKO\n$HYPRPAPER" | rofi -mesg " Configs" -dmenu -p "Action:" -config ~/.config/rofi/config-manager/config-manager.rasi)
|
||||
|
||||
case $chosen in
|
||||
"$NVIM")
|
||||
ghostty -e nvim ~/.config/nvim/init.lua & disown
|
||||
ghostty -e nvim ~/.config/nvim/lua/settings.lua & disown
|
||||
;;
|
||||
"$HYPRLAND")
|
||||
ghostty -e nvim ~/.config/hypr/hyprland.conf & disown
|
||||
;;
|
||||
"$HYPRLOCK")
|
||||
ghostty -e nvim ~/.config/hypr/hyprlock.conf & disown
|
||||
;;
|
||||
"$HYPRIDLE")
|
||||
ghostty -e nvim ~/.config/hypr/hypridle.conf & disown
|
||||
;;
|
||||
"$WAYBAR")
|
||||
ghostty -e nvim ~/.config/waybar/config.jsonc & disown
|
||||
ghostty -e nvim ~/.config/waybar/style.css & disown
|
||||
;;
|
||||
"$GHOSTTY")
|
||||
ghostty -e nvim ~/.config/ghostty/config & disown
|
||||
ghostty -e nvim ~/.config/ghostty/themes/navarch & disown
|
||||
;;
|
||||
"$MAKO")
|
||||
ghostty -e nvim ~/.config/mako/config & disown
|
||||
;;
|
||||
"$ROFI_APP")
|
||||
ghostty -e nvim ~/.config/rofi/app-manager/app-manager.rasi & disown
|
||||
ghostty -e nvim ~/.config/rofi/app-manager/rofi-app-manager.sh & disown
|
||||
;;
|
||||
"$ROFI_SETT")
|
||||
ghostty -e nvim ~/.config/rofi/settings-manager/settings-manager.rasi & disown
|
||||
ghostty -e nvim ~/.config/rofi/settings-manager/rofi-settings-manager.sh & disown
|
||||
;;
|
||||
"$ROFI_CONF")
|
||||
ghostty -e nvim ~/.config/rofi/config-manager/config-manager.rasi & disown
|
||||
ghostty -e nvim ~/.config/rofi/config-manager/rofi-config-manager.sh & disown
|
||||
;;
|
||||
"$ROFI_POW")
|
||||
ghostty -e nvim ~/.config/rofi/power-manager/power-manager.rasi & disown
|
||||
ghostty -e nvim ~/.config/rofi/power-manager/rofi-power-manager.sh & disown
|
||||
;;
|
||||
"$HYPRPAPER")
|
||||
ghostty -e nvim ~/.config/hypr/hyprpaper.conf & disown
|
||||
;;
|
||||
esac
|
||||
152
mango/rofi/help-manager/help-manager.rasi
Normal file
152
mango/rofi/help-manager/help-manager.rasi
Normal file
@@ -0,0 +1,152 @@
|
||||
configuration {
|
||||
hover-select: true;
|
||||
font: "Geist 12";
|
||||
show-icons: true;
|
||||
icon-theme: "Papirus";
|
||||
display-drun: " ";
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/theme.rasi"
|
||||
|
||||
// Main //
|
||||
window {
|
||||
height: 498px;
|
||||
width: 1110px;
|
||||
transparency: "real";
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
padding: 0em;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
orientation: horizontal;
|
||||
children: [ "imageBoxOverlay" , "listbox", "rightTab" ];
|
||||
background-color: @base-200-opa;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
rightTab {
|
||||
background-color: transparent;
|
||||
background-image: linear-gradient(135deg,#B37ADE26,#d5aed6d9);
|
||||
expand: false;
|
||||
width: 3.5em;
|
||||
}
|
||||
|
||||
imageBoxOverlay {
|
||||
children: ["imageBox"];
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
margin: 1.4em 0.8em 1.4em 1.4em;
|
||||
border-radius: 1em;
|
||||
padding: 0.6em;
|
||||
background-image: linear-gradient(135deg,#B37ADE,#f3e2a9,#DE7AB9,#7A7FDE);
|
||||
}
|
||||
imageBox {
|
||||
enabled: true;
|
||||
background-image: url("~/.config/rofi/images/neco/14.jpg", width);
|
||||
border-radius: 1em;
|
||||
}
|
||||
// Lists //
|
||||
listbox {
|
||||
spacing: 0em;
|
||||
padding: 1.4em 0.8em 1.4em 0em;
|
||||
children: [ "inputbar" , "listview" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
// Inputs //
|
||||
inputbar {
|
||||
enabled: true;
|
||||
margin: 0.2em 0.8em 0.8em 0.8em;
|
||||
children: [ "prompt", "entry" ];
|
||||
background-color: transparent;
|
||||
border-radius: 0.5em;
|
||||
}
|
||||
prompt {
|
||||
font: "Geist 14";
|
||||
text-color: #E5C38F;
|
||||
background-color: transparent;
|
||||
padding: 0.8em 0.5em 0em 0.5em;
|
||||
}
|
||||
entry {
|
||||
font: "Geist 11";
|
||||
text-color: #f5e0dcff;
|
||||
background-color: #1E1B21;
|
||||
background-image: linear-gradient(135deg,#2E2A33,#1E1B21);
|
||||
border-radius: 0.5em;
|
||||
border-color: @secondary;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: #BF9FD875;
|
||||
border: 1px;
|
||||
padding: 0.4em 0.2em 0.2em 0.4em;
|
||||
enabled: true;
|
||||
}
|
||||
listview {
|
||||
enabled: true;
|
||||
spacing: 0.6em;
|
||||
padding: 0em 0em;
|
||||
columns: 1;
|
||||
lines: 8;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
expand: true;
|
||||
fixed-height: false;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
// Elements //
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 1em;
|
||||
padding: 0.4em 0.5em 0.4em 0.4em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: #E6D5E6;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 0.5em;
|
||||
background-image: linear-gradient(135deg,#d5aed666,#7866C44d,#7A7FDE66);
|
||||
text-color: @secondary;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
}
|
||||
element-icon {
|
||||
size: 0em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-text {
|
||||
font: "Geist Mono 10";
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
}
|
||||
|
||||
// Error message //
|
||||
error-message {
|
||||
text-color: #cdd6f4ff;
|
||||
background-color: #11111be6;
|
||||
text-transform: capitalize;
|
||||
children: [ "textbox" ];
|
||||
}
|
||||
|
||||
textbox {
|
||||
text-color: inherit;
|
||||
background-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
29
mango/rofi/help-manager/neovim-keybinds.txt
Normal file
29
mango/rofi/help-manager/neovim-keybinds.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
Ldr + l → Refresh LSP
|
||||
Ctl + f → Scroll Up Cmp
|
||||
Ctl + b → Scroll Down Cmp
|
||||
]d → Next Diagnostic
|
||||
[d → Prev Diagnostic
|
||||
Ldr + s → Search Replace Current
|
||||
Ldr + S → Search Replace Global
|
||||
Ldr + F → Format Code
|
||||
Ldr + x → Clear Diagnostics
|
||||
Ldr + cc → Comment/Uncomment
|
||||
Ldr + xx → Toggle/Show Errors/Warnings
|
||||
Ctrl + f → Find Search File
|
||||
Ldr + fg → Find Live Grep Search
|
||||
Ldr + ca → Show Code Actions
|
||||
K → Peek Signature
|
||||
gd → Go To Definition
|
||||
gr → Find References
|
||||
Ctrl + l → Clear Highlights
|
||||
Alt + Arrows → Navigate/Switch Panels
|
||||
Alt + b → Navigate/Jump Back Buf
|
||||
Alt + n → Navigate/Jump Next Buf
|
||||
Alt + c → Clear Jumps/Buf
|
||||
Alt + q → Clear/Quit Current Jump/Buf
|
||||
Ctrl + Tab → Add File To Tab
|
||||
Ldr + E → Open Directory/netrw
|
||||
(netrw) Ldr + ER → Close netrw
|
||||
(netrw) Ldr + d → Duplicate file
|
||||
(netrw) Ldr + sw → Set Current Root Dir
|
||||
Ldr + e{,<,(,",' → Wrap Word With Wrapper
|
||||
42
mango/rofi/help-manager/rofi-help-manager.sh
Executable file
42
mango/rofi/help-manager/rofi-help-manager.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
THEME_FILE=~/.config/rofi/help-manager/help-manager.rasi
|
||||
post_rofi() {
|
||||
local image_dir="$HOME/.config/rofi/images/neco"
|
||||
local current_image=$(grep "background-image: url" "$THEME_FILE" | cut -d'"' -f2)
|
||||
local new_image=$(find "$image_dir" -type f | sort -R | head -n 1 | sed "s|^$HOME|~|")
|
||||
while true; do
|
||||
if [[ "$new_image" != "$current_image" ]]; then
|
||||
sed -i 's|url("[^"]*"|url("'"$new_image"'"|' "$THEME_FILE"
|
||||
break
|
||||
fi
|
||||
new_image=$(find "$image_dir" -type f | sort -R | head -n 1 | sed "s|^$HOME|~|")
|
||||
done
|
||||
}
|
||||
|
||||
SYSTEM=" System"
|
||||
NVIM=" Neovim"
|
||||
BASH_HELP=" Bash"
|
||||
chosen=$(echo -e "$SYSTEM\n$NVIM\n$BASH_HELP" | rofi -mesg " Keybinds" -dmenu -p "Action:" -config ~/.config/rofi/config-manager/config-manager.rasi)
|
||||
|
||||
case $chosen in
|
||||
"$NVIM")
|
||||
cat ~/.config/rofi/help-manager/neovim-keybinds.txt | rofi -mesg " Neovim Binds" -dmenu -i -p "" -config $THEME_FILE \
|
||||
-font "Geist Mono 14" \
|
||||
-kb-accept-entry ""
|
||||
;;
|
||||
"$SYSTEM")
|
||||
cat ~/.config/rofi/help-manager/system-keybinds.txt | rofi -mesg " System Binds" -dmenu -i -p "" -config $THEME_FILE \
|
||||
-font "Geist Mono 14" \
|
||||
-kb-accept-entry ""
|
||||
;;
|
||||
"$BASH_HELP")
|
||||
if [ ! -d "/tmp/firefox-dev" ]; then
|
||||
echo "Creating firefox profile"
|
||||
mkdir -p /tmp/firefox-dev
|
||||
firefox -CreateProfile "dev-profile /tmp/firefox-dev"
|
||||
fi
|
||||
|
||||
firefox -P dev-profile -private-window https://devhints.io/bash &
|
||||
;;
|
||||
esac
|
||||
post_rofi &
|
||||
22
mango/rofi/help-manager/system-keybinds.txt
Normal file
22
mango/rofi/help-manager/system-keybinds.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Super + ALT + p → Copy/Save Screenshot
|
||||
Super + ALT + v → Screen Region Video Capture
|
||||
Super + Return → Terminal
|
||||
Super + e → File Manager
|
||||
Super + Shft + q → Quit Window
|
||||
Super + Shft + c → Configs Launcher
|
||||
Super + Shft + x → Settings Launcher
|
||||
Super + Shft + p → Power/System Launcher
|
||||
Super + d → App/Program Launcher
|
||||
Super + t → Toggle Floating Window
|
||||
Super + Arrows → Navigate Windows
|
||||
Super + Shft + Arrows → Move Windows
|
||||
Super + LMB (Drag) → Move Window
|
||||
Super + RMB (Drag) → Resize Window
|
||||
Super + , (comma) → Toggle Tile Mode
|
||||
Super + . (period) → Toggle Scroller Mode
|
||||
Ctrl + (0-9) → Navigate To Workspace#
|
||||
Ctrl + Super + L/R Arr → Move L/R With Focused Window
|
||||
Alt + (0-9) → Move Window To Workspace#
|
||||
Alt + a → Toggle Maximize Window
|
||||
Alt + f → Toggle Fullscreen Window
|
||||
Alt + tab → Toggle Overview Mode
|
||||
116
mango/rofi/power-manager/power-manager.rasi
Normal file
116
mango/rofi/power-manager/power-manager.rasi
Normal file
@@ -0,0 +1,116 @@
|
||||
configuration {
|
||||
hover-select: true;
|
||||
me-select-entry: "MousePrimary";
|
||||
me-accept-entry: "!MousePrimary";
|
||||
click-to-exit: true;
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/theme.rasi"
|
||||
// Main //
|
||||
window {
|
||||
font: "Geist 12";
|
||||
width: 15em;
|
||||
height: 13.75em;
|
||||
transparency: "real";
|
||||
enabled: true;
|
||||
cursor: "default";
|
||||
spacing: 0em;
|
||||
background-color: transparent;
|
||||
border-radius: 1em;
|
||||
}
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
background-color: @base-200-opa;
|
||||
border-radius: 1em;
|
||||
border-color: @primary-opa;
|
||||
border: 3px;
|
||||
}
|
||||
|
||||
// decorative text at top
|
||||
message {
|
||||
enabled: true;
|
||||
background-color: @base-200;
|
||||
text-color: @primary;
|
||||
border: none;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px 1em 12px 0px;
|
||||
font: "Octal Light 20";
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
// Lists //
|
||||
listview {
|
||||
enabled: true;
|
||||
spacing: 0.6em;
|
||||
padding: 1em;
|
||||
columns: 1;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
expand: true;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
// Elements //
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 1em;
|
||||
padding: 0.4em 0.5em 0.4em 3.3em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element.normal.normal,
|
||||
element.alternate.normal {
|
||||
background-color: transparent;
|
||||
text-color: @neutral;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
border-radius: 0.5em;
|
||||
// background-color: @primary-opa;
|
||||
background-image: linear-gradient(135deg,#d5aed666,#7866C44d,#7A7FDE66);
|
||||
text-color: @secondary;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
}
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
}
|
||||
|
||||
// Error message //
|
||||
error-message {
|
||||
text-color: #cdd6f4ff;
|
||||
background-color: #11111be6;
|
||||
text-transform: capitalize;
|
||||
children: [ "textbox" ];
|
||||
}
|
||||
|
||||
textbox {
|
||||
text-color: inherit;
|
||||
background-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
23
mango/rofi/power-manager/rofi-power-manager.sh
Executable file
23
mango/rofi/power-manager/rofi-power-manager.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
# save as ~/.local/bin/rofi-power-manager.sh
|
||||
|
||||
LOCKSCREEN=" Lock Screen"
|
||||
SLEEP=" Sleep"
|
||||
REBOOT=" Reboot"
|
||||
SHUTDOWN=" Shutdown"
|
||||
chosen=$(echo -e "$SLEEP\n$REBOOT\n$SHUTDOWN\n$LOCKSCREEN" | rofi -mesg " $HOSTNAME" -dmenu -p "Action:" -config ~/.config/rofi/power-manager/power-manager.rasi)
|
||||
|
||||
case $chosen in
|
||||
"$SLEEP")
|
||||
systemctl suspend-then-hibernate
|
||||
;;
|
||||
"$LOCKSCREEN")
|
||||
run-lockscreen.sh
|
||||
;;
|
||||
"$REBOOT")
|
||||
systemctl reboot
|
||||
;;
|
||||
"$SHUTDOWN")
|
||||
systemctl poweroff
|
||||
;;
|
||||
esac
|
||||
35
mango/rofi/settings-manager/rofi-settings-manager.sh
Executable file
35
mango/rofi/settings-manager/rofi-settings-manager.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
# run init setup.sh to symlink scripts
|
||||
THEME_FILE=~/.config/rofi/settings-manager/settings-manager.rasi
|
||||
|
||||
MONITOR=" Monitor"
|
||||
WALLPAPER=" Wallpaper"
|
||||
SOUND=" Sound"
|
||||
BLUETOOTH=" Bluetooth"
|
||||
NETWORK=" Network"
|
||||
NIGHTLIGHT=" Night Light"
|
||||
|
||||
chosen=$(echo -e "$MONITOR\n$SOUND\n$BLUETOOTH\n$NETWORK\n$NIGHTLIGHT" | rofi -mesg " Settings" -dmenu -p "Action:" -config ~/.config/rofi/settings-manager/settings-manager.rasi -monitor "$ROFI_MONITOR")
|
||||
|
||||
case $chosen in
|
||||
"$MONITOR")
|
||||
wdisplays
|
||||
;;
|
||||
"$WALLPAPER")
|
||||
waypaper
|
||||
;;
|
||||
"$SOUND")
|
||||
pavucontrol
|
||||
;;
|
||||
"$BLUETOOTH")
|
||||
blueman-manager
|
||||
;;
|
||||
"$NETWORK")
|
||||
ghostty -e nmtui
|
||||
;;
|
||||
"$NIGHTLIGHT")
|
||||
ghostty -e ~/.local/bin/run-wlsunset.sh
|
||||
;;
|
||||
esac
|
||||
|
||||
post_rofi &
|
||||
129
mango/rofi/settings-manager/settings-manager.rasi
Normal file
129
mango/rofi/settings-manager/settings-manager.rasi
Normal file
@@ -0,0 +1,129 @@
|
||||
configuration {
|
||||
font: "Geist 12";
|
||||
hover-select: true;
|
||||
me-select-entry: "MousePrimary";
|
||||
me-accept-entry: "!MousePrimary";
|
||||
click-to-exit: true;
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/theme.rasi"
|
||||
|
||||
// Main //
|
||||
window {
|
||||
width: 26em;
|
||||
height: 15.8em;
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
cursor: "default";
|
||||
spacing: 0em;
|
||||
opacity: 0;
|
||||
background-color: transparent;
|
||||
extend: false;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
orientation: vertical;
|
||||
children: [ "message", "mainContent" ];
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
border-radius: 1em;
|
||||
background-color: transparent;
|
||||
}
|
||||
// decorative text at top
|
||||
message {
|
||||
enabled: true;
|
||||
background-color: @base-200;
|
||||
text-color: @primary;
|
||||
border: none;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px 1em 12px 0px;
|
||||
font: "Octal Light 18";
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
mainContent {
|
||||
padding: 1em 0;
|
||||
orientation: horizontal;
|
||||
children: [ "listview", "imageBoxOverlay" ];
|
||||
background-color: @base-200-opa;
|
||||
}
|
||||
imageBoxOverlay {
|
||||
children: ["imageBox"];
|
||||
margin: 0em 1em 0em 0em;
|
||||
border-radius: 1em;
|
||||
padding: 0.4em;
|
||||
background-image: linear-gradient(135deg,#B575E6,#EBD488,#9084E8);
|
||||
}
|
||||
imageBox {
|
||||
enabled: true;
|
||||
background-image: url("~/.config/rofi/images/oc/oc-1.png", width);
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
// Lists //
|
||||
listview {
|
||||
enabled: true;
|
||||
spacing: 0.6em;
|
||||
padding: 0em 1em;
|
||||
columns: 1;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
expand: true;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
// Elements //
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 1em;
|
||||
padding: 0.4em 0em 0.4em 2.9em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: #E6D5E6;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 0.5em;
|
||||
background-image: linear-gradient(135deg,#d5aed666,#7866C44d,#7A7FDE66);
|
||||
text-color: @secondary;
|
||||
border-color: @primary-opa;
|
||||
border: 1px;
|
||||
}
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: bold;
|
||||
}
|
||||
|
||||
// Error message //
|
||||
error-message {
|
||||
text-color: #cdd6f4ff;
|
||||
background-color: #11111be6;
|
||||
text-transform: capitalize;
|
||||
children: [ "textbox" ];
|
||||
}
|
||||
|
||||
textbox {
|
||||
text-color: inherit;
|
||||
background-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
5
mango/rofi/setup.sh
Normal file
5
mango/rofi/setup.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
ln -s ~/.config/rofi/app-manager/rofi-app-manager.sh ~/.local/bin/rofi-app-manager.sh
|
||||
ln -s ~/.config/rofi/settings-manager/rofi-settings-manager.sh ~/.local/bin/rofi-settings-manager.sh
|
||||
ln -s ~/.config/rofi/power-manager/rofi-power-manager.sh ~/.local/bin/rofi-power-manager.sh
|
||||
ln -s ~/.config/rofi/help-manager/rofi-help-manager.sh ~/.local/bin/rofi-help-manager.sh
|
||||
16
mango/rofi/theme.rasi
Normal file
16
mango/rofi/theme.rasi
Normal file
@@ -0,0 +1,16 @@
|
||||
* {
|
||||
base-300: #000000;
|
||||
|
||||
base-100: #393342;
|
||||
base-200: #211C2E;
|
||||
base-200-opa: #3D3445a6;
|
||||
neutral: #BAB6A9;
|
||||
neutral-content:#5C543E;
|
||||
primary: #d5aed6;
|
||||
primary-opa: #d5aed699;
|
||||
secondary: #f3e2a9;
|
||||
accent: #7866C4;
|
||||
|
||||
success: #a3be8c;
|
||||
error: #C97F87;
|
||||
}
|
||||
@@ -6,11 +6,14 @@ cp -r ~/.config/xdg-desktop-portal/* ./xdg-desktop-portal
|
||||
cp ~/.config/user-dirs.conf .
|
||||
cp ~/.config/starship.toml .
|
||||
cp -r ~/.config/waypaper/* ./waypaper
|
||||
cp -r ~/.config/fastfetch/* ./fastfetch
|
||||
rsync -av ~/.config/fontconfig/ ./fontconfig
|
||||
rsync -av ~/.config/btop/ ./btop
|
||||
|
||||
cp ~/.config/rofi/theme.rasi ./rofi
|
||||
cp ~/.config/rofi/app-manager/* ./rofi/app-manager
|
||||
cp ~/.config/rofi/settings-manager/* ./rofi/settings-manager
|
||||
cp ~/.config/rofi/power-manager/* ./rofi/power-manager
|
||||
cp ~/.config/rofi/config-manager/* ./rofi/config-manager
|
||||
cp ~/.config/rofi/help-manager/* ./rofi/help-manager
|
||||
cp ~/.config/rofi/setup.sh ./rofi
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
},
|
||||
"ext/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"ignore-hidden": true,
|
||||
"all-outputs": false,
|
||||
"on-click": "activate",
|
||||
"format": "{name}"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(33, 28, 46, 0.7);
|
||||
background: rgba(33, 28, 46, 0.6);
|
||||
color: rgb(205, 214, 244);
|
||||
}
|
||||
window#waybar > box.horizontal:dir(ltr) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
language = en
|
||||
folder = ~/pictures
|
||||
monitors = All
|
||||
wallpaper = ~/pictures/flowers-21.png
|
||||
wallpaper = ~/pictures/flower.jpg
|
||||
show_path_in_tooltip = True
|
||||
backend = swww
|
||||
fill = fill
|
||||
|
||||
Reference in New Issue
Block a user