diff options
Diffstat (limited to 'linux/home/.config/hypr')
| -rwxr-xr-x | linux/home/.config/hypr/autostart | 34 | ||||
| -rw-r--r-- | linux/home/.config/hypr/hyprland.conf | 175 | ||||
| -rwxr-xr-x | linux/home/.config/hypr/scripts/move-scratchpad.sh | 9 | ||||
| -rw-r--r-- | linux/home/.config/hypr/user/binds.conf | 167 | ||||
| -rw-r--r-- | linux/home/.config/hypr/user/env.conf | 23 | ||||
| -rw-r--r-- | linux/home/.config/hypr/user/exec.conf | 4 | ||||
| -rw-r--r-- | linux/home/.config/hypr/user/monitors.conf | 4 | ||||
| -rw-r--r-- | linux/home/.config/hypr/user/window_rules.conf | 70 |
8 files changed, 486 insertions, 0 deletions
diff --git a/linux/home/.config/hypr/autostart b/linux/home/.config/hypr/autostart new file mode 100755 index 0000000..2805e42 --- /dev/null +++ b/linux/home/.config/hypr/autostart @@ -0,0 +1,34 @@ +#!/usr/bin/bash + +# Policy Authentication Agent +/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & + +eval "$(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)" +export "$(gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)" + +# Setup Environment +systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & +dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP --all & +#dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY & + +# variables +scripts=~/.scripts + +# gsettings +#gsettings set org.gnome.desktop.interface gtk-theme 'Tokyonight-Dark-BL-LB' +#gsettings set org.gnome.desktop.interface font-name 'CaskaydiaCove Nerd Font 9' +#gsettings set org.gnome.desktop.interface icon-theme 'Tokyonight-Moon' +#gsettings set org.gnome.desktop.interface cursor-theme 'Sweet-cursors' + +# For nemo +gsettings set org.cinnamon.desktop.default-applications.terminal exec wezterm + +# music daemon +mpd & + +# other +hyprctl setcursor Sweet-cursors 24 +wl-paste --watch cliphist store & +notify-send -a aurora "hello $(whoami)" & +sleep 2 +mpd-mpris & diff --git a/linux/home/.config/hypr/hyprland.conf b/linux/home/.config/hypr/hyprland.conf new file mode 100644 index 0000000..620dc55 --- /dev/null +++ b/linux/home/.config/hypr/hyprland.conf @@ -0,0 +1,175 @@ +# Sourcing external config files +source=~/.config/hypr/user/monitors.conf +source=~/.config/hypr/user/exec.conf +source=~/.config/hypr/user/env.conf +source=~/.config/hypr/user/binds.conf +source=~/.config/hypr/user/window_rules.conf + + +# Defaults +$term = wezterm +$browser = firefox +#$gmail = firefox --new-instance -P app "https://mail.google.com/" --class appProfile +$editor = nvim +#$explorer = nemo +#$music = g4music +$notepad = code --profile notepad --unity-launch ~/Templates +$launcher = wofi --show drun -n +$launcher_alt = wofi --show run -n +#$discord = discord +#env = GTK_THEME,Breeze-Dark + + +general { + gaps_in = 5 + gaps_out = 5 + border_size = 2 + col.active_border = rgba(cba6f7ff) rgba(89b4faff) rgba(94e2d5ff) 10deg + col.inactive_border = 0xff313244 + # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) + apply_sens_to_raw = 0 + layout = "master"; + resize_on_border = yes + extend_border_grab_area = 20 +} + + +input { + kb_layout = custom-us + #sensitivity = 0.75 # for mouse cursor + sensitivity = 0 + follow_mouse = 0 + scroll_method = 2fg + + touchpad { + natural_scroll = false + disable_while_typing = true + tap-to-click = true + } +} + + +decoration { + rounding = 10 + active_opacity = 0.95 + inactive_opacity = 0.9 + fullscreen_opacity = 0.95 + + dim_inactive = false + dim_strength = 0.05 + + blur { + enabled = true + #enabled = false + size = 3 + passes = 1 + + vibrancy = 0.1696 + } + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + #blur = true + #blur_size = 5 + #blur_passes = 4 + #blur_new_optimizations = true + #blur_xray = true + #blur_ignore_opacity = true + + #drop_shadow = true + #shadow_ignore_window = true + #shadow_range = 20 + #shadow_render_power = 3 + #col.shadow = 0x55161925 + col.shadow_inactive = 0x22161925 + # Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts. + # if you want heavy blur, you need to up the blur_passes. + # the more passes, the more you can up the blur_size without noticing artifacts. + + # Blurring layerSurfaces + # blurls = gtk-layer-shell + # blurls = waybar + # blurls = lockscreen + blurls = rofi + blurls = wofi + blurls = firefox +} + + +animations { + enabled = true + # bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = overshot, 0.13, 0.99, 0.29, 1.1 + animation = windows, 1, 4, overshot, slide + animation = border, 1, 10, default + animation = fade, 1, 10, default + animation = workspaces, 1, 6, overshot, slidevert +} + + +dwindle { + pseudotile = true # enable pseudotiling on dwindle + force_split = 0 + #col.group_border = 0xff89dceb + #col.group_border_active = 0xfff9e2af + preserve_split = true +} + + +master { + new_on_top = true + no_gaps_when_only = false +} + + +gestures { + workspace_swipe = true + workspace_swipe_invert = false + workspace_swipe_fingers = 3 +} + + +misc { + disable_hyprland_logo = true + + focus_on_activate = true + + enable_swallow = true + #swallow_regex = ^(scratchpad)$ +} + + +binds { + allow_workspace_cycles = true +} + + +custom { + +} + + +layerrule = blur, bar0 +layerrule = noanim, bar0 +layerrule = ignorealpha 0.2, bar0 +layerrule = blur, dock0 +layerrule = noanim, dock0 +layerrule = ignorealpha 0.2, dock0 +layerrule = blur, indicator0 +layerrule = ignorealpha 0.2, indicator0 +layerrule = blur, toolbox0 +layerrule = noanim, toolbox0 +layerrule = ignorealpha 0.2, toolbox0 +layerrule = blur, applauncher +layerrule = ignorealpha 0.2, applauncher +layerrule = blur, datemenu +layerrule = ignorealpha 0.2, datemenu +layerrule = blur, quicksettings +layerrule = ignorealpha 0.2, quicksettings +layerrule = blur, wlroots +layerrule = ignorealpha 0.2, wlroots +layerrule = blur, notifications0 +layerrule = ignorealpha 0.2, notifications0 + diff --git a/linux/home/.config/hypr/scripts/move-scratchpad.sh b/linux/home/.config/hypr/scripts/move-scratchpad.sh new file mode 100755 index 0000000..a8d0731 --- /dev/null +++ b/linux/home/.config/hypr/scripts/move-scratchpad.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Number of pixels to move down +pixels_to_move=10 + +# Get the PID of each scratchpad window and move it down +for pid in "$(hyprctl -j clients | jq -r '.[] | select(.class == "scratchpad") | .pid')"; do + hyprctl dispatch movewindowpixel 0 "$pixels_to_move",pid:"$pid" +done diff --git a/linux/home/.config/hypr/user/binds.conf b/linux/home/.config/hypr/user/binds.conf new file mode 100644 index 0000000..a337a0e --- /dev/null +++ b/linux/home/.config/hypr/user/binds.conf @@ -0,0 +1,167 @@ +# Window Manager keybindings + +# Scratchpad +bind = SUPER, semicolon, exec, ~/.scripts/scratchpad && bash ~/.config/hypr/scripts/move-scratchpad.sh +bind = SUPER, X, exec, ~/.scripts/scratchpad && bash ~/.config/hypr/scripts/move-scratchpad.sh +#bind = SUPER, semicolon, exec, ~/.scripts/scratchpad +#bind = SUPER, X, exec, ~/.scripts/scratchpad + +# HUD +bind = SUPER, E, exec, ~/.scripts/heads-up-display + +# Package manager Terminal +bind = SUPER, Q, exec, ~/.scripts/pac + +# Mouse binds +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow +bind = SUPER, mouse_down, workspace, e-1 +bind = SUPER, mouse_up, workspace, e+1 + +# Screenshot binds +bind = , Print, exec,~/.scripts/screenshot_full +bind = ALT, Print, exec,~/.scripts/screenshot + +# Application binds +$term=wezterm +bind = SUPER, T, exec, $term -e tmux new-session -A -s term +bind = SUPER, Enter, exec, $term -e tmux new-session -A -s term +bind = SUPER, W, exec, $browser +#bind = SUPER, G, exec, $notepad + +# ags +bind = SUPER_SHIFT, R, exec, ags -q; ags; notify-send "ags reloaded" +bind=SUPER, Space, exec, ags -t launcher +bind=,XF86PowerOff, exec, ags -t powermenu +bind=SUPER, escape, exec, ags -t powermenu +bind=SUPER, Tab, exec, ags -t overview +#bind = SUPER, Space, exec, ags -r "toggleLauncher()" + +# Clipboard +bind = SUPER, V, exec, pkill wofi || cliphist list | wofi --dmenu -p clippick -l top_right -x -15 -y 10 -n | cliphist decode | wl-copy + + +# Hyprland keys +bind=SUPER_SHIFT,Escape,exec,hyprctl reload; notify-send "Config Reloaded" +bind = SUPER, D, killactive, +#bind = SUPER_SHIFT, S, movetoworkspace,special +#bind = SUPER, S, togglespecialworkspace, + + +# Other dispatchers +bind = ALT, Tab, cyclenext +bind = SUPER, C, cyclenext +bind = SUPER, F, fullscreen +#bind = SUPER, T, exec, hyprctl dispatch centerwindow none +bind = SUPER, M, fullscreen, 1 +bind = SUPER_SHIFT, M, fakefullscreen + + +bind = SUPER, P, pseudo, +bind = SUPER, S, togglefloating, +bind = SUPER_SHIFT, G, togglegroup, +bind = SUPER, tab, changegroupactive, +bind = SUPER_SHIFT, I, togglesplit, # dwindle + + +# Move window with SUPER + Shift + arrow keys +# [↑] +# [←] [↓] [→] +bind = SUPER_SHIFT, left, movewindow, l +bind = SUPER_SHIFT, right, movewindow, r +bind = SUPER_SHIFT, up, movewindow, u +bind = SUPER_SHIFT, down, movewindow, d +bind = SUPER_SHIFT, H, movewindow, l +bind = SUPER_SHIFT, L, movewindow, r +bind = SUPER_SHIFT, K, movewindow, u +bind = SUPER_SHIFT, J, movewindow, d + +# Move window focus with SUPER + arrow keys +# [↑] +# [←] [↓] [→] +bind = SUPER, left, movefocus, l +bind = SUPER, right, movefocus, r +bind = SUPER, up, movefocus, u +bind = SUPER, down, movefocus, d +bind = SUPER, H, movefocus, l +bind = SUPER, L, movefocus, r +bind = SUPER, K, movefocus, u +bind = SUPER, J, movefocus, d + +# Move To a workspaces +bind = SUPER, 1, workspace, 1 +bind = SUPER, 2, workspace, 2 +bind = SUPER, 3, workspace, 3 +bind = SUPER, 4, workspace, 4 +bind = SUPER, 5, workspace, 5 +bind = SUPER, 6, workspace, 6 +bind = SUPER, 7, workspace, 7 +bind = SUPER, 8, workspace, 8 +bind = SUPER, 9, workspace, 9 + +# Move windows between workspaces +bind = SUPER_SHIFT, 1, movetoworkspace, 1 +bind = SUPER_SHIFT, 2, movetoworkspace, 2 +bind = SUPER_SHIFT, 3, movetoworkspace, 3 +bind = SUPER_SHIFT, 4, movetoworkspace, 4 +bind = SUPER_SHIFT, 5, movetoworkspace, 5 +bind = SUPER_SHIFT, 6, movetoworkspace, 6 +bind = SUPER_SHIFT, 7, movetoworkspace, 7 +bind = SUPER_SHIFT, 8, movetoworkspace, 8 +bind = SUPER_SHIFT, 9, movetoworkspace, 9 + + +# Use this to get thw XF86 bind (FN + Fx combination) for your keyboard +# xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p' + +# Volume Control +#binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% +#binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1% +bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle +bind = ALT, down, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% +bind = ALT, up, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% + +# Media Control +bind = , XF86AudioMedia, exec, playerctl play-pause +bind = , XF86AudioPlay, exec, playerctl play-pause +bind = , XF86AudioStop, exec, playerctl stop +bind = , XF86AudioPrev, exec, playerctl previous +bind = , XF86AudioNext, exec, playerctl next + +# Use arrow keys as multimedia keys +bind = ALT_SHIFT, left, exec, playerctl previous +bind = ALT_SHIFT, up, exec, playerctl play-pause +bind = ALT_SHIFT, right, exec, playerctl next + +# Brightness Control +binde = , XF86MonBrightnessUp, exec, light -A 1 +binde = , XF86MonBrightnessDown, exec, light -U 1 + +bind = ALT, left, exec, brightnessctl set 10%- # Screen brightness down FN+F7 +bind = ALT, right, exec, brightnessctl set 10%+ # Screen brightness up FN+F8 + +# Screensaver key +bind = , XF86ScreenSaver, exec,~/.scripts/lock + +bind = SUPER_SHIFT, Y, exec, spotify +bind = SUPER_SHIFT, D, exec, discord +bind = SUPER , W, exec, firefox +bind = SUPER_SHIFT, B, exec, rofi-rbw + +# Others +#bind = , XF86Mail, exec,$gmail +#bind = , XF86HomePage, exec, $explorer ~/ +#bind = , XF86Calculator, exec, qalculate-gtk +#bind = , XF86Search, exec, wofi + +$mainMod = SUPER +bind = $mainMod, tilde, exec, ~/.scripts/translate.sh +bind = $mainMod CONTROL, k, exec, ~/.scripts/killmenu + + + +# trigger when the switch is turning on +# bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor ", 1920x1080@60, auto, 1" +# trigger when the switch is turning off +bindl = , switch:off:Lid Switch, exec, playerctl --all-players stop; ~/.scripts/lock; systemctl suspend diff --git a/linux/home/.config/hypr/user/env.conf b/linux/home/.config/hypr/user/env.conf new file mode 100644 index 0000000..93f7694 --- /dev/null +++ b/linux/home/.config/hypr/user/env.conf @@ -0,0 +1,23 @@ +#Environment Variables for the Hyprland session + +# XDG +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# QT +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM=wayland;xcb # Not yet working for onlyoffice-editor +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_QPA_PLATFORMTHEME,qt6ct + +# GTK +#env = GDK_BACKEND=wayland + +# Toolkit +#env = SDL_VIDEODRIVER,wayland +env = _JAVA_AWT_WM_NONEREPARENTING,1 +env = CLUTTER_BACKEND,wayland +env = GDK_BACKEND,wayland,x11 +env = MOZ_ENABLE_WAYLAND,1 + diff --git a/linux/home/.config/hypr/user/exec.conf b/linux/home/.config/hypr/user/exec.conf new file mode 100644 index 0000000..22846d9 --- /dev/null +++ b/linux/home/.config/hypr/user/exec.conf @@ -0,0 +1,4 @@ +exec-once=$HOME/.config/hypr/autostart +exec-once = swww kill; swww init --format xrgb +exec = ags +exec =$HOME/.scripts/move-qemu.sh diff --git a/linux/home/.config/hypr/user/monitors.conf b/linux/home/.config/hypr/user/monitors.conf new file mode 100644 index 0000000..7464786 --- /dev/null +++ b/linux/home/.config/hypr/user/monitors.conf @@ -0,0 +1,4 @@ +monitor=auto,preferred,auto, 1, bitdepth,10 +#monitor=, 1920x1080@60, auto, 1 +#monitor=, 1366x768@60, auto, 1 +#monitor=LVDS-1, 1366x768@60, auto, 1, bitdepth,10 diff --git a/linux/home/.config/hypr/user/window_rules.conf b/linux/home/.config/hypr/user/window_rules.conf new file mode 100644 index 0000000..3964de2 --- /dev/null +++ b/linux/home/.config/hypr/user/window_rules.conf @@ -0,0 +1,70 @@ +# {{@@ header() @@}} +# vim:fileencoding=utf-8:ft=conf:foldmethod=marker + +# Workspaces +windowrulev2 = workspace 1 silent, class:firefox +windowrulev2 = workspace 4 silent, class:discord +windowrulev2 = workspace 5 silent, class:Spotify + +# Scratchpad +$scratchpad = class:^(scratchpad)$ +windowrulev2 = opacity 1 0.9,class:^(scratchpad)$ +windowrulev2 = float,$scratchpad +#windowrule = float,^(scratchpad)$ +#windowrule = move 15 40, ^(scratchpad)$ +#windowrule = move center,^(scratchpad)$ +#$scratchpadsize = size 98% 93% +#windowrulev2 = tile,$scratchpad +#windowrulev2 = pin,$scratchpad +#windowrulev2=windowdance,$scratchpad +#windowrulev2 = move 100%-20,$scratchpad +#windowrulev2 = $scratchpadsize,$scratchpad + +# HUD +windowrule = float, ^(heads-up-display)$ +windowrule = pin, ^(heads-up-display)$ +windowrule = size 325 160, ^(heads-up-display)$ +windowrule = move 1020 50, ^(heads-up-display)$ + +# Package manager Terminal +windowrule = float, ^(pac)$ +windowrule = pin, ^(pac)$ +windowrule = size 325 160, ^(pac)$ +windowrule = move 50 50, ^(pac)$ + +# Picture-in-Picture +windowrulev2 = idleinhibit fullscreen, title:^Picture-in-Picture$ +windowrulev2 = float, title:^Picture-in-Picture$ +windowrulev2 = pin, title:^Picture-in-Picture$ +windowrulev2 = move 920 480, title:^Picture-in-Picture$ +windowrulev2 = size 425 260, title:^Picture-in-Picture$ + +# Firefox +windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ +windowrulev2 = opacity 1 1,class:^(firefox)$ + +# Applications +windowrule = float,^(rlr)$ +windowrule = float,^(pavucontrol)$ +windowrule = float,^(blueman-manager)$ +windowrule = float,^(nm-connection-editor)$ +windowrule = float,^(mediainfo-gui)$ +windowrulev2 = float, class:^(nemo)$, title:^(.*Properties)$ +windowrulev2 = float, class:^(Nemo-preview-start)$ +windowrulev2 = move 100%-433 53, class:^(wofi)$, title:^(clippick)$ +windowrulev2 = animation popin, class:^(wlogout)$, title:^(wlogout)$ +windowrulev2 = float, class:^(wlogout)$, title:^(wlogout)$ +windowrulev2 = animation slide, class:^(wofi)$ +#windowrulev2 = float, class:^(steam)$ +windowrule = float,^(com.github.neithern.g4music)$ +windowrule = size 670 635,^(com.github.neithern.g4music)$ +windowrule = move center,^(com.github.neithern.g4music)$ +windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ +windowrulev2 = noanim,class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ +windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ +windowrulev2 = noblur,class:^(xwaylandvideobridge)$ + +# Blur +windowrule = noblur,^(firefox)$ # disables blur for firefox +windowrule = noblur,^(scratchpad)$ # disables blur for firefox |
