diff --git a/hypr/hyprland/autostart.conf b/hypr/hyprland/autostart.conf new file mode 100644 index 0000000..907a5b7 --- /dev/null +++ b/hypr/hyprland/autostart.conf @@ -0,0 +1,9 @@ +exec-once = fcitx5 -d -r +exec-once = nm-applet +exec-once = swayosd-server +exec-once = swww-daemon +exec-once = swww restore +exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE $SCALE +exec-once = waybar + +# exec-once = sleep 1 && strawberry diff --git a/hypr/hyprland/basic.conf b/hypr/hyprland/basic.conf new file mode 100644 index 0000000..66bedbc --- /dev/null +++ b/hypr/hyprland/basic.conf @@ -0,0 +1,136 @@ +source = ~/.config/hypr/theme.conf + +animations { + enabled = true + bezier = liner, 1, 1, 1, 1 + bezier = overshot, 0.13, 0.99, 0.29, 1.1 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 7, winIn, slide + animation = windowsOut, 1, 7, default, popin 80% + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = fade, 1, 10, default + animation = workspaces, 1, 8, default, slidefade 20% + animation = specialWorkspaceIn, 1, 8, default, fade + animation = specialWorkspaceOut, 1, 8, default, fade +} + + +debug { + suppress_errors = true + watchdog_timeout = 0 +} + + +decoration { + active_opacity = 1.0 + blur { + enabled = false + } + dim_inactive = false + fullscreen_opacity = 1.0 + inactive_opacity = 1.0 + rounding = 4 + shadow { + enabled = false + } +} + + +ecosystem { + no_donation_nag = true + no_update_news = true +} + + +env = XDG_SESSION_DESKTOP, Hyprland + + +general { + gaps_in = 1 + gaps_out = 1 + border_size = 1 + col.active_border = $lavender + col.inactive_border = $base + layout = hy3 +} + + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 + workspace_swipe_distance = 250 + workspace_swipe_invert = true + workspace_swipe_min_speed_to_force = 15 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = false +} + + +input { + follow_mouse = 1 + float_switch_override_focus = 2 + kb_layout = $KEYBOARDLAYOUT + numlock_by_default = false + sensitivity = 0 + touchpad { + disable_while_typing = true + natural_scroll = true + scroll_factor = 0.5 + } +} + + +misc { + always_follow_on_dnd = true + disable_autoreload = true + disable_hyprland_logo = true + disable_hyprland_qtutils_check = true; + disable_splash_rendering = true; + disable_xdg_env_checks = true; + enable_anr_dialog = false; + enable_swallow = true + focus_on_activate = true + initial_workspace_tracking = 0 + key_press_enables_dpms = false + layers_hog_keyboard_focus = true + mouse_move_enables_dpms = false + vfr = true +} + + +plugin { + hy3 { + no_gaps_when_only = 1 + node_collapse_policy = 1 + group_inset = 10 + tab_first_window = true + tabs { + col.active = rgb(b4befe) + col.active.border = rgb(313244) + col.active.text = rgb(181825) + col.inactive = rgb(181825) + col.inactive.border = rgb(313244) + col.inactive.text = rgb(b4befe) + col.urgent = rgb(f2cdcd) + col.urgent.border = rgb(313244) + col.urgent.text = rgb(181825) + from_top = false + height = 14 + padding = 2 + render_text = true + rounding = 6 + text_center = true + text_font = Sarasa Gothic SC + text_height = 10 + text_padding = 0 + } + } +} + + +xwayland { + force_zero_scaling = true +} diff --git a/hypr/hyprland/bind.conf b/hypr/hyprland/bind.conf new file mode 100644 index 0000000..e450e49 --- /dev/null +++ b/hypr/hyprland/bind.conf @@ -0,0 +1,178 @@ +## bind settings +binds { + workspace_back_and_forth = 1 + allow_workspace_cycles = 1 +} + + +## App Launcher +bindr = ALT, SPACE, exec, fuzzel + + +## Restart some programs +### Input Tool +bind = Ctrl_ALT, I, exec, pkill fcitx5 -9;sleep 1;fcitx5 -d --replace; sleep 1;fcitx5-remote -r +### Notification Manager +bind = Ctrl_ALT, N, exec, swaync-client -rs +### Status Bar +bind = Ctrl_ALT, B, exec, pkill waybar;sleep 1;waybar # Status Bar + + +## Shortcuts +### File Explorer +bind = SUPER, E, exec, nemo +### Logout Menu +bind = CTRL_SUPER, Q, exec, wlogout +### Terminal Emulator +bind = SUPER, T, exec, alacritty +### Screenshot (Area Mod) +bind = SUPER, S, exec, sh ~/.config/waybar/scripts/Screenshot-Area.sh +### Screenshot (Fullscreen Mod) +bind = SUPER_ALT, S, exec, sh ~/.config/waybar/scripts/Screenshot-Fullscreen.sh +### Screenshot (Window Mod) +bind = SUPER_CTRL, S, exec, sh ~/.config/waybar/scripts/Screenshot-Hyprland-Window.sh +### Screenshot (OCR Mod) +bind = SUPER_CTRL_ALT, S, exec, sh ~/.config/waybar/scripts/Screenshot-OCR.sh + + +## Window actions +bind = SUPER, F, fullscreen +bind = SUPER, Q, hy3:killactive + +## Window actions (bonus) +bind = SUPER_SHIFT, F, togglefloating + + +## Workspace jumping +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 +bind = SUPER,0,workspace,10 + + +## Window movement between Workspace +### without switching to the Workspace +bind = SUPER_CTRL, 1, movetoworkspacesilent, 1 +bind = SUPER_CTRL, 2, movetoworkspacesilent, 2 +bind = SUPER_CTRL, 3, movetoworkspacesilent, 3 +bind = SUPER_CTRL, 4, movetoworkspacesilent, 4 +bind = SUPER_CTRL, 5, movetoworkspacesilent, 5 +bind = SUPER_CTRL, 6, movetoworkspacesilent, 6 +bind = SUPER_CTRL, 7, movetoworkspacesilent, 7 +bind = SUPER_CTRL, 8, movetoworkspacesilent, 8 +bind = SUPER_CTRL, 9, movetoworkspacesilent, 9 +bind = SUPER_CTRL, 0, movetoworkspacesilent, 10 + +### also switching to the Workspace +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 +bind = SUPER_SHIFT, 0, movetoworkspace, 10 + +bind = SUPER_SHIFT, mouse_down, movetoworkspace, -1 +bind = SUPER_SHIFT, mouse_up, movetoworkspace, +1 + +bind = SUPER_SHIFT, mouse:275, movetoworkspace, e+1 +bind = SUPER_SHIFT, mouse:276, movetoworkspace, e-1 + + +### Special Workspace +bind = SUPER, Grave, togglespecialworkspace +bind = SUPER_CTRL, Grave, movetoworkspacesilent, special +bind = SUPER_SHIFT, Grave, movetoworkspace, special + + +## Workspace movement +bind = SUPER_CTRL, left, workspace, -1 +bind = SUPER_CTRL, right, workspace, +1 + +### Using Vim-like keys +bind = SUPER_CTRL, H, workspace, -1 +bind = SUPER_CTRL, L, workspace, +1 + +## Window focus movement +### Using Alt+Tab +bind = ALT, Tab, hy3:movefocus, r +bind = ALT_SHIFT, Tab, hy3:movefocus, l + +### Using Arrow keys +bind = SUPER, left, hy3:movefocus,l +bind = SUPER, right, hy3:movefocus,r +bind = SUPER, up, hy3:movefocus,u +bind = SUPER, down, hy3:movefocus,d + +### Using Vim-like keys +bind = SUPER_Alt, H, hy3:movefocus, l +bind = SUPER_Alt, L, hy3:movefocus, r +bind = SUPER_Alt, K, hy3:movefocus, u +bind = SUPER_Alt, J, hy3:movefocus, d + + +## Window direction movement +### Using Arrow keys +bind = SUPER_SHIFT, left, hy3:movewindow,l +bind = SUPER_SHIFT, right, hy3:movewindow,r +bind = SUPER_SHIFT, up, hy3:movewindow,u +bind = SUPER_SHIFT, down, hy3:movewindow,d + +### Using Vim-like keys +bind = SUPER_SHIFT, H, hy3:movefocus, l +bind = SUPER_SHIFT, L, hy3:movefocus, r +bind = SUPER_SHIFT, K, hy3:movefocus, u +bind = SUPER_SHIFT, J, hy3:movefocus, d + + +## Some smart actions with Mouse +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow + +bind = SUPER, mouse_down, workspace, -1 +bind = SUPER, mouse_up, workspace, +1 + +bind = SUPER, mouse:275, workspace, e+1 +bind = SUPER, mouse:276, workspace, e-1 + +### hy3 bonus +bindn = , mouse:272, hy3:focustab, mouse +bindn = , mouse_down, hy3:focustab, l, require_hovered +bindn = , mouse_up, hy3:focustab, r, require_hovered + + +## Brightness control +bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness +5 +bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness -5 + + +## Playback control +bindl = ,XF86AudioPlay,exec, playerctl play-pause +bindl = ,XF86AudioNext,exec, playerctl next +bindl = ,XF86AudioPrev,exec, playerctl previous + +### Playback control (bonus) +bindl = CONTROL_ALT, Return, exec, playerctl play-pause +bindl = CONTROL_ALT, right, exec, playerctl next +bindl = CONTROL_ALT, left, exec, playerctl previous + + +## Volume control +bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume +2 +bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume -2 +bindl = ,XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle +bindl = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle + + +## Volume control (bonus) +bindel = CONTROL_ALT, up, exec, swayosd-client --output-volume +2 +bindel = CONTROL_ALT, down, exec, swayosd-client --output-volume -2 diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf new file mode 100644 index 0000000..a8212e1 --- /dev/null +++ b/hypr/hyprlock.conf @@ -0,0 +1,77 @@ +source = $HOME/.config/hypr/theme.conf + +$accent = $mauve +$accentAlpha = $mauveAlpha +$font = JetBrainsMono Nerd Font + +# GENERAL +general { + disable_loading_bar = true + hide_cursor = true +} + +# BACKGROUND +background { + monitor = + blur_passes = 0 + color = $base +} + +# LAYOUT +label { + monitor = + text = Layout: $LAYOUT + color = $text + font_size = 25 + font_family = $font + position = 30, -30 + halign = left + valign = top +} + +# TIME +label { + monitor = + text = $TIME + color = $text + font_size = 90 + font_family = $font + position = -30, 0 + halign = right + valign = top +} + +# DATE +label { + monitor = + text = cmd[update:43200000] date +"%A, %d %B %Y" + color = $text + font_size = 25 + font_family = $font + position = -30, -150 + halign = right + valign = top +} + +# INPUT FIELD +input-field { + monitor = + size = 300, 60 + outline_thickness = 4 + dots_size = 0.2 + dots_spacing = 0.2 + dots_center = true + outer_color = $accent + inner_color = $surface0 + font_color = $text + fade_on_empty = false + placeholder_text = 󰌾 Logged in as $USER + hide_input = false + check_color = $accent + fail_color = $red + fail_text = $FAIL ($ATTEMPTS) + capslock_color = $yellow + position = 0, -47 + halign = center + valign = center +} diff --git a/hypr/theme.conf b/hypr/theme.conf new file mode 100644 index 0000000..0855b5d --- /dev/null +++ b/hypr/theme.conf @@ -0,0 +1,79 @@ +# Catpucchin Mocha + +$rosewater = rgb(f5e0dc) +$rosewaterAlpha = f5e0dc + +$flamingo = rgb(f2cdcd) +$flamingoAlpha = f2cdcd + +$pink = rgb(f5c2e7) +$pinkAlpha = f5c2e7 + +$mauve = rgb(cba6f7) +$mauveAlpha = cba6f7 + +$red = rgb(f38ba8) +$redAlpha = f38ba8 + +$maroon = rgb(eba0ac) +$maroonAlpha = eba0ac + +$peach = rgb(fab387) +$peachAlpha = fab387 + +$yellow = rgb(f9e2af) +$yellowAlpha = f9e2af + +$green = rgb(a6e3a1) +$greenAlpha = a6e3a1 + +$teal = rgb(94e2d5) +$tealAlpha = 94e2d5 + +$sky = rgb(89dceb) +$skyAlpha = 89dceb + +$sapphire = rgb(74c7ec) +$sapphireAlpha = 74c7ec + +$blue = rgb(89b4fa) +$blueAlpha = 89b4fa + +$lavender = rgb(b4befe) +$lavenderAlpha = b4befe + +$text = rgb(cdd6f4) +$textAlpha = cdd6f4 + +$subtext1 = rgb(bac2de) +$subtext1Alpha = bac2de + +$subtext0 = rgb(a6adc8) +$subtext0Alpha = a6adc8 + +$overlay2 = rgb(9399b2) +$overlay2Alpha = 9399b2 + +$overlay1 = rgb(7f849c) +$overlay1Alpha = 7f849c + +$overlay0 = rgb(6c7086) +$overlay0Alpha = 6c7086 + +$surface2 = rgb(585b70) +$surface2Alpha = 585b70 + +$surface1 = rgb(45475a) +$surface1Alpha = 45475a + +$surface0 = rgb(313244) +$surface0Alpha = 313244 + +$base = rgb(1e1e2e) +$baseAlpha = 1e1e2e + +$mantle = rgb(181825) +$mantleAlpha = 181825 + +$crust = rgb(11111b) +$crustAlpha = 11111b