Not very complete Hyprland config rewrite
This commit is contained in:
parent
5dd0c868dc
commit
67651ee1c1
9 changed files with 174 additions and 337 deletions
2
hypr/config.d/monitors.conf
Normal file
2
hypr/config.d/monitors.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
monitor=DP-1, 2560x1440, 0x0, 1
|
||||
monitor=HDMI-A-1, 1920x1080, 2560x0, 1
|
|
@ -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 <program>" 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
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 10
|
||||
|
||||
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"
|
||||
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
|
||||
enabled = yes
|
||||
|
||||
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
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
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
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
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
|
||||
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
|
||||
|
|
|
@ -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?
|
|
@ -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
|
Loading…
Reference in a new issue