diff options
| author | srdusr <trevorgray@srdusr.com> | 2023-03-09 09:04:07 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2023-03-09 09:04:07 +0200 |
| commit | 28e504b49ac6680939a8f53f1945805f50e95cac (patch) | |
| tree | 07c345adf5eafe6e9f0707c9426d2d41f6907400 | |
| parent | 225831f9a631b5e803885ca4391cc12ed40d2cbb (diff) | |
| download | dotfiles-28e504b49ac6680939a8f53f1945805f50e95cac.tar.gz dotfiles-28e504b49ac6680939a8f53f1945805f50e95cac.zip | |
Add hyprland
| -rw-r--r-- | .config/hypr/autostart | 54 | ||||
| -rw-r--r-- | .config/hypr/hyprland.conf | 303 |
2 files changed, 357 insertions, 0 deletions
diff --git a/.config/hypr/autostart b/.config/hypr/autostart new file mode 100644 index 0000000..c7a5932 --- /dev/null +++ b/.config/hypr/autostart @@ -0,0 +1,54 @@ +#!/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) + +# https://wiki.hyprland.org/FAQ/#some-of-my-apps-take-a-really-long-time-to-open +# https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580 +systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & +dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP --all & + +export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh + +# 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 kitty + +# notification daemon +swaync & + +# waybar +$scripts/launch_waybar & +# $scripts/dynamic & + +# wallpaper +$scripts/wall ~/.config/hypr/wallpapers/1.jpg & + +# effects +# $scripts/tools/rgb & + +# Applets +blueman-applet & +nm-applet --indicator & + +# 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/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..0749272 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,303 @@ +monitor=, 1920x1080@60, auto, 1 + +exec-once=$HOME/.config/hypr/autostart + +$term = kitty +$browser = firefox +$gmail = firefox --new-instance -P app "https://mail.google.com/" --class appProfile +$editor = code +$explorer = nemo +$music = g4music +$notepad = code --profile notepad --unity-launch ~/Templates +$launcher = wofi --show drun -n +$launcher_alt = wofi --show run -n +#$discord = discord + + +general { + gaps_in = 5 + gaps_out = 10 + 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 +} + + +input { + # kb_file = + kb_layout = us + # kb_variant = + # kb_model = + # kb_options = ctrl:swapcaps + # kb_rules = + sensitivity = 0.75 # for mouse cursor + + follow_mouse = 1 + + scroll_method = 2fg + + touchpad { + natural_scroll = false + disable_while_typing = true + tap-to-click = true + } +} + + +decoration { + rounding = 16 + multisample_edges = true + + active_opacity = 0.95 + inactive_opacity = 0.9 + fullscreen_opacity = 0.95 + + dim_inactive = false + dim_strength = 0.05 + + 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 +} + + +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 { + +} + + +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 = ^(kitty)$ +} + + +binds { + allow_workspace_cycles = true +} + + +custom { + rules { + # for windows named/classed as abc and xyz + # windowrule = move 69 420, abc + # windowrule = pseudo, abc + # windowrule = monitor 0, xyz + # windowrule = tile, xy + + windowrule = float, title:^(fly_is_kitty)$ + windowrule = size 800 500, title:^(fly_is_kitty)$ + windowrule = move center, title:^(fly_is_kitty)$ + windowrule = animation slide, title:^(fly_is_kitty)$ + + windowrule = float, title:^(all_is_kitty)$ + + windowrule = float, title:^(clock_is_kitty)$ + windowrule = size 325 180, title:^(clock_is_kitty)$ + + windowrule = float, title:^(donut_is_kitty)$ + windowrule = size 660 486, title:^(donut_is_kitty)$ + + windowrule = animation popin, title:^(donut_is_kitty)$ + + windowrule = float,^(rlr)$ + windowrule = float,^(pavucontrol)$ + windowrule = float,^(blueman-manager)$ + windowrule = float,^(nm-connection-editor)$ + windowrule = float,^(mediainfo-gui)$ + windowrule = tile,^(neovide)$ + windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ + windowrulev2 = float, class:^(nemo)$, title:^(.*Properties)$ + windowrulev2 = float, class:^(Nemo-preview-start)$ + + windowrule = float,^(com.github.neithern.g4music)$ + windowrule = size 670 635,^(com.github.neithern.g4music)$ + windowrule = move center,^(com.github.neithern.g4music)$ + + windowrulev2 = animation slide, class:^(wofi)$ + windowrulev2 = move 100%-433 53, class:^(wofi)$, title:^(clippick)$ + + windowrulev2 = animation popin, class:^(wlogout)$, title:^(wlogout)$ + windowrulev2 = float, class:^(wlogout)$, title:^(wlogout)$ + } + + binds { + # 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 + + # Kitty binds + bind = ALT, RETURN, exec, kitty --start-as=fullscreen --title all_is_kitty + bind = SUPER, RETURN, exec, kitty --title fly_is_kitty --single-instance + bind = SUPER, t, exec, $term + + # Screenshot binds + bind = , Print, exec,~/.scripts/screenshot_full + bind = ALT, Print, exec,~/.scripts/screenshot + + # Application binds + bind = SUPER, Q, killactive, + bind = SUPER, F, exec, $explorer + bind = SUPER, B, exec, $browser + bind = SUPER, E, exec, $gmail + bind = SUPER, G, exec, $notepad + + # Wofi and notification binds + bind = SUPER, V, exec, pkill wofi || cliphist list | wofi --dmenu -p clippick -l top_right -x -15 -y 10 -n | cliphist decode | wl-copy + bind = SUPER, N, exec, swaync-client -t -sw + bindr = SUPER, SUPER_L, exec, pkill wofi || $launcher + bind = SUPER, space, exec, pkill wofi || $launcher_alt + + # Other dispatchers + bind = ALT, Tab, cyclenext + bind = SUPER, M, fullscreen, + bind = SUPER, C, exec, hyprctl dispatch centerwindow none + bind = SUPER_SHIFT, M, fakefullscreen, + bind = SUPER, P, pseudo, + bind = SUPER, S, togglefloating, + bind = SUPER_SHIFT, G, togglegroup, + bind = SUPER, tab, changegroupactive, + + # Reload waybar + bind = SUPER_SHIFT, R, exec,~/.scripts/launch_waybar + + # Logout screen, lock, exit + bind = SUPER, escape, exec,~/.config/wlogout/launch.sh + bind = SUPER, L, exec,~/.scripts/lock + bind = SUPER_SHIFT, escape, exit + + + # 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 + + # 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 + + # 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 + + # Ricing :p + bind = CTRL, 1, exec, kitty --title fly_is_kitty sh -c 'cava' + bind = CTRL, 2, exec, kitty --title donut_is_kitty sh -c '~/.local/bin/donut' + bind = CTRL, 3, exec, kitty --title clock_is_kitty sh -c 'tty-clock -C5 -c' + + # 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 + + # 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 + + # Brightness Control + binde = , XF86MonBrightnessUp, exec, light -A 1 + binde = , XF86MonBrightnessDown, exec, light -U 1 + + # Screensaver key + bind = , XF86ScreenSaver, exec,~/.scripts/lock + + # Others + bind = , XF86Mail, exec,$gmail + bind = , XF86HomePage, exec, $explorer ~/ + bind = , XF86Calculator, exec, qalculate-gtk + bind = , XF86Search, exec, wofi + + # 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 + } +} |
