aboutsummaryrefslogtreecommitdiff
path: root/linux/home/.config/hypr
diff options
context:
space:
mode:
Diffstat (limited to 'linux/home/.config/hypr')
-rwxr-xr-xlinux/home/.config/hypr/autostart34
-rw-r--r--linux/home/.config/hypr/hyprland.conf175
-rwxr-xr-xlinux/home/.config/hypr/scripts/move-scratchpad.sh9
-rw-r--r--linux/home/.config/hypr/user/binds.conf167
-rw-r--r--linux/home/.config/hypr/user/env.conf23
-rw-r--r--linux/home/.config/hypr/user/exec.conf4
-rw-r--r--linux/home/.config/hypr/user/monitors.conf4
-rw-r--r--linux/home/.config/hypr/user/window_rules.conf70
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