diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..66c49a2 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,36 @@ +$mainMod = SUPER + +source = ~/.config/hypr/hyprland/general.conf +source = ~/.config/hypr/hyprland/decoration.conf +source = ~/.config/hypr/hyprland/animations.conf +source = ~/.config/hypr/hyprland/input.conf +source = ~/.config/hypr/hyprland/group.conf +source = ~/.config/hypr/hyprland/binds.conf +source = ~/.config/hypr/hyprland/xwayland.conf +source = ~/.config/hypr/hyprland/opengl.conf +source = ~/.config/hypr/hyprland/binds.conf +source = ~/.config/hypr/hyprland/render.conf +source = ~/.config/hypr/hyprland/cursor.conf +source = ~/.config/hypr/hyprland/layout.conf + +source = ~/.config/hypr/hyprland/monitors.conf +source = ~/.config/hypr/hyprland/env.conf +source = ~/.config/hypr/hyprland/rules.conf +#source = ~/.config/hypr/hyprland/autostart.conf + + + + + + + + + + + + + + + + + diff --git a/.config/hypr/hyprland/animations.conf b/.config/hypr/hyprland/animations.conf new file mode 100644 index 0000000..11b1d92 --- /dev/null +++ b/.config/hypr/hyprland/animations.conf @@ -0,0 +1,5 @@ +animations { + enable = true + first_launch_animation = true + # TODO +} diff --git a/.config/hypr/hyprland/binds.conf b/.config/hypr/hyprland/binds.conf new file mode 100644 index 0000000..86cd7bb --- /dev/null +++ b/.config/hypr/hyprland/binds.conf @@ -0,0 +1,102 @@ +binds { + pass_mouse_when_bound = false + scroll_event_delay = 300 + workspace_back_and_forth = false + allow_workspace_cycles = false + workspace_center_on = 0 + focus_preferred_method = 0 + ignore_group_lock = false + movefocus_cycles_fullscreen = true + disable_keybind_grabbing = false + window_direction_monitor_fallback = true +} + +$mainMod = SUPER + +# Resize +binde = SUPERCTRL, left, resizeactive, -20 0 +binde = SUPERCTRL, right, resizeactive, 20 0 +binde = SUPERCTRL, up, resizeactive, 0 -20 +binde = SUPERCTRL, down, resizeactive, 0 20 + + + +# Launch +bind = $mainMod, RETURN, exec, alacritty +bind = $mainMod, Q, killactive, +bind = $mainMod SHIFT, X, exit, +bind = $mainMod, D, exec, wofi --show drun +bind = $mainMod, E, exec, dolphin +#bind = $mainMod, P, exec, grim -g "$(slurp)" - | wl-copy + +# AGS +#bind = $mainMod, X, exec, ags -t session + +# Window options +bind = $mainMod, P, pseudo, +bind = $mainMod, S, togglesplit, +bind = $mainMod, F, fullscreen, +bind = $mainMod, Space, togglefloating, + +# Focus windows +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, K, movefocus, u +bind = $mainMod, J, movefocus, d + +# Move windows +bind = $mainMod SHIFT, L, movewindow, r +bind = $mainMod SHIFT, K, movewindow, u +bind = $mainMod SHIFT, H, movewindow, l +bind = $mainMod SHIFT, J, movewindow, d + +# Switch workspaces +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 + +# Switch active window to workspace +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 + +# Scroll workspace with mouse scrollwhell +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move and resize windows with mouse too +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Special keys +#bind = , Caps_lock, exec, swayosd-client --caps-lock + +#binde = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise +#binde = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower +#bind = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle +#bind = , XF86AudioPlayPause, exec, playerctl play-pause + +#binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise +#binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower + +#bind = ,XF86AudioNext, exec, playerctl next +#bind = ,XF86AudioPlay, exec, playerctl play-pause +#bind = ,XF86AudioPrev, exec, playerctl previous + +#binde = , XF86KbdBrightnessUp, exec, brightnessctl --device='smc::kbd_backlight' set 10+ +#binde = , XF86KbdBrightnessDown, exec, brightnessctl --device='smc::kbd_backlight' set 10- + diff --git a/.config/hypr/hyprland/cursor.conf b/.config/hypr/hyprland/cursor.conf new file mode 100644 index 0000000..0731907 --- /dev/null +++ b/.config/hypr/hyprland/cursor.conf @@ -0,0 +1,18 @@ +cursor { + sync_gsettings_theme = true + no_hardware_cursors = 2 + no_break_fs_vrr = false + min_refresh_rate = 24 + hotspot_padding = 1 + inactive_timeout = 0 + no_warps = false + persistent_warps = false + warp_on_change_workspace = false + default_monitor = + zoom_factor = 1.0 + zoom_rigid = false + enable_hyprcursor = true + hide_on_key_press = false + hide_on_touch = true + use_cpu_buffer = false +} diff --git a/.config/hypr/hyprland/decoration.conf b/.config/hypr/hyprland/decoration.conf new file mode 100644 index 0000000..3e87a23 --- /dev/null +++ b/.config/hypr/hyprland/decoration.conf @@ -0,0 +1,40 @@ +decoration { + rounding = 0 + active_opacity = 1.0 + inactive_opacity = 0.9 + fullscreen_opacity = 1.0 + dim_inactive = false + dim_strength = 0.5 + dim_special = 0.2 + dim_around = 0.4 + screen_shader = + + blur { + enable = true + size = 8 + passes = 1 + ignore_opacity = true + new_optimizations = true + xray = true + noise = 0.0117 + contrast = 0.8916 + brightness = 0.8172 + vibrancy = 0.1696 + vibrancy_darkness = 0.0 + special = false + popups = false + popups_ignorealpha = 0.2 + } + + shadow { + enable = true + range = 50 + render_power = 4 + sharp = false + ignore_window = true + color = rgba(000000aa) + color_inactive = + offset = [0,0] + scale = 1 + } +} diff --git a/.config/hypr/hyprland/env.conf b/.config/hypr/hyprland/env.conf new file mode 100644 index 0000000..3a188e3 --- /dev/null +++ b/.config/hypr/hyprland/env.conf @@ -0,0 +1,6 @@ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = NVD_BACKEND,direct diff --git a/.config/hypr/hyprland/general.conf b/.config/hypr/hyprland/general.conf new file mode 100644 index 0000000..3171833 --- /dev/null +++ b/.config/hypr/hyprland/general.conf @@ -0,0 +1,25 @@ +general { + border_size = 1 + no_border_on_floating = true + gaps_in = 3 + gaps_out = 4 + gaps_workspaces = 0 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.active_border = rgba(595959aa) + col.nogroup_border = 0xffffaaff + col.nogroup_border_active = 0xffff00ff + layout = dwindle + no_focus_fallback = false + resize_on_border = false + extend_border_grab_area = 15 + hover_icon_on_border = true + allow_tearing = true + resize_corner = 0 + + snap { + enable = false + window_gap = 10 + monitor_gap = 10 + border_overlap = false + } +} diff --git a/.config/hypr/hyprland/group.conf b/.config/hypr/hyprland/group.conf new file mode 100644 index 0000000..516d6a9 --- /dev/null +++ b/.config/hypr/hyprland/group.conf @@ -0,0 +1,31 @@ +group { + auto_group = true + insert_after_current = true + focus_removed_window = true + drag_into_group = 1 + merge_groups_on_drag = true + merge_groups_on_groupbar = true + merge_floated_into_tiled_on_groupbar = false + group_on_movetoworkspace = false + col.border_active = 0x66ffff00 + col.border_inactive = 0x66777700 + col.border_locked_active = 0x66ff5500 + col.border_locked_inactive = 0x66775500 + + groupbar { + enabled = true + font_family = + font_size = 8 + gradients = true + height = 14 + stacked = false + priority = 3 + render_titles = true + scrolling = true + text_color = 0xffffffff + col.active = 0x66ffff00 + col.inactive = 0x66777700 + col.locked_active = 0x66ff5500 + col.locked_inactive = 0x66775500 + } +} diff --git a/.config/hypr/hyprland/input.conf b/.config/hypr/hyprland/input.conf new file mode 100644 index 0000000..45caef9 --- /dev/null +++ b/.config/hypr/hyprland/input.conf @@ -0,0 +1,77 @@ +input { + kb_model = pc105+inet + kb_layout = us + kb_variant = intl + kb_options = + kb_rules = + kb_file = + numlock_by_default = false + resolve_binds_by_sym = false + repeat_rate = 25 + repeat_delay = 600 + sensitivity = 0.0 + accel_profile = + force_no_accel = false + left_handed = false + scroll_points = + scroll_method = + scroll_button = 0 + scroll_button_lock = 0 + scroll_factor = 1.0 + natural_scroll = false + follow_mouse = 1 + focus_on_close = 0 + mouse_refocus = true + float_switch_override_focus = 1 + special_fallthrough = false + off_window_axis_events = 1 + emulate_discrete_scroll = 1 + + touchpad { + diable_while_typing = true + natural_scroll = false + scroll_factor = 1.0 + middle_button_emulation = false + tap_button_map = + clickfinger_behavior = false + tap-to-click = true + drag_lock = false + tap-and-drag = true + } + + touchdevice { + transform = 0 + output = Auto + enable = true + } + + tablet { + transform = 0 + output = + region_position = [0,0] + absolute_region_position = false + region_size = [0,0] + relative_input = false + left_handed = false + active_area_size = [0,0] + active_area_position = [0,0] + } +} + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 4 + workspace_swipe_min_fingers = false + workspace_swipe_distance = 300 + workspace_swipe_touch = false + workspace_swipe_invert = true + workspace_swipe_touch_invert = false + workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = true + workspace_swipe_direction_lock = true + workspace_swipe_direction_lock_threshold = 10 + workspace_swipe_forever = false + workspace_swipe_use_r = false +} + diff --git a/.config/hypr/hyprland/layout.conf b/.config/hypr/hyprland/layout.conf new file mode 100644 index 0000000..13458e1 --- /dev/null +++ b/.config/hypr/hyprland/layout.conf @@ -0,0 +1,27 @@ +dwindle { + pseudotile = yes + force_split = 0 + preserve_split = true + smart_split = false + smart_resizing = true + permanent_direction_override = false + special_scale_factor = 1 + split_width_multiplier = 1.0 + use_active_for_splits = true + default_split_ratio = 1.0 + split_bias = 0 +} + +master { + allow_small_split = false + special_scale_factor = 1 + mfact = 0.55 + new_status = true + new_on_top = false + new_on_active = none + orientation = left + inherit_fullscreen = true + always_center_master = false + smart_resizing = true + drop_at_cursor = true +} diff --git a/.config/hypr/hyprland/misc.conf b/.config/hypr/hyprland/misc.conf new file mode 100644 index 0000000..d378484 --- /dev/null +++ b/.config/hypr/hyprland/misc.conf @@ -0,0 +1,34 @@ +misc { + disable_hyprland_logo = false + disable_splash_rendering = false + col.splash = 0xffffffff + font_family = JetBrainsMono Nerd Font + splash_font_family = + force_default_wallpaper = 2 + vfr = true + vrr = 1 + mouse_move_enables_dpms = false + key_press_enables_dpms = false + always_follow_on_dnd = true + layers_hog_keyboard_focus = true + animate_manual_resizes = true + animate_mouse_windowdragging = false + disable_autoreload = false + enable_swallow = true + swallow_regex = + swallow_exception_regex = + focus_on_activate = false + mouse_move_focuses_monitor = true + render_ahead_of_time = false + render_ahead_safezone = 1 + allow_session_lock_restore = false + background_color = 0x111111 + close_special_on_empty = true + new_window_takes_over_fullscreen = 0 + exit_window_retains_fullscreen = false + initial_workspace_tracking = 1 + middle_click_paste = true + render_unfocused_fps = 15 + disable_xdg_env_checks = false + lockdead_screen_delay = 1000 +} diff --git a/.config/hypr/hyprland/monitors.conf b/.config/hypr/hyprland/monitors.conf new file mode 100644 index 0000000..4b44d63 --- /dev/null +++ b/.config/hypr/hyprland/monitors.conf @@ -0,0 +1 @@ +monitor=DP-2,2560x1440@144,auto,1 diff --git a/.config/hypr/hyprland/opengl.conf b/.config/hypr/hyprland/opengl.conf new file mode 100644 index 0000000..42ebc15 --- /dev/null +++ b/.config/hypr/hyprland/opengl.conf @@ -0,0 +1,4 @@ +opengl { + nvidia_anti_flicker = true + force_introspection = 2 +} diff --git a/.config/hypr/hyprland/render.conf b/.config/hypr/hyprland/render.conf new file mode 100644 index 0000000..ee37aa5 --- /dev/null +++ b/.config/hypr/hyprland/render.conf @@ -0,0 +1,6 @@ +render { + explicit_sync = 2 + explicit_sync_kms = 2 + direct_scanout = false + expand_undersized_textures = true +} diff --git a/.config/hypr/hyprland/rules.conf b/.config/hypr/hyprland/rules.conf new file mode 100644 index 0000000..d9d9612 --- /dev/null +++ b/.config/hypr/hyprland/rules.conf @@ -0,0 +1,13 @@ +windowrulev2 = float, title:^(Picture-in-Picture)$ +windowrulev2 = pin, title:^(Picture-in-Picture)$ +windowrulev2 = move 72% 72%, title:^(Picture-in-Picture)$ +windowrulev2 = size 25% 25%, title:^(Picture-in-Picture)$ + +windowrulev2 = opacity 0.0 override 0.0 override, class:^(xwaylandvideobridge)$ +windowrulev2 = noanim, class:^(xwaylandvideobridge)$ +windowrulev2 = nofocus, class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$ + +windowrulev2 = stayfocused, title:^()$,class:^(steam)$ +windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ +windowrulev2 = noblur, class:^(steam)$ diff --git a/.config/hypr/hyprland/xwayland.conf b/.config/hypr/hyprland/xwayland.conf new file mode 100644 index 0000000..0c12182 --- /dev/null +++ b/.config/hypr/hyprland/xwayland.conf @@ -0,0 +1,5 @@ +xwayland { + enable = true + use_nearest_neighbor = true + force_zero_scaling = true +}