# more windowrules
# handle steam client
-windowrule = float,class:^(steam)$
-windowrule = float,title:^(Steam)$
-windowrule = float,title:^(Freundesliste)$
+windowrule = float, class:^(steam)$
+# windowrule = float, title:^(Steam)$
+# windowrule = float, title:^(Freundesliste)$
windowrule = stayfocused, title:^()$, class:^(steam)$
windowrule = minsize 1 1, title:^()$, class:^(steam)$
windowrule = plugin:hyprbars:nobar,class:^(steam)$
# handle wine/proton games
$GAMES = ^(steam_app_.*|steam_proton|streaming_client|gamescope)$
-windowrule = noanim, $GAMES
-windowrule = fullscreenstate 2 2, $GAMES
-windowrule = fullscreen, $GAMES
-windowrule = idleinhibit always, $GAMES
-# windowrule = immediate, $GAMES
+windowrule = noanim, class:$GAMES
+windowrule = fullscreenstate 2 2, class:$GAMES
+windowrule = fullscreen, class:$GAMES
+windowrule = idleinhibit always, class:$GAMES
+windowrule = immediate, class:$GAMES
# hide hyprbars on non-floating windows
windowrule = plugin:hyprbars:nobar, ^floating:0
debug:disable_logs = true # file logging. defaults to 1 for production
# See https://wiki.hyprland.org/Configuring/Monitors/
-monitor=DP-1,preferred,0x0,1,vrr,2
-monitor=DP-2,preferred,auto-right,1,vrr,2
+monitor=DP-1,preferred,0x0,1,vrr,3
+monitor=DP-2,preferred,auto-right,1,vrr,3
# unscale XWayland
xwayland {
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
+permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
+
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
# col.active_border = 0xffffffff
workspace_swipe = false
}
+render {
+ direct_scanout = false
+}
+
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
key_press_enables_dpms = true
- vrr = 2
vfr = true #enable for battery savings
render_unfocused_fps = 60
allow_session_lock_restore = 1
bar_part_of_window = 1
bar_precedence_over_border = 1
# hyprbars-button = color, size, icon, on-click
- hyprbars-button = 0xaa$base08, 20, , hyprctl dispatch killactive
+ dynamic-cursors {
+
+ # enables the plugin
+ enabled = true
+
+ # sets the cursor behaviour, supports these values:
+ # tilt - tilt the cursor based on x-velocity
+ # rotate - rotate the cursor based on movement direction
+ # stretch - stretch the cursor shape based on direction and velocity
+ # none - do not change the cursors behaviour
+ mode = none
+
+ # minimum angle difference in degrees after which the shape is changed
+ # smaller values are smoother, but more expensive for hw cursors
+ threshold = 2
+
+ # override the mode behaviour per shape
+ # this is a keyword and can be repeated many times
+ # by default, there are no rules added
+ # see the dedicated `shape rules` section below!
+ # shaperule = <shape-name>, <mode> (optional), <property>: <value>, ...
+ # shaperule = <shape-name>, <mode> (optional), <property>: <value>, ...
+
+ # for mode = rotate
+ rotate {
+
+ # length in px of the simulated stick used to rotate the cursor
+ # most realistic if this is your actual cursor size
+ length = 20
+
+ # clockwise offset applied to the angle in degrees
+ # this will apply to ALL shapes
+ offset = 0.0
+ }
+
+ # for mode = tilt
+ tilt {
+
+ # controls how powerful the tilt is, the lower, the more power
+ # this value controls at which speed (px/s) the full tilt is reached
+ limit = 5000
+
+ # relationship between speed and tilt, supports these values:
+ # linear - a linear function is used
+ # quadratic - a quadratic function is used (most realistic to actual air drag)
+ # negative_quadratic - negative version of the quadratic one, feels more aggressive
+ function = negative_quadratic
+ }
+
+ # for mode = stretch
+ stretch {
+
+ # controls how much the cursor is stretched
+ # this value controls at which speed (px/s) the full stretch is reached
+ limit = 3000
+
+ # relationship between speed and stretch amount, supports these values:
+ # linear - a linear function is used
+ # quadratic - a quadratic function is used
+ # negative_quadratic - negative version of the quadratic one, feels more aggressive
+ function = quadratic
+ }
+
+ # configure shake to find
+ # magnifies the cursor if its is being shaken
+ shake {
+
+ # enables shake to find
+ enabled = true
+
+ # use nearest-neighbour (pixelated) scaling when shaking
+ # may look weird when effects are enabled
+ nearest = true
+
+ # controls how soon a shake is detected
+ # lower values mean sooner
+ threshold = 4.0
+
+ # magnification level immediately after shake start
+ base = 4.0
+ # magnification increase per second when continuing to shake
+ speed = 2.0
+ # how much the speed is influenced by the current shake intensitiy
+ influence = 0.0
+
+ # maximal magnification the cursor can reach
+ # values below 1 disable the limit (e.g. 0)
+ limit = 10.0
+
+ # time in millseconds the cursor will stay magnified after a shake has ended
+ timeout = 2000
+
+ # show cursor behaviour `tilt`, `rotate`, etc. while shaking
+ effects = false
+
+ # enable ipc events for shake
+ # see the `ipc` section below
+ ipc = false
+ }
+
+ # use hyprcursor to get a higher resolution texture when the cursor is magnified
+ # see the `hyprcursor` section below
+ hyprcursor {
+
+ # use nearest-neighbour (pixelated) scaling when magnifing beyond texture size
+ # this will also have effect without hyprcursor support being enabled
+ # 0 / false - never use pixelated scaling
+ # 1 / true - use pixelated when no highres image
+ # 2 - always use pixleated scaling
+ nearest = true
+
+ # enable dedicated hyprcursor support
+ enabled = true
+
+ # resolution in pixels to load the magnified shapes at
+ # be warned that loading a very high-resolution image will take a long time and might impact memory consumption
+ # -1 means we use [normal cursor size] * [shake:base option]
+ resolution = -1
+
+ # shape to use when clientside cursors are being magnified
+ # see the shape-name property of shape rules for possible names
+ # specifying clientside will use the actual shape, but will be pixelated
+ fallback = clientside
+ }
+ }
+
+ hyprbars-button = 0xaa$base08, 20, , hyprctl dispatch killactive
hyprbars-button = 0xaa$base0A, 20, , hyprctl dispatch fullscreen 1
}
hyprexpo {
}
}
+
source=./fragments/animations.conf
source=./fragments/env.conf
source=./fragments/keybinds.conf