diff --git a/animations.conf b/animations.conf new file mode 100644 index 00000000..549e4b02 --- /dev/null +++ b/animations.conf @@ -0,0 +1,68 @@ +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 8 + gaps_out = 20 + border_size = 2 + col.active_border = $foreground + col.inactive_border = $color4 color6 $color7 $color1 30deg + resize_on_border = true + + 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 = true + size = 4 + passes = 3 + new_optimizations = true + ignore_opacity = on + xray = false + brightness = 1 + vibrancy = 0.50 + vibrancy_darkness = 0.50 + contrast = 1.0 + + } + + drop_shadow = no + shadow_range = 8 + shadow_render_power = 1 + col.shadow = $color4 + active_opacity = 1 + inactive_opacity = 1 + +} + + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = workspaces, 1, 6, default, slidefade + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default +# animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide +# animation = border, 1, 1, liner +# animation = borderangle, 1, 100, liner, loop +} \ No newline at end of file diff --git a/exec.conf b/exec.conf new file mode 100644 index 00000000..3d5f0dca --- /dev/null +++ b/exec.conf @@ -0,0 +1,12 @@ +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox +exec-once = waybar +exec-once = sleep 5 && swww init +exec-once = blueman-applet +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = nm-applet --indicator +exec-once = wal -r +exec-once = swaync +exec-once = pypr +exec-once = hyprpm reload +exec-once = hypridle \ No newline at end of file diff --git a/hypridle.conf b/hypridle.conf new file mode 100644 index 00000000..7e3c3c68 --- /dev/null +++ b/hypridle.conf @@ -0,0 +1,5 @@ +listener { + timeout = 500 # in seconds. + on-timeout = hyprlock # command to run when timeout has passed. + on-resume = notify-send "Welcome back, $USER!" # command to run when activity is detected after timeout has fired. +} diff --git a/hyprland.conf b/hyprland.conf new file mode 100644 index 00000000..b0690069 --- /dev/null +++ b/hyprland.conf @@ -0,0 +1,117 @@ +source = ~/.cache/wal/colors-hyprland.conf + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki + + +#autogenerated = 1 # remove this line to remove the warning + +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor = ,preferred,auto,1 + +# Desktop +monitor = DP-1, 1920x1080@100, 0x540, 1 +monitor = HDMI-A-1, 1920x1080@100, auto, 1 +monitor = HDMI-A-1, transform, 3 +workspace = 1, persistent:true,monitor:DP-1,default:true +workspace = 2, persistent:true,monitor:DP-1 +workspace = 3, persistent:true,monitor:DP-1 +workspace = 4, persistent:true,monitor:DP-1 +workspace = 5, persistent:true,monitor:DP-1 +workspace = 6, persistent:true,monitor:HDMI-A-1 +workspace = 7, persistent:true,monitor:HDMI-A-1 +workspace = 8, persistent:true,monitor:HDMI-A-1 +workspace = 9, persistent:true,monitor:HDMI-A-1 +workspace = 0, persistent:true,monitor:HDMI-A-1 + +# Laptop +# monitor = eDP-1, 1920x1080@144, auto, 1 +# workspace = eDP-1,1 + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + + + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Set programs that you use +$terminal = kitty +$fileManager = dolphin +$menu = rofi -show drun +$browser = firefox +$discord = discord --enable-features=UseOzonePlatform --ozone-platform=wayland + +# Some default env vars. +env = XCURSOR_SIZE,24 +env = XCURSOR_THEME,Bibata-Modern-Ice +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 +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + + + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # 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 = off +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -3 # Set to 0 to disable the anime mascot wallpapers +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more + + + + +plugin { + hyprtrails { + color = $color2 + } +} + + + + +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrule.conf +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/exec.conf diff --git a/hyprlock.conf b/hyprlock.conf new file mode 100644 index 00000000..a9e4e9f2 --- /dev/null +++ b/hyprlock.conf @@ -0,0 +1,71 @@ +source = $HOME/.cache/wal/colors-hyprland.conf + +background { + monitor = + path = $HOME/.config/rofi/.current_wallpaper # only png supported for now + color = $color7 + + # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations + blur_size = 4 + blur_passes = 3 # 0 disables blurring + noise = 0.0117 + contrast = 1.3000 # Vibrant!!! + brightness = 0.8000 + vibrancy = 0.2100 + vibrancy_darkness = 0.0 +} + +input-field { + monitor = DP-1 + size = 250, 50 + outline_thickness = 3 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.64 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = $color1 + inner_color = $color0 + font_color = $color7 + fade_on_empty = true + placeholder_text = Password... # Text rendered in the input box when it's empty. + hide_input = false + position = 0, 50 + halign = center + valign = bottom +} + +# Current time +label { + monitor = DP-1 + text = cmd[update:1300] echo " $(date +"%H:%M") " + color = $color7 + font_size = 64 + font_family = JetBrains Mono Nerd Font 10 + position = 0, 16 + halign = center + valign = center +} + +# User label +label { + monitor = DP-1 + text = Hey $USER + color = $color7 + font_size = 20 + font_family = JetBrains Mono Nerd Font 10 + position = 0, 0 + halign = center + valign = center +} + + +# Type to unlock +label { + monitor = DP-1 + text = Type to unlock! + color = $color7 + font_size = 16 + font_family = JetBrains Mono Nerd Font 10 + position = 0, 30 + halign = center + valign = bottom +} \ No newline at end of file diff --git a/keybindings.conf b/keybindings.conf new file mode 100644 index 00000000..f1024842 --- /dev/null +++ b/keybindings.conf @@ -0,0 +1,134 @@ +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# My Keybinds +bind = $mainMod, F, exec, $browser +bind = $mainMod, R, exec, pypr toggle term +bind = $mainMod, ESCAPE, exec, killall waybar || waybar +bind = $mainMod, D, exec, $discord +bind = $mainMod SHIFT, W, exec, wp +bind = $mainMod SHIFT, F, fullscreen +bind = $mainMod, N, exec, swaync-client -t -sw +bind = $mainMod, L, exec, hyprlock +bind = $mainMod, W, exec, $HOME/.config/hypr/scripts/wallpaperselect.sh +bind = $mainMod SHIFT, G, exec, hyprpm enable hycov +bind = $mainMod, G, exec, hyprpm disable hycov + + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, $terminal +bind = $mainMod, Q, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, A, exec, $menu +bind = $mainMod SHIFT, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# 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 + +# Move window silently to workspace Super + Alt + [0-9] +bind = $mainMod ALT, 1, movetoworkspacesilent, 1 +bind = $mainMod ALT, 2, movetoworkspacesilent, 2 +bind = $mainMod ALT, 3, movetoworkspacesilent, 3 +bind = $mainMod ALT, 4, movetoworkspacesilent, 4 +bind = $mainMod ALT, 5, movetoworkspacesilent, 5 +bind = $mainMod ALT, 6, movetoworkspacesilent, 6 +bind = $mainMod ALT, 7, movetoworkspacesilent, 7 +bind = $mainMod ALT, 8, movetoworkspacesilent, 8 +bind = $mainMod ALT, 9, movetoworkspacesilent, 9 +bind = $mainMod ALT, 0, movetoworkspacesilent, 10 + +# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→] +bind = $mainMod CTRL ALT, right, movetoworkspace, r+1 +bind = $mainMod CTRL ALT, left, movetoworkspace, r-1 + +# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] +bind = $mainMod SHIFT $CONTROL, left, movewindow, l +bind = $mainMod SHIFT $CONTROL, right, movewindow, r +bind = $mainMod SHIFT $CONTROL, up, movewindow, u +bind = $mainMod SHIFT $CONTROL, down, movewindow, d + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Screenshot/Screencapture +bind = $mainMod, P, exec, $HOME/.config/hypr/scripts/screenshot.sh s # drag to snip an area / click on a window to print it +bind = $mainMod CTRL, P, exec, $HOME/.config/hypr/scripts/screenshot.sh sf # frozen screen, drag to snip an area / click on a window to print it +bind = $mainMod ALT, P, exec, $HOME/.config/hypr/scripts/screenshot.sh m # print focused monitor +bind = ,print, exec, $HOME/.config/hypr/scripts/screenshot.sh p # print all monitor outputs + +# Audio control +bindel = , F11, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume +bindel = , F12, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioMute, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute +bindl = , XF86AudioMicMute, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -i m # toggle microphone mute +bindel = , XF86AudioLowerVolume, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume +bindel = , XF86AudioRaiseVolume, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPrev, exec, playerctl previous + +bind = $mainMod ALT, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode +bind = $mainMod ALT, right, exec, $HOME/.config/hypr/scripts/wallpaper.sh # next wallpaper + + +bind = $mainMod SHIFT, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # rofi style select menu +bind = $mainMod SHIFT, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # rofi wall select menu +bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # open Pasteboard in screen center +bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # change keyboard layout + +# bind key to toggle overview (normal) +bind = ALT,tab,hycov:toggleoverview,` + +# bind key to toggle overview (force mode, not affected by `only_active_workspace` or `only_active_monitor`) +bind = ALT,grave,hycov:toggleoverview,forceall #grave key is the '~' key + +# bind key to toggle overview (shows all windows in one monitor, not affected by `only_active_workspace` or `only_active_monitor`) +bind = ALT,g,hycov:toggleoverview,forceallinone + +# Special Keys +bind = , xf86monbrightnessup, exec, brightnessctl set 10%+ +bind = , xf86monbrightnessdown, exec, brightnessctl set 10%- +bind = , xf86audioraisevolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 5%+ +bind = , xf86audiolowervolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 5%- +bind = , xf86audiomute, exec, wpctl set-mute @DEFAULT_SINK@ toggle + diff --git a/pyprland.toml b/pyprland.toml new file mode 100644 index 00000000..f09bad86 --- /dev/null +++ b/pyprland.toml @@ -0,0 +1,10 @@ +[pyprland] +plugins = ["scratchpads"] + +[scratchpads.term] +animation = "fromTop" +command = "kitty --class kitty-dropterm" +class = "kitty-dropterm" +size = "60% 30%" +max_size = "1920px 40%" +margin = 50 \ No newline at end of file diff --git a/windowrule.conf b/windowrule.conf new file mode 100644 index 00000000..a60d78c5 --- /dev/null +++ b/windowrule.conf @@ -0,0 +1,30 @@ +# 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 +windowrule = move 1250 50,^(blueman-manager)$ +windowrulev2= opacity 0.80 0.80,class:^(Spotify)$ +windowrulev2= opacity 0.80 0.80,class:^(Code)$ +windowrulev2= opacity 0.80 0.80,class:^(waypaper)$ +windowrulev2= opacity 0.80 0.80,class:^(dolphin)$ +windowrulev2= opacity 0.80 0.80,class:^(discord)$ +windowrulev2= opacity 0.80 0.80,class:^(lutris)$ +windowrulev2= opacity 0.90 0.80,class:^(firefox)$ +windowrulev2= opacity 0.80 0.80,class:^(steam)$ +windowrulev2 = float,class:^(nwg-look)$ +windowrulev2 = float,class:^(org.kde.ark)$ +windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk +windowrulev2 = float,class:^(pavucontrol)$ +windowrulev2 = float,class:^(blueman-manager)$ +windowrulev2 = float,class:^(nm-applet)$ +windowrulev2 = float,class:^(nm-connection-editor)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = stayfocused, title:^()$,class:^(steam)$ +windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ + +# Blur Rofi + +layerrule = blur, rofi +layerrule = animation popin,rofi +layerrule = ignorezero, rofi \ No newline at end of file