summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_linux/hypr/hyprland.conf202
-rw-r--r--_linux/waybar/config214
-rw-r--r--_linux/waybar/style.css267
3 files changed, 683 insertions, 0 deletions
diff --git a/_linux/hypr/hyprland.conf b/_linux/hypr/hyprland.conf
new file mode 100644
index 0000000..a66896e
--- /dev/null
+++ b/_linux/hypr/hyprland.conf
@@ -0,0 +1,202 @@
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,auto
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+
+# Execute your favorite apps at launch
+exec-once = /usr/lib/polkit-kde-agent-1
+exec-once = waybar
+
+# Source a file (multi-file configs)
+# source = ~/.config/hypr/myColors.conf
+
+# Set programs that you use
+$terminal = kitty
+$fileManager = dolphin
+$menu = wofi --show drun
+
+# Some default env vars.
+env = XCURSOR_SIZE,24
+env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
+env = LIBVA_DRIVER_NAME,nvidia
+env = XDG_SESSION_TYPE,wayland
+env = GBM_BACKEND,nvidia-drm
+env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+env = WLR_NO_HARDWARE_CURSORS,1
+
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = pl
+ kb_variant =
+ kb_model =
+ kb_options = caps:escape_shifted_capslock
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = false
+ }
+
+ repeat_rate = 40
+ repeat_delay = 400
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+ accel_profile = flat
+}
+
+general {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ gaps_in = 0
+ gaps_out = 0
+ border_size = 1
+ col.active_border = rgba(ff00ffff)
+ col.inactive_border = rgba(222222ff)
+
+ layout = dwindle
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+}
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 0
+
+ blur {
+ enabled = false
+ }
+
+ drop_shadow = false
+}
+
+animations {
+ enabled = false
+
+ # these are the best ones i got, but they still suck
+ animation = windows, 1, 1, default
+ animation = border, 0
+ animation = borderangle, 0
+ animation = fade, 0
+ animation = workspaces, 0
+}
+
+dwindle {
+ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # you probably want this
+}
+
+master {
+ # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ new_is_master = true
+}
+
+gestures {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ workspace_swipe = false
+}
+
+misc {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
+device:epic-mouse-v1 {
+ sensitivity = -0.5
+}
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
+windowrulev2 = float, class:^(pavucontrol)$
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+$mainMod = SUPER
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, Return, exec, $terminal
+bind = $mainMod, C, killactive,
+
+# why
+#bind = $mainMod, M, exit,
+
+bind = $mainMod, E, exec, $fileManager
+bind = $mainMod, F, togglefloating,
+bind = $mainMod, R, exec, $menu
+
+# idk what this does
+bind = $mainMod, P, pseudo, # dwindle
+
+bind = $mainMod, S, togglesplit, # dwindle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, H, movefocus, l
+bind = $mainMod, L, movefocus, r
+bind = $mainMod, K, movefocus, u
+bind = $mainMod, J, movefocus, d
+
+bind = $mainMod SHIFT, H, movewindow, l
+bind = $mainMod SHIFT, L, movewindow, r
+bind = $mainMod SHIFT, K, movewindow, u
+bind = $mainMod SHIFT, J, movewindow, d
+
+binde = $mainMod CTRL, H, resizeactive, -20 0
+binde = $mainMod CTRL, L, resizeactive, 20 0
+binde = $mainMod CTRL, K, resizeactive, 0 -20
+binde = $mainMod CTRL, J, resizeactive, 0 20
+
+# 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, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Example special workspace (scratchpad)
+# i have no idea what this does and why you would want to use it
+#bind = $mainMod, S, togglespecialworkspace, magic
+#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# volume
+bind = $mainMod CTRL, up, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
+bind = $mainMod CTRL, down, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
+
+# notifications
+bind = $mainMod, N, exec, makoctl dismiss
+bind = $mainMod SHIFT, N, exec, makoctl restore
+bind = $mainMod CTRL, N, exec, makoctl invoke
+bind = $mainMod CTRL, N, exec, makoctl dismiss
+bind = $mainMod CTRL, N, focusurgentorlast
+
+bind = $mainMod, U, focusurgentorlast
+
+bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
diff --git a/_linux/waybar/config b/_linux/waybar/config
new file mode 100644
index 0000000..b0fb826
--- /dev/null
+++ b/_linux/waybar/config
@@ -0,0 +1,214 @@
+{
+ "layer": "top",
+ "position": "top",
+
+ "modules-left": [
+// "sway/mode",
+ "hyprland/workspaces",
+// "custom/arrow10",
+ "hyprland/window"
+ ],
+
+ "modules-right": [
+ "custom/arrow9",
+ "pulseaudio",
+ "custom/arrow8",
+ "network",
+ "custom/arrow7",
+ "memory",
+ "custom/arrow6",
+ "cpu",
+ "custom/arrow5",
+ "temperature",
+ "custom/arrow4",
+// "battery",
+// "custom/arrow3",
+ "hyprland/language",
+ "custom/arrow2",
+ "tray",
+ "clock#date",
+ "custom/arrow1",
+ "clock#time"
+ ],
+
+ // Modules
+
+ "battery": {
+ "interval": 10,
+ "states": {
+ "warning": 30,
+ "critical": 15
+ },
+ "format-time": "{H}:{M:02}",
+ "format": "{icon} {capacity}% ({time})",
+ "format-charging": " {capacity}% ({time})",
+ "format-charging-full": " {capacity}%",
+ "format-full": "{icon} {capacity}%",
+ "format-alt": "{icon} {power}W",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "tooltip": false
+ },
+
+ "clock#time": {
+ "interval": 10,
+ "format": "{:%H:%M}",
+ "tooltip": false
+ },
+
+ "clock#date": {
+ "interval": 20,
+ "format": "{:%e %b %Y}",
+ "tooltip": false
+ //"tooltip-format": "{:%e %B %Y}"
+ },
+
+ "cpu": {
+ "interval": 5,
+ "tooltip": false,
+ "format": " {usage}%",
+ "format-alt": " {load}",
+ "states": {
+ "warning": 70,
+ "critical": 90
+ }
+ },
+
+ "hyprland/language": {
+ "format": " {}",
+ "min-length": 5,
+ "on-click": "hyprctl switchxkblayout keyboard next",
+ "tooltip": false
+ },
+
+ "memory": {
+ "interval": 5,
+ "format": " {used:0.1f}G/{total:0.1f}G",
+ "states": {
+ "warning": 70,
+ "critical": 90
+ },
+ "tooltip": false
+ },
+
+ "network": {
+ "interval": 5,
+ "format-wifi": " {essid} ({signalStrength}%)",
+ "format-ethernet": " {ifname}",
+ "format-disconnected": "No connection",
+ "format-alt": " {ipaddr}/{cidr}",
+ "tooltip": false
+ },
+
+ "sway/mode": {
+ "format": "{}",
+ "tooltip": false
+ },
+
+ "hyprland/window": {
+ "format": "{}",
+// "max-length": 30,
+ "tooltip": false
+ },
+
+ "hyprland/workspaces": {
+ "disable-scroll-wraparound": true,
+ "smooth-scrolling-threshold": 4,
+ "enable-bar-scroll": true,
+ "format": "{name}"
+ },
+
+ "pulseaudio": {
+ "format": "{icon} {volume}%",
+ "format-bluetooth": "{icon} {volume}%",
+ "format-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", ""]
+ },
+ "scroll-step": 1,
+ "on-click": "pavucontrol",
+ "tooltip": false
+ },
+
+ "temperature": {
+ "critical-threshold": 90,
+ "interval": 5,
+ "format": "{icon} {temperatureC}°",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "tooltip": false
+ },
+
+ "tray": {
+ "icon-size": 18
+ //"spacing": 10
+ },
+
+ "custom/arrow1": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow2": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow3": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow4": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow5": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow6": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow7": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow8": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow9": {
+ "format": "",
+ "tooltip": false
+ },
+
+ "custom/arrow10": {
+ "format": "",
+ "tooltip": false
+ }
+}
+
+// vi:ft=jsonc
diff --git a/_linux/waybar/style.css b/_linux/waybar/style.css
new file mode 100644
index 0000000..d7df909
--- /dev/null
+++ b/_linux/waybar/style.css
@@ -0,0 +1,267 @@
+/* Keyframes */
+
+@keyframes blink-critical {
+ to {
+ /*color: @white;*/
+ background-color: @critical;
+ }
+}
+
+
+/* Styles */
+
+/* Colors (gruvbox) */
+@define-color black #282828;
+@define-color red #ff0000;
+@define-color green #98971a;
+@define-color yellow #d79921;
+@define-color blue #458588;
+@define-color purple #b16286;
+@define-color aqua #689d6a;
+@define-color gray #a89984;
+@define-color brgray #928374;
+@define-color brred #fb4934;
+@define-color brgreen #b8bb26;
+@define-color bryellow #fabd2f;
+@define-color brblue #83a598;
+@define-color brpurple #d3869b;
+@define-color braqua #8ec07c;
+@define-color white #ffffff;
+@define-color bg2 #504945;
+
+@define-color warning @bryellow;
+@define-color critical @red;
+@define-color mode @black;
+@define-color unfocused @bg2;
+@define-color focused @braqua;
+@define-color inactive @purple;
+
+@define-color sound #ff007f;
+@define-color network #ff7f00;
+@define-color memory #ffff00;
+@define-color cpu #7fff00;
+@define-color temp #00ff7f;
+@define-color layout #00ffff;
+/*@define-color battery @aqua;*/
+@define-color date #ffffff;
+@define-color time #000000;
+
+/* Reset all styles */
+* {
+ border: none;
+ border-radius: 0;
+ min-height: 0;
+ margin: 0;
+ padding: 0;
+ box-shadow: none;
+ text-shadow: none;
+ icon-shadow: none;
+}
+
+/* The whole bar */
+#waybar {
+ background: #101010;
+ color: @white;
+ font-family: JetBrains Mono, Siji;
+ font-size: 10pt;
+}
+
+/* Each module */
+#battery,
+#clock,
+#cpu,
+#language,
+#memory,
+#mode,
+#network,
+#pulseaudio,
+#temperature,
+#tray,
+#backlight,
+#idle_inhibitor,
+#disk,
+#user,
+#mpris {
+ padding-left: 8pt;
+ padding-right: 8pt;
+}
+
+/* Each critical module */
+#mode,
+#memory.critical,
+#cpu.critical,
+#temperature.critical,
+#battery.critical.discharging {
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ animation-name: blink-critical;
+ animation-duration: 1s;
+}
+
+/* Each warning */
+#network.disconnected,
+#memory.warning,
+#cpu.warning,
+#temperature.warning,
+#battery.warning.discharging {
+ color: @warning;
+}
+
+/* And now modules themselves in their respective order */
+
+/* Current sway mode (resize etc) */
+#mode {
+ color: @white;
+ background: @mode;
+}
+
+/* Workspaces stuff */
+#workspaces button {
+ /*font-weight: bold;*/
+ padding-left: 2pt;
+ padding-right: 2pt;
+ color: @white;
+ background: #303030;
+}
+
+/* Inactive (on unfocused output) */
+#workspaces button.visible {
+ color: @white;
+ background: #ff00ff;
+}
+
+/* Active (on focused output) */
+#workspaces button.focused {
+ color: @black;
+ background: @focused;
+}
+
+/* Contains an urgent window */
+#workspaces button.urgent {
+ color: @black;
+ background: @warning;
+}
+
+/* Style when cursor is on the button */
+#workspaces button:hover {
+ background: @black;
+ color: @white;
+}
+
+#window {
+ margin-right: 15pt;
+ margin-left: 15pt;
+}
+
+#pulseaudio {
+ background: @sound;
+ color: @white;
+}
+
+#network {
+ background: @network;
+ color: @black;
+}
+
+#memory {
+ background: @memory;
+ color: @black;
+}
+
+#cpu {
+ background: @cpu;
+ min-width: 35pt;
+ color: @black;
+}
+
+#temperature {
+ background: @temp;
+ color: @black;
+}
+
+#language {
+ background: @layout;
+ color: @black;
+}
+
+/*
+#battery {
+ background: @battery;
+ color: @white;
+}
+*/
+
+#tray {
+ background: #ff7f00;
+}
+
+#clock.date {
+ background: @date;
+ color: @black;
+}
+
+#clock.time {
+ background: @time;
+ color: @white;
+}
+
+#custom-arrow1 {
+ font-size: 11pt;
+ color: @time;
+ background: @date;
+}
+
+#custom-arrow2 {
+ font-size: 11pt;
+ color: @date;
+ background: @layout;
+}
+
+#custom-arrow3 {
+ font-size: 11pt;
+ color: @layout;
+ background: @battery;
+}
+
+#custom-arrow4 {
+ font-size: 11pt;
+ color: @layout;
+ background: @temp;
+}
+
+#custom-arrow5 {
+ font-size: 11pt;
+ color: @temp;
+ background: @cpu;
+}
+
+#custom-arrow6 {
+ font-size: 11pt;
+ color: @cpu;
+ background: @memory;
+}
+
+#custom-arrow7 {
+ font-size: 11pt;
+ color: @memory;
+ background: @network;
+}
+
+#custom-arrow8 {
+ font-size: 11pt;
+ color: @network;
+ background: @sound;
+}
+
+#custom-arrow9 {
+ font-size: 11pt;
+ color: @sound;
+ background: transparent;
+}
+
+#custom-arrow10 {
+ font-size: 11pt;
+ color: @unfocused;
+ background: transparent;
+}