From 67651ee1c1f7cf2560de77231ec5d70b3dae0a8a Mon Sep 17 00:00:00 2001 From: JeremyStarTM Date: Sun, 21 Apr 2024 10:14:02 +0200 Subject: [PATCH] Not very complete Hyprland config rewrite --- hypr/config.d/monitors.conf | 2 + hypr/hyprland.conf | 498 ++++++------------ hypr/hyprpaper.conf | 9 - .../{bgjob-eww.sh => backgroundjob-eww.sh} | 0 ...gjob-waybar.sh => backgroundjob-waybar.sh} | 0 hypr/scripts/{winclose.sh => close-window.sh} | 2 - .../{conf-fancy.sh => configure-fancy.sh} | 0 .../{conf-wall.sh => configure-wallpaper.sh} | 0 .../{perfmode.sh => performance-mode.sh} | 0 9 files changed, 174 insertions(+), 337 deletions(-) create mode 100644 hypr/config.d/monitors.conf delete mode 100644 hypr/hyprpaper.conf rename hypr/scripts/{bgjob-eww.sh => backgroundjob-eww.sh} (100%) rename hypr/scripts/{bgjob-waybar.sh => backgroundjob-waybar.sh} (100%) rename hypr/scripts/{winclose.sh => close-window.sh} (89%) rename hypr/scripts/{conf-fancy.sh => configure-fancy.sh} (100%) rename hypr/scripts/{conf-wall.sh => configure-wallpaper.sh} (100%) rename hypr/scripts/{perfmode.sh => performance-mode.sh} (100%) diff --git a/hypr/config.d/monitors.conf b/hypr/config.d/monitors.conf new file mode 100644 index 00000000..a2d8542e --- /dev/null +++ b/hypr/config.d/monitors.conf @@ -0,0 +1,2 @@ +monitor=DP-1, 2560x1440, 0x0, 1 +monitor=HDMI-A-1, 1920x1080, 2560x0, 1 diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 6b084cb3..fa782580 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -1,347 +1,193 @@ -# jstm's hyprland config +# -> Variables +# --> File system +$FS_HOME = /home/jeremystartm +$FS_HYPR = $FS_HOME/.config/hypr/ +# --> Applications +$APP_TERMINAL = konsole +$APP_FM = dolphin +$APP_MENU = krunner +# --> Input settings +$INPUT_LAYOUT = de +$INPUT_VARIANT = +$INPUT_MODEL = +$INPUT_OPTIONS = ctrl:nocaps +$INPUT_RULES = +$INPUT_FOLLOW_MOUSE = 1 +$INPUT_TOUCHPAD_NATURAL_SCROLL = 1 +# --> Theming +$THEMING_CURSOR_SIZE=24 +$THEMING_CURSOR_THEME=Posy_Cursor -#################################################### -#################################################### -### ___ ### -### /'___\ __ ### -### ___ ___ ___ /\ \__//\_\ __ ### -### /'___\ / __`\ /' _ `\ \ ,__\/\ \ /'_ `\ ### -### /\ \__//\ \L\ \/\ \/\ \ \ \_/\ \ \/\ \L\ \ ### -### \ \____\ \____/\ \_\ \_\ \_\ \ \_\ \____ \ ### -### \/____/\/___/ \/_/\/_/\/_/ \/_/\/___L\ \ ### -### This is the most important part. /\____/ ### -### Here you can configure filepaths, \_/__/ ### -### modkeys, programs and so much more. ### -#################################################### -#################################################### -# file paths -$fsHomeDir = /home/jeremystartm # define path to home directory aka. $HOME -$fsHyprConfig = $fsHomeDir/.config/hypr # define path to hyprland and hyprpaper config -$fsWaybarConfig = $fsHomeDir/.config/waybar # define path to waybar config -$fsEwwConfig = $fsHomeDir/.config/eww # define path to eww config -$fsJobRunner = $fsHomeDir/.local/bin/jobrunner # define path to companion job runner -# modkeys -$modkeyDefault = SUPER # define modkey -$modkeyRare = SUPER_SHIFT # define modkey for rare or dangerous keybinds -# programs (if your program is a tui, specify "$progTerminal -e " instead) -$progTerminal = konsole # define the preferred terminal emulator -$progEditor = $progTerminal -e nano # define the preferred editor -$progFileManager = dolphin # define the preferred file manager -$progBrowser = librewolf # define the preferred web browser -# commands -$cmdShutdownCommand = poweroff # define the shutdown command -$cmdRestartCommand = reboot # define the restart command -# features -$featDisableAutoreload = true # disables autoreload, use modkey_rare+m to reload to do it manually -$featMouseFocus = true # controls if the focus should change based on mouse input -## effects -$vfxFancy = 2 # define if fancy effects should be enabled, 0: disable fancy stuff, 1: configurable, 2: enable all -$vfxEnableAnimations = true # define animations -$vfxEnableShadows = false # define shadows -$vfxEnableDim = false # define dim -$vfxEnableBlur = true # define blur -$vfxEnableWallpaper = true # define wallpaper display -# external theming -$themQtTheme = qt6ct # define qt theme -$themCursorTheme = Posy_Cursor # define cursor theme -$themCursorSize = 24 # define cursor size +# -> Include other configs +source=$FS_HYPR/config.d/monitors.conf -# monitors -monitor=DP-1, 2560x1440, 0x0, 1 # configure second monitor -monitor=HDMI-A-1, 1920x1080, 2560x0, 1 # configure main monitor +# -> Configuration +# --> Update flatpak permissions +exec-once = flatpak override --env=~/.themes:ro --env=~/.icons:ro --user +# --> Update cursor +env = XCURSOR_SIZE,$THEMING_CURSOR_SIZE +env = XCURSOR_THEME,$THEMING_CURSOR_THEME +# --> Set desktop +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland +# --> Enable/force wayland support +env = XDG_SESSION_TYPE,wayland +env = GDK_BACKEND,wayland,x11 +env = SDL_VIDEODRIVER,wayland,x11 +env = CLUTTER_BACKEND,wayland +env = QT_QPA_PLATFORM,wayland;xcb +# --> Set platform theme +env = QT_QPA_PLATFORMTHEME,qt6ct +# --> Disable title bars +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 -############################################### -# __ __ __ __ __ # -# /\ \\ \ /\ \ /\ \\ \ # -# \ \_\\_\ ___ ___ \_\ \ __\ \_\\_\ # -# \/_//_//'___\ / __`\ /'_` \ /'__`\/_//_/ # -# /\ \__//\ \L\ \/\ \L\ \/\ __/ # -# The \ \____\ \____/\ \___,_\ \____\ # -# rest of \/____/\/___/ \/__,_ /\/____/ # -# this config will be uninteresting to most, # -# probably. # -############################################### - -# environment variables -env HOME,$homeDir # set HOME variable -env MOZ_ENABLE_WAYLAND=1 # enable wayland support for firefox - -# hyprland helpers -exec=bash -c "rm -rf /tmp/logs;mkdir /tmp/logs -p" -exec=env SWI=$vfxEnableWallpaper CONF=$fsHyprConfig $fsHyprConfig/scripts/conf-wall.sh # update wallpaper -exec=env FANCY=$vfxFancy $fsHyprConfig/scripts/conf-fancy.sh # configure fancyness -# fixes -#exec-once=systemctl restart --user pipewire-media-session.service pipewire.socket # restarts pipewire -#exec-once=systemctl disable --now --user pulseaudio.service pulseaudio.socket # nukes pulseaudio -# background stuff -exec=env CONFIG_DIR=$fsWaybarConfig $fsHyprConfig/scripts/bgjob-waybar.sh # display bar -exec=env CONFIG_DIR=$fsEwwConfig $fsHyprConfig/scripts/bgjob-eww.sh # display sysinfo widget -exec=bash -c "pkill -9 ulauncher;ulauncher --hide-window" # run launcher -exec=bash -c "pkill -9 copyq;copyq --start-server" # run clipboard manager -exec=bash -c "pkill -9 fnott;fnott" # run notification daemon -exec=env $fsHyprConfig/scripts/enforce-xdph.sh # enforce xdg-platform-portal-hyprland -exec-once=/usr/lib/polkit-kde-authentication-agent-1 # run auth agent -exec-once=swayosd-server # run swayosd server -exec-once=swayosd-client --caps-lock # enable caps lock display -exec-once=swayosd-client --num-lock # enable num lock display -exec-once=bash -c "pkill -9 node;sleep 2s;companion" # run companion -exec-once=bash $fsJobRunner # run companion job helper - -# set backends -env=GDK_BACKEND,wayland # set gdk backend to wayland -env=QT_QPA_PLATFORM,wayland;xcb # set qt backend to wayland, fallback xwayland -#env=SDL_VIDEODRIVER,wayland # set sdl backend to wayland, disabled as it conflicts with SRB2 -env=CLUTTER_BACKEND,wayland # set clutter backend to wayland - -# set xdg stuff -env=XDG_CURRENT_DESKTOP,Hyprland # set current desktop -env=XDG_SESSION_TYPE,wayland # set session type -env=XDG_SESSION_DESKTOP,Hyprland # set session desktop - -# set qt theme -env=QT_STYLE_OVERRIDE,$themQtTheme # set qt style -env=QT_QPA_PLATFORMTHEME,$themQtTheme # set qt style - -# set cursor -env=XCURSOR_SIZE,$themCursorSize # set cursor size for xwayland -exec=hyprctl setcursor $themCursorTheme $themCursorSize # set cursor and cursor size +input { + sensitivity = 0 + kb_layout = $INPUT_LAYOUT + kb_variant = $INPUT_VARIANT + kb_model = $INPUT_MODEL + kb_options = $INPUT_OPTIONS + kb_rules = $INPUT_RULES + follow_mouse = $INPUT_FOLLOW_MOUSE + touchpad { + natural_scroll = $INPUT_TOUCHPAD_NATURAL_SCROLL + } +} general { - sensitivity=1 # mouse sensitivity, use input:sensitivity for better compat - border_size=3 # border size - no_border_on_floating=false # disable border on floating windows - gaps_in=15 # gap size, window to window - gaps_out=20 # gap size, window to monitor border - col.active_border=rgba(d60532ff) rgba(8300ffff) 90deg # active border - col.inactive_border=rgba(af0532c8) rgba(5c00b3c8) 90deg # inactive border - cursor_inactive_timeout=0 # time to hide cursor during mouse inactivity - layout=dwindle # set layout - no_cursor_warps=true # disable cursor warps/teleports - no_focus_fallback=true # disable focus the nearest window - apply_sens_to_raw=false # apply sensitivity of raw mouse output - resize_on_border=false # allow resize when hitting border - extend_border_grab_area=true # extend border grab area (resize_on_border) - hover_icon_on_border=true # change user icon when over border grab area (resize_on_border) - #allow_tearing=false # master switch for tearing + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false } + decoration { - rounding=10 # rounded borders, set to 5 for win11's dwm patch - active_opacity=1 # opacity for active windows - inactive_opacity=0.9 # opacity for inactive windows, set to 0 for fun effects - fullscreen_opacity=1 # opacity for fullscreen windows - drop_shadow=$vfxEnableShadows # if windows should drop a shadow - shadow_range=4 # shadow range in px - shadow_render_power=4 # render power, less=better perf - shadow_ignore_window=true # if shadow should be visible below the window - col.shadow=rgba(ee1a1a1a) # shadow color for active windows - col.shadow_inactive=rgba(ee1a1a1a) # shadow color for inactive windows - dim_inactive=$vfxEnableDim # enable inactive window dimming - dim_strength=0.15 # dimming strength - dim_special=0 # dimming strength while special workspace is open - dim_around=0.2 # dimaround window rule strength - screen_shader= # screen shader applied at end of rendering - blur { - enabled=$vfxEnableBlur # if blurring should be enabled - size=1 # blur size aka. blur strength - passes=3 # blur passes aka. strength multiplier - ignore_opacity=false # if blur layer should ignore window opacity - new_optimizations=true # if optimizations should be enabled, heavily recommended - xray=false # if floating windows should ignore the blur of tiled windows, reduces overhead - noise=0 # noise level added to blur - contrast=1 # contrast level added to blur - brightness=0.8 # brightnesss level added to blur - special=false # if blurring should take place behind special workspace, "note: expensive" - } + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 10 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) } + animations { - enabled=$vfxEnableAnimations # if animations should be enabled - bezier=plain, 0, 0, 1, 1 # straight curve - bezier=easeInSine, 0.12, 0, 0.39, 0 # slowest ease in - bezier=easeInQuart, 0.5, 0, 0.75, 0 # slow ease in - bezier=easeInQuint, 0.64, 0, 0.78, 0 # fast ease in - bezier=easeInExpo, 0.7, 0, 0.84, 0 # fastest ease in - bezier=easeOutSine, 0.61, 1, 0.88, 1 # slowest ease out - bezier=easeOutQuart, 0.25, 1, 0.5, 1 # slow ease out - bezier=easeOutQuint, 0.22, 1, 0.36, 1 # fast ease out - bezier=easeOutExpo, 0.16, 1, 0.3, 1 # fastest ease out - - animation=windowsIn, 1, 4, easeOutSine # window open animation - animation=windowsOut, 1, 5, easeInSine # window close animation - animation=windowsMove, 1, 6, easeOutExpo # window move/drag/resize animation - - animation=fadeIn, 1, 4, easeOutSine # window open fade animation - animation=fadeOut, 1, 4, easeOutSine # window close fade animation - animation=fadeSwitch, 1, 10, easeOutQuart # focus switch opacity fade animation - animation=fadeShadow, 1, 10, easeOutQuart # focus switch shadow fade animation - animation=fadeDim, 1, 10, easeOutQuart # focus switch dim fade animation - - animation=border, 1, 2, easeOutExpo # focus switch border animation - animation=borderangle, 1, 100, plain, loop # border color switch animation - animation=workspaces, 1, 10, easeInQuart, slidefade # workspace switch animation - animation=specialWorkspace, 1, 10, easeInQuart, slidefade # special workspace toggle animation -} -input { - kb_model= # keyboard layout model - kb_layout=de # keyboard layout, most important - kb_variant= # keyboard layout variant - kb_options= # keyboard layout options - kb_rules= # keyboard layout rules - kb_file= # custom xkb file, if you want - numlock_by_default=false # if numlock should be enabled by default - repeat_rate=25 # repeat rate for held-down keys per second - repeat_delay=600 # delay before held-down key is repeated in milliseconds - sensitivity=0 # mouse sensitivity, recommended over general:sensitivity for better compat - accel_profile=false # force disable cursor acceleration, bypasses pointer settings, not recommended: cursor desync - left_handed=false # if leftclick and rightclick should be switched - scroll_method=2fg # the scroll method - scroll_button=0 # the scroll button - scroll_button_lock=false # if the scroll button lock should be enabled - natural_scroll=false # if the scrolling direction should be inverted - follow_mouse=$featMouseFocus # if mouse should change focus on move - mouse_refocus=true # if mouse should switch focus to hovered window even without crossing border - float_switch_override_focus=1 # 0: disabled, 1: focus change to window under cursor when changing from tiled-to-floating and vice versa, 2: focus will follow on float-to-float too - touchpad { - disable_while_typing=true # if touchpad should be disabled while typing on keyboard - natural_scroll=false # if the scrolling direction should be inverted - scroll_factor=1 # multiplier applied to scroll movement - middle_button_emulation=false # if a leftclick and rightclick at the same time should be interpreted as middleclick - tap_button_map= # set button mapping for touchpad button emulation, can be lrm (left, right, middle) or lmr (left, middle, right) - clickfinger_behavior=false # if button presses with one, two and three fingers should be intepreted as a leftclick, rightclick and middleclick respectively - tap-to-click=true # if tapping on touchpad with one, two and three fingers should be interpreted as a leftclick, rightclick and middleclick respectively - drag_lock=false # if a dragged item should not be dropped instantly while the finger is lifted off - tap-and-drag=false # if tap and drag mode should be enabled - } - touchdevice { - transform=0 # transforms the input from touchdevices - output= # to which output the touchdevice's input should be bound to - } - #tablet { - # transform=0 # transforms the input from tablets - # output= # to which output the tablet's input should be bound to - # region_position=0, 0 # position of the mapped region in output layout - # region_size=0, 0 # size of the mapped region - #} -} -misc { - disable_hyprland_logo=false # if hyprland logo and hypr-chan wallpaper should be hidden - disable_splash_rendering=true # if the splash text should be disabled - force_default_wallpaper=1 # enforces the default wallpaper variation, -1 is random - vfr=true # if the framerate should be dynamic, recommended - vrr=0 # controls adaptive sync - mouse_move_enables_dpms=true # if mouse movement should wake up your monitors - key_press_enables_dpms=true # if a key press should wake up your monitors - always_follow_on_dnd=true # if focus should change while dragging and dropping - layers_hog_keyboard_focus=true # if keyboard-interactive layers should keep their focus on mouse movement - animate_manual_resizes=true # if manual window resizes should be animated - animate_mouse_windowdragging=true # if window drags should be animated - disable_autoreload=$featDisableAutoreload # if autoreload should be disabled, may help save your battery life - enable_swallow=false # if window swallowing should be enabled - swallow_regex= # regex used to determine which windows should be swallowed - swallow_exception_regex= # regex used to determine which windows should not be swallowed - focus_on_activate=false # if focus should change to a window that requests it - no_direct_scanout=true # if direct scanout should be disabled, aka. if you want lag disable this - hide_cursor_on_touch=true # if the cursor should be hidden on touch input - mouse_move_focuses_monitor=true # if moving the mouse to another monitor should change the focus - #suppress_portal_warnings=false # if warnings about incompatible portal implementations should be ignored - render_ahead_of_time=false # if rendering should start before the monitor displays a frame - render_ahead_safezone=10 # how many milliseconds hyprland should wait before rendering ahead of time - cursor_zoom_factor=1 # how much zoom should be applied on the monitor the cursor is on - cursor_zoom_rigid=false # if the cursor zoom should follow the cursor rigidly of loosely - allow_session_lock_restore=false # if the lockscreen app should be restarted in case it crashes - background_color=rgb(000000) # the background color (!disable_hyprland_logo) - close_special_on_empty=true # if the special workspace should be removed if no window is inside it - new_window_takes_over_fullscreen=2 # if a new tiled window should take over a fullscreen window -} -binds { - pass_mouse_when_bound=false # if mouse events should be passed to programs if a keybind has been triggered - scroll_event_delay=300 # how many milliseconds to wait before allowing another scroll event to trigger a bind - workspace_back_and_forth=false # if attempting to switch the current workspace the previous workspace should be switched instead - allow_workspace_cycles=false # if hyprland shouldn't forget the previous workspace - #workspace_center_on=0 # how the cursor should be positioned when switching to a new workspace - focus_preferred_method=0 # how the focus finding algorithm should find the next window - ignore_group_lock=false # if certain dispatchers should ignore group locks -} -xwayland { - use_nearest_neighbor=true # if xwayland programs should be pixelated instead of blurry (!force_zero_scaling) - force_zero_scaling=false # forces xwayland programs to have a scale factor of 1 + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default } + dwindle { - pseudotile=true # if floating windows should retain their size when tiled - force_split=0 # how the split should operate - preserve_split=true # if the split should not change regardless of what happens - smart_split=false # if the split should be controlled based on the cursor position - smart_resizing=true # if the resizing direction should be determined by the nearest side of the window border to the mouse - permanent_direction_override=false # if the preselect direction should persist - special_scale_factor=1 # the scale factor of windows on the special workspace - split_width_multiplier=1 # the auto-split width multiplier - no_gaps_when_only=0 # if gaps should be displayed, 0: gap+border, 1: nothing, 2: border - use_active_for_splits=true # if the active window should be preferred for splits - default_split_ratio=1 # the default split ratio, 1 is 50/50 + # 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 } -# Media keys -##bindle=,XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # raise volume level by 5%, uses pulseaudio directly -##bindle=,XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # lower volume level by 5%, uses pulseaudio directly -bindle=,XF86AudioRaiseVolume, exec, swayosd-client --output-volume=raise # raise volume level by 5%, uses swayosd -bindle=,XF86AudioLowerVolume, exec, swayosd-client --output-volume=lower # lower volume level by 5%, uses swayosd -bindle=,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # mute audio -bindle=,XF86AudioPlay, exec, playerctl play-pause # play/pause playback -bindle=,XF86AudioStop, exec, playerctl stop # stop playback -bindle=,XF86AudioNext, exec, playerctl next # play next song -bindle=,XF86AudioPrev, exec, playerctl previous # play previous song +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} -# Application shortcuts -bind=$modkeyDefault, A, exec, $progTerminal # start terminal emulator -bind=$modkeyDefault, S, exec, $progFileManager # start file manager -bind=$modkeyDefault, D, exec, $progBrowser # start browser +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} -# Useful shortcuts -binde=$modkeyDefault, Q, exec, env $fsHyprConfig/scripts/winclose.sh # close active window, includes workarounds -bind=ALT, F4, exec, env $fsHyprConfig/scripts/close-window.sh # alias for modkey_default+q and without repeating -bind=$modkeyDefault, W, exec, env $fsHyprConfig/scripts/perfmode.sh # enables or disables performance mode -bind=$modkeyDefault, E, togglesplit, # change split mode -bind=$modkeyDefault, F, fullscreen, 0 # toggle fullscreen mode -bind=$modkeyDefault, G, fullscreen, 1 # maximize window -bind=$modkeyDefault, H, centerwindow, # center window -bind=ALT, SPACE, exec, ulauncher-toggle # ulauncher toggle -bindr=$modkeyDefault,SUPER_L, exec, ulauncher-toggle # alias for alt+space +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +} -# Special workspace -bind = $modkeyDefault, C, togglespecialworkspace, magic # toggle special workspace visibility -bind = $modkeyDefault, V, movetoworkspace, special:magic # move active window to special workspace -bind = $modkeyDefault, B, movetoworkspace, 1 # move active window to normal workspace -bind = $modkeyDefault, B, movewindow, mon:DP-1 # move active window to monitor 0 +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} -# Dangerous or rarily used binds -bind=$modkeyRare, Q, exit, # exit Hyprland -bind=$modkeyRare, W, exec, $cmdShutdownCommand # shutdown system -bind=$modkeyRare, E, exec, $cmdRestartCommand # reboot system -bind=$modkeyRare, Y, togglefloating, active # toggle float mode -bind=$modkeyRare, M, exec, hyprctl reload # reload hyprland config -bind=$modkeyRare, N, exec, $progEditor '$fsHyprConfig/hyprland.conf' # edit hyprland config +# 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 +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. -# Focus manipulation -bind=$modkeyDefault, LEFT, movefocus, l # move focus to left window -bind=$modkeyDefault, RIGHT, movefocus, r # move focus to right window -bind=$modkeyDefault, UP, movefocus, u # move focus to upper window -bind=$modkeyDefault, DOWN, movefocus, d # move focus to lower window -#bind=$modkeyDefault, K, exec, flatpak run org.prismlauncher.PrismLauncherk -# Window size and position manipulation -bindm=$modkeyDefault, mouse:272, movewindow # move window -bindm=$modkeyDefault, mouse:273, resizewindow # resize window +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER -# Window rules -## xwaylandvideobridge -windowrulev2=opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2=noanim,class:^(xwaylandvideobridge)$ -windowrulev2=nofocus,class:^(xwaylandvideobridge)$ -windowrulev2=noinitialfocus,class:^(xwaylandvideobridge)$ -# policykit authentication -windowrulev2=float,class:org.kde.polkit-kde-authentication-agent-1 -# pavucontrol -windowrulev2=float,class:pavucontrol -# copyq -windowrulev2=float,class:com.github.hluk.copyq +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, C, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle -# EOF <- yes, you've reached the end +# 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 + +# 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 diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf deleted file mode 100644 index a7f4bc6b..00000000 --- a/hypr/hyprpaper.conf +++ /dev/null @@ -1,9 +0,0 @@ -# jstm's hyprpaper config - -ipc=off -splash=true -preload=/home/jeremystartm/.local/share/wallpapers/YzxvjF-Colloid-wallpapers/Colloid-dark/contents/images/3840x2160.png -wallpaper=DP-1,/home/jeremystartm/.local/share/wallpapers/YzxvjF-Colloid-wallpapers/Colloid-dark/contents/images/3840x2160.png -wallpaper=HDMI-A-1,/home/jeremystartm/.local/share/wallpapers/YzxvjF-Colloid-wallpapers/Colloid-dark/contents/images/3840x2160.png - -# eof <- a quick read wasn't it? diff --git a/hypr/scripts/bgjob-eww.sh b/hypr/scripts/backgroundjob-eww.sh similarity index 100% rename from hypr/scripts/bgjob-eww.sh rename to hypr/scripts/backgroundjob-eww.sh diff --git a/hypr/scripts/bgjob-waybar.sh b/hypr/scripts/backgroundjob-waybar.sh similarity index 100% rename from hypr/scripts/bgjob-waybar.sh rename to hypr/scripts/backgroundjob-waybar.sh diff --git a/hypr/scripts/winclose.sh b/hypr/scripts/close-window.sh similarity index 89% rename from hypr/scripts/winclose.sh rename to hypr/scripts/close-window.sh index d886274e..0241223f 100755 --- a/hypr/scripts/winclose.sh +++ b/hypr/scripts/close-window.sh @@ -1,6 +1,4 @@ #!/bin/bash -# jstm's window close script - if [ "$(hyprctl activewindow -j | jq -r ".class")" = "Steam" ]; then # check if program is problematic xdotool getactivewindow windowunmap # workaround, if matching else diff --git a/hypr/scripts/conf-fancy.sh b/hypr/scripts/configure-fancy.sh similarity index 100% rename from hypr/scripts/conf-fancy.sh rename to hypr/scripts/configure-fancy.sh diff --git a/hypr/scripts/conf-wall.sh b/hypr/scripts/configure-wallpaper.sh similarity index 100% rename from hypr/scripts/conf-wall.sh rename to hypr/scripts/configure-wallpaper.sh diff --git a/hypr/scripts/perfmode.sh b/hypr/scripts/performance-mode.sh similarity index 100% rename from hypr/scripts/perfmode.sh rename to hypr/scripts/performance-mode.sh