diff options
| -rw-r--r-- | _linux/hypr/hyprland.conf | 202 | ||||
| -rw-r--r-- | _linux/waybar/config | 214 | ||||
| -rw-r--r-- | _linux/waybar/style.css | 267 |
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; +} |
