diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100755 index 0000000..3a6b55d --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,242 @@ +// -*- mode: json -*- + +{ + "layer": "bottom", + "position": "top", + + "hyprland/workspaces": { + "format": "{name}", + }, + "hyprland/language":{ + "format": "{short}_{variant}", + }, + "user": { + "format": "{user}", + "interval": 60, + "height": 30, + "width": 30, + "icon": true, + }, + "idle_inhibitor":{ + "format":"{icon}", + "tooltip-format-activated":"Active (screen saver disabled)", + "tooltip-format-deactivated":"Not active (screen saver enabled)", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "cava": { + "cava_config": "/home/thierry/.config/cava/config", + "framerate": 30, + "autosens": 1, + //"sensitivity": 80, + "bars": 14, + "lower_cutoff_freq": 50, + "higher_cutoff_freq": 10000, + "method": "pulse", + "source": "auto", + "stereo": false, + "reverse": false, + "bar_delimiter": 0, + "monstercat": false, + "waves": false, + "noise_reduction": 0.77, + "input_delay": 2, + "format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], + "actions": { + "on-click-right": "mode" + } + }, + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 14, + "icon-theme": "Numix-Circle", + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + }, + "rewrite": { + "Firefox Web Browser": "Firefox", + "Foot Server": "Terminal" + } + }, + "hyprland/window": { + "format": "{}", + "rewrite": { + "(.*) — Mozilla Firefox": " $1", + //"(.*) - fish": "> [$1]", + "(.*)screen":" terminal", + "(.*)Alacritty":" terminal", + }, + "separate-outputs": true + }, + + "modules-left": [ + "hyprland/workspaces", + "custom/right-arrow-dark", + "cava", + "hyprland/language", + //"wlr/taskbar", + //"custom/space", + "custom/right-arrow-light", + "custom/right-arrow-dark", + "hyprland/window", + ], + "modules-center": [ + "custom/left-arrow-dark", + "clock#1", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "clock#2", + "custom/right-arrow-dark", + "custom/right-arrow-light", + "clock#3", + "custom/right-arrow-dark" + ], + "modules-right": [ + "custom/left-arrow-dark", + "custom/poweroff", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "pulseaudio", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "memory", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "cpu", + //"custom/sep", + //"temperature", + //"custom/left-arrow-light", + //"custom/left-arrow-dark", + //"battery", + //"custom/left-arrow-light", + //"custom/left-arrow-dark", + //"backlight", + "custom/left-arrow-light", + "custom/left-arrow-dark", + //"user", + "idle_inhibitor", + "custom/left-arrow-light", + "custom/left-arrow-dark", + "tray" + ], + "temperature": { + // "thermal-zone": 2, + "hwmon-path": "/sys/class/hwmon/hwmon4/temp1_input", + "critical-threshold": 80, + "format-critical": "{temperatureC}°C ", + "format": "{temperatureC}°C " + }, + + "backlight": { + "device": "intel_backlight", + "format": "{percent}% {icon}", + "format-icons": ["", ""], + "on-scroll-down": "sudo ~/bin/brightness /sys/class/backlight/intel_backlight/brightness down 10", + "on-scroll-up": "sudo ~/bin/brightness /sys/class/backlight/intel_backlight/brightness up 10" + }, + "custom/poweroff": { + "tooltip": false, + "format": "", + "on-click": "gksu shutdown -h now" + }, + "custom/sep":{ + "format": "|", + "tooltip": false + }, + "custom/space":{ + "format": " ", + "tooltip": false + }, + "custom/left-arrow-dark": { + "format": "", + "tooltip": false + }, + "custom/left-arrow-light": { + "format": "", + "tooltip": false + }, + "custom/right-arrow-dark": { + "format": "", + "tooltip": false + }, + "custom/right-arrow-light": { + "format": "", + "tooltip": false + }, + + "hyprland/workspaces": { + "disable-scroll": true, + "format": "{name}" + }, + + "clock#1": { + "format": "{:%a}", + "tooltip": false + }, + "clock#2": { + "format": "{:%H:%M}", + "tooltip": false + }, + "clock#3": { + "format": "{:%d.%m.%Y}", + "tooltip": false + }, + + "pulseaudio": { + "format": "{icon} {volume:2}%", + "format-bluetooth": "{icon} {volume}% ", + "format-muted": "MUTE", + "format-icons": { + "headphones": "", + "default": [ + "", + "" + ] + }, + "scroll-step": 1, + //"on-click": "pamixer -t", + "on-click":"~/bin/switch_audio.sh", + "on-click-right": "pavucontrol" + }, + "memory": { + "interval": 5, + "format": "Mem {}%", + "on-click": "gnome-system-monitor" + }, + "cpu": { + "interval": 5, + "format": "CPU {usage:2}%", + "on-click": "gnome-system-monitor" + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-icons": [ + "", + "", + "", + "", + "" + ] + }, + "disk": { + "interval": 5, + "format": "Disk {percentage_used:2}%", + "path": "/" + }, + "tray": { + "icon-size": 20 + } +} diff --git a/.config/waybar/config.old b/.config/waybar/config.old new file mode 100755 index 0000000..19a87bd --- /dev/null +++ b/.config/waybar/config.old @@ -0,0 +1,167 @@ +{ + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100755 index 0000000..6bc6966 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,120 @@ +* { + font-size: 20px; + font-family: monospace; +} + +window#waybar { + background: #292b2e; + color: #fdf6e3; +} + +#custom-right-arrow-dark, +#custom-left-arrow-dark { + color: #1a1a1a; +} +#custom-right-arrow-light, +#custom-left-arrow-light { + color: #292b2e; + background: #1a1a1a; +} +#custom-poweroff +,#custom-se{ + background: #1a1a1a; +} + +#workspaces, +#clock.1, +#clock.2, +#clock.3, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk, +#user, +#idle_inhibitor, +#temperature, +#tray { + background: #1a1a1a; +} + +#user{ + color: #fdf6e3; +} + +#workspaces button { + padding: 0 2px; + color: #fdf6e3; +} +#workspaces button.visible{ + color: @red; + /*border-bottom: 2px dotted red;*/ +} +#workspaces button.empty{ + color: @white; + /*border-bottom: 2px dotted white;*/ +} + +#workspaces button.active{ + color: #268bd2; + /*border-bottom: 2px solid white;*/ +} + + +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; +} +#workspaces button:hover { + background: #1a1a1a; + border: #1a1a1a; + /*border-bottom: 2px solid green;*/ + padding: 0 3px; +} + + + +#pulseaudio { + color: #268bd2; +} +#memory { + color: #2aa198; +} +#cpu,#temperature { + color: #6c71c4; +} +#battery { + color: #859900; +} +#disk { + color: #b58900; +} + +#clock, +#pulseaudio, +#memory, +#cpu, +#battery, +#disk { + padding: 0 10px; +} + +#backlight-slider slider { + min-height: 80px; + min-width: 10px; + opacity: 0; + background-image: none; + border: none; + box-shadow: none; +} +#backlight-slider trough { + min-height: 80px; + min-width: 10px; + border-radius: 5px; + background-color: black; +} +#backlight-slider highlight { + min-width: 10px; + border-radius: 5px; + background-color: red; +} diff --git a/.config/waypaper/config.ini b/.config/waypaper/config.ini new file mode 100644 index 0000000..bc26e4d --- /dev/null +++ b/.config/waypaper/config.ini @@ -0,0 +1,19 @@ +[Settings] +language = en +folder = ~/Pictures/Wallpapers +wallpaper = ~/Pictures/Wallpapers/ghost in the shell bg.jpg +backend = hyprpaper +monitors = All +fill = Fill +sort = name +color = #ffffff +subfolders = False +show_hidden = False +show_gifs_only = False +post_command = +number_of_columns = 3 +swww_transition_type = any +swww_transition_step = 90 +swww_transition_angle = 0 +swww_transition_duration = 2 + diff --git a/bin/alias b/bin/alias new file mode 100644 index 0000000..e1131dd --- /dev/null +++ b/bin/alias @@ -0,0 +1,6 @@ +alias bat="upower -i /org/freedesktop/UPower/devices/battery_BAT0" +alias iops="fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75" +alias btr="bluetoothctl connect 40:ED:98:1A:40:D0" +alias btro="bluetoothctl disconnect 40:ED:98:1A:40:D0" +alias ls="eza --icons=always --colour=always -l" + diff --git a/bin/cycle_sinks.py b/bin/cycle_sinks.py new file mode 100755 index 0000000..4bd94c5 --- /dev/null +++ b/bin/cycle_sinks.py @@ -0,0 +1,54 @@ +import pulsectl + +pulse = pulsectl.Pulse('my-client-name') + + +class my_sink: + name = "Here goes the name of the sink" + index = -1 + desc = "Here goes a description" + sink = "" + + def __init__(self, sink): + self.name = sink.name + self.index = sink.index + self.desc = sink.description + self.sink = sink + + def __str__(self): + return f"\"{self.name}\" with index {self.index} and description: \"{self.desc}\"" + + +def get_sinks(): + output_sinks = [] + print(pulse.sink_list()) + for s in pulse.sink_list(): + m = my_sink(s) + output_sinks.append(m) + + print(output_sinks) + return output_sinks + + +def next_sink(output_sinks): + current_sink = pulse.server_info().default_sink_name + position = 0 + for s in output_sinks: + if s.name == current_sink: + break + else: + position += 1 + + if position == len(output_sinks) - 1: + new_output = output_sinks[0] + else: + new_output = output_sinks[position+1] + + print(current_sink + " will be switched to " + new_output.name) + + pulse.default_set(new_output.sink) + + +# Press the green button in the gutter to run the script. +if __name__ == '__main__': + next_sink(get_sinks()) diff --git a/bin/startup.sh b/bin/startup.sh new file mode 100755 index 0000000..a5139f9 --- /dev/null +++ b/bin/startup.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +sleep 1 +killall -e xdg-desktop-portal-hyprland +killall -e xdg-desktop-portal-wlr +killall xdg-desktop-portal +/usr/lib/xdg-desktop-portal-hyprland & +sleep 2 +/usr/lib/xdg-desktop-portal & + +nm-applet & + +nextcloud --background & +jamesdsp -t & +copyq --start-server & +swayosd-server & +clight-gui --tray & +blueman-tray & +localsend --hidden & +blueman-applet & +mangohud steam -silent & + +