Commit Graph

3305 Commits

Author SHA1 Message Date
ComycSans 927da86e3e
hyprctl: fix dispatchBatch() treating empty curitem as last request (#4681) 2024-02-12 15:16:00 +00:00
Vaxry e4bb5fa4af input: focus monitor on mouse down
fixes #4649
2024-02-10 17:39:53 +00:00
Vaxry 658f718fa3 input: partially revert #4514
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
Sefa Eyeoglu 334a0f03ee
keybinds: Fix focus not moving along when moving workspace (#4660)
---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
Ben Landon 289d4241be
groupbar: scale groupbar text according to monitor scale (#4640) 2024-02-08 22:29:10 +00:00
Vaxry a6ccd36147 screencopy: move monitor verif check to the proper place
oops
2024-02-07 23:47:14 +00:00
thejch 3d9ca6381d
crashreporter: fix logging of function data (#4632) 2024-02-07 09:50:23 +00:00
Vaxry f085ed4454 screencopy/toplevelexport: sanitize pointers in ::copyFrame
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
Vaxry ded174d6e5 misc: remove unused var 2024-02-05 23:39:19 +00:00
Vaxry 181f651de2 vector: avoid min0 clamps without a max being invalid 2024-02-05 22:37:34 +00:00
Epilepsy Gatherings 8a6e428d32
keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead (#4625) 2024-02-05 22:36:22 +00:00
Vaxry 1fd82e37a7 xwaylandmgr: proper clamping for setWindowSize
closes #4622 fixes #4621
2024-02-05 20:56:20 +00:00
Vaxry f9202f791e xwaylandmgr: clamp size in setWindowSize
fixes #4586
2024-02-05 14:08:08 +00:00
Vaxry 60bda7ee3d pluginapi: allow registering hyprctl commands
closes #4616
2024-02-05 01:57:29 +00:00
Vaxry 939696f97e hyprctl: move to a class and unify commands 2024-02-05 01:56:49 +00:00
MightyPlaza cbadf3e3f3
input: focus window on mouse down on decoration (#4514)
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
JManch 1ed4f1cb25
screenshader: rename output uniform to wl_output (#4606)
* screenshader: rename output uniform to monitor

* rename to wl_output
2024-02-04 02:30:00 +00:00
Vaxry 504ebe1b37 box: add missing include 2024-02-03 01:31:52 +00:00
Vaxry cf1886ca44 renderer: avoid unnecessary gpu resource deletions
fixes #4594
2024-02-02 15:36:13 +00:00
Vaxry 341e04a36c dwindle: avoid sending negative sizes to wlr
fixes #4591
2024-02-02 15:04:04 +00:00
Vaxry d7514412d8 renderer: reset fb pointers after render pass
fixes #4590
2024-02-02 14:56:04 +00:00
Vaxry 4644de2269 keybinds: fix ignoremods with release 2024-02-02 01:09:57 +00:00
Abílio Costa 15316aaa31
subsurfaceTree: Fix nullptr crash when disconnecting a monitor (#4577)
I was able to reproduce this frequently by having a kitty terminal on an
monitor running the following command and then unplugging that monitor:

`while true; do echo "" && sleep 0.02; done`
2024-02-01 03:09:31 +00:00
Vaxry cfd68af5b6 tearing-control: handle unmapped surfaces for hints
fixes #4570
2024-02-01 00:55:29 +00:00
Vaxry c51b3fb06f events: ignore sending mouse enter to focused if a constraint is active
fixes #4186
2024-01-30 16:24:41 +00:00
Vaxry 2e3f0d5991 renderer: Add new background infrastructure
Adds new backgrounds from the winners of the contest
Rewrites how it works
Allows high color precision PNGs (RGB32F precisely)
Fixes a small bug in renderTextureInternalWithDamage
Nukes misc:force_hypr_chan
2024-01-29 23:11:00 +00:00
Vaxry 4b4bd90b14 renderer: fixup misaligned fsv1 surfaces with uv
fixes #4548
2024-01-28 23:42:49 +00:00
Vaxry b7840c6461 xwayland: remove delta from pos sets in configureX11
ref #4536
2024-01-28 20:13:44 +00:00
Epilepsy Gatherings 0e5f14d8d2
xwayland: remove reportedsize set in unmanagedSetGeometry (#4539) 2024-01-28 19:22:02 +00:00
Vaxry bfcc2adbda monitor: wrap usage of wlr_output_state
for better control and convenience in usage.

fixes #4546
2024-01-28 01:57:13 +00:00
Vaxry 9002657bcc monitor: don't call output_state_finish on buffer-less state clears
ref #4546
2024-01-28 00:41:54 +00:00
Vaxry 3e93fdf779 opengl: use texBox for rendering background texture
fixes #4543
2024-01-28 00:32:54 +00:00
Vaxry bc7e488a4c monitor: clear output state after usage
fixes massive lag
2024-01-27 19:11:14 +00:00
Vaxry 7b3d039388 deps: update wlroots
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
rszyma 12d79d6342
dwindle: fix windows being created at incorrect position when cursor is over reserved area (#4520)
* fix: smart_split not working correctly when creating a window with cursor over reserved area

* use getClosestNodeOnWorkspace instead of getFirstNodeOnWorkspace when hovering over reserved area

* optimize `getClosestNodeOnWorkspace`

* remove unused methods
2024-01-26 22:30:36 +00:00
bvr-yr 08e3519747
layout: save float props before setting fs state (#4537)
fixes #4388
2024-01-26 17:24:00 +00:00
Epilepsy Gatherings 5cd7e4587e
compositor: don't close special on focus on pinned (#4533) 2024-01-26 12:24:52 +00:00
Vaxry 72987dee88 opengl: rassert false on lost context
we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
2024-01-26 02:26:10 +00:00
Vaxry 754eaf5b8b pluginapi: fix hooks with negative rip offsets
fixes #4484
2024-01-24 13:53:18 +00:00
Zach DeCook df17991b1c
input: Allow disabling touchscreen input (#4517)
* enable/disable touch device

* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
Vaxry 791e1b96b3 internal: minor header cleanup 2024-01-23 01:32:34 +00:00
Vaxry 02b4a9bded compositor: clarify common errors at launch 2024-01-22 09:46:47 +01:00
Vaxry f40e382fc6 crashreporter: skip first possibly cut off line in log tail 2024-01-20 09:16:27 +01:00
Vaxry b86ed02d8a keybinds: avoid duplicated held keys, only use last, remove all
ref #4471
2024-01-19 19:09:32 +01:00
Vaxry 17339e0ae9 input: track exclusive LSes
ref #4465
2024-01-19 16:45:34 +01:00
Vaxry 5eeec8860e core: improve cleanup logic 2024-01-19 16:20:30 +01:00
Epilepsy Gatherings 9f20a15955
input: remove animate checks on resize limiter (#4480) 2024-01-19 15:45:51 +01:00
Vaxry c4365f20ed damage: use buffer_damage instead of effective_damage 2024-01-17 16:01:20 +01:00
Vaxry 307dd8f511 input: partially revert #4401
ref #4465
2024-01-17 14:43:38 +01:00
virchau13 3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439)
* feat: implement xmonad/qtile-style workspace switching

Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.

When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
   replace it with the workspace that was previously active on the
   current monitor,
3. Focus the workspace on the current monitor.

* fix: address PR comments
2024-01-15 16:30:46 +01:00
MightyPlaza f14c5ea5c5
groupbar: separate gradients from title (#4444)
* separate gradients from title logic
modified:   src/config/ConfigManager.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp

* fix disabled extents
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp

* fix disabled height
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-15 16:17:42 +01:00
Isaac Myhal b6516bad02
config: Add border gradients to windowrulev2 (#4335)
* Add border gradients to windowrulev2

* windowrule border gradient: Use CVarList to parse

* windowrule border gradient: No {} around short ifs
2024-01-14 18:27:32 +01:00
dranull 13d9a637d6
hyprctl: screen_shader config fixes (#4102)
* Allow "/" in values of requests

* Don't tick on empty value
2024-01-14 18:12:52 +01:00
1over137 4cee94b91c
fractional: Set preferred scale on monitor config reload (#4406) 2024-01-14 14:56:35 +01:00
Zach DeCook c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer (#4401)
* Layer: Don't allow a keyboard-layer to steal focus from other layers

* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26 babb9c07b0
swipe: Prevent hiding current workspace when swiping (#4417)
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
Vaxry 6b92144f15 surface: avoid spam of window surfaces with scale and transform events
fixes #4408
2024-01-11 14:07:28 +01:00
Clyybber 8d31c84483
layout: Round window pos and size on togglefloating (#4407)
Also restore the behaviour introduced in bc4a51dbbb
2024-01-10 18:08:58 +01:00
Vaxry d484506600 keybinds: fix tracking of sent key states 2024-01-10 18:06:38 +01:00
Vaxry b240704bee renderer: allow rendering multiple fullscreen windows in third fs pass
something might be fading out, sliding out, etc. We handle it before, why not use it?

fixes #4076
2024-01-09 20:42:07 +01:00
Vaxry 71166ef40b subsurfaceTree: update surface tree protocol feedback on map 2024-01-09 18:14:08 +01:00
Vaxry 252aaaecfa input: add special_fallthrough
fixes #4323
2024-01-09 13:17:55 +01:00
Vaxry f92a86af53 renderer: ignore box offsets for fullscreen windows 2024-01-08 19:58:15 +01:00
MightyPlaza 2ba2c8aeee
groupbar: improve gradient handling (#4390)
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-08 19:38:22 +01:00
Vaxry d7d333d162 opengl: apply box rot to projections 2024-01-07 18:51:08 +01:00
Vaxry f5b2fd2bc3 opengl: add renderdata.forceIntrospection 2024-01-07 18:37:02 +01:00
Vaxry 44ee9915e3 renderer: overhaul renderModifData 2024-01-07 18:35:44 +01:00
Vaxry 7904188de9 input: allow focusSurface when locked if surfase is sessionLock 2024-01-07 14:04:32 +01:00
Epilepsy Gatherings 666ee61c13
input: leave special on focus (#4358) 2024-01-07 12:06:33 +01:00
Naksu d8dbdc4a01
main: Fix typo in std::cerr (#4359) 2024-01-05 12:45:49 +01:00
thejch 880996b053
master: Add more null checks for rollnext (#4343)
* add more null check for rollnext

* remove pwindow check
2024-01-04 16:17:17 +01:00
Vaxry 1512b81126 master: guard PNODE in roll*
fixes #4331
2024-01-02 22:18:38 +01:00
flicko 4f26c4e1eb
config: variables update their value when set again (#4263)
* variables update their value when set again

* only sort if new variable is found

* clang-format
2024-01-02 16:38:30 +01:00
dranull 3c33d4b9dd
keybinds: Refocus only if the silently moved window had the focus (#4328) 2024-01-02 14:50:30 +01:00
Vaxry 813af393f1 layout: update rules before applying fullscreen nodes in layouts 2024-01-02 14:21:36 +01:00
dranull 583b05a8c6
groupbar: Drag single window instead of destroying group (#4327) 2024-01-02 13:37:03 +01:00
Zach DeCook 1607e96704
HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict (#4321) 2024-01-01 23:05:26 +01:00
q234rty 1a4f23eb2f
renderer: Only force nearest neighbor when the sizes are off by one or two (#4325)
Fixes rendering issues in arch's extra/telegram-desktop
2024-01-01 20:20:27 +01:00
rszyma 37b76cd1ca
keybinds: fix keys getting stuck + minor refactor & optimizations to keybind handling (#4304) 2024-01-01 18:29:51 +01:00
Vaxry 069880e374 hyprctl: add systeminfo 2024-01-01 17:53:03 +01:00
Vaxry 33444e1e5e deps: update wlroots 2024-01-01 16:47:54 +01:00
dranull 7c1ac58a4b
input: Ignore some input events when focus is on a layer surface (#4306)
* No motion events with focus on LS on workspace change

* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
Vaxry 46997a7643 renderer: fix auto scale detection with fractional
ref #4225
2023-12-31 13:54:24 +01:00
Vaxry b5b025a1ed renderer: use nearest_neighbor for misaligned fractional-scale surfaces
ref #4225
2023-12-31 13:11:26 +01:00
MightyPlaza 94d6b2d2c1
deco: fix missing border on togglefloating (#4305)
modified:   src/managers/KeybindManager.cpp
2023-12-30 16:59:01 +01:00
MightyPlaza 2ad2e1d5f5
groupbar: add enabling groupbar and setting priority (#4299) 2023-12-30 15:18:53 +01:00
dranull 5f8e4068e5
groupbar: Middle click on groupbar to close tab (#4297)
* Prevent window swapping when the head is removed

* Bring floating windows to top when selected

* Allow clicks on gropubar in fullscreen 1

* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
Vaxry 9242b03317 internal: minor include fixes and missed format 2023-12-29 10:27:09 +01:00
Vaxry f9c13b614c xdg-shell: fix sending of suspended state
fixes #4287
2023-12-29 00:26:23 +01:00
Vaxry ddf8e01c1e config: don't emit reloaded event before eventManager is created 2023-12-29 00:17:58 +01:00
Vaxry f771c10d1a renderer: ignore windowRequestedCursorHide
ref #4197, thanks @dtop129

co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull 8321d6be46
internal: Unify input handling on decorations (#4280)
* Unify input handling on decorations

* Make input methods private

* Optional data
2023-12-28 23:54:41 +01:00
Vaxry 9fba887cc9 socket2: emit configreloaded event
fixes #4285
2023-12-28 22:34:12 +01:00
Vaxry 4f3ee4c645 renderer: add decoration:blur:popups_ignorealpha
fixes #4282
2023-12-28 22:29:04 +01:00
MightyPlaza 5f65946c84
hyprctl: add decorations (#4275)
* add hyprctl decorations

modified:   hyprctl/main.cpp
modified:   src/debug/HyprCtl.cpp
modified:   src/render/decorations/CHyprBorderDecoration.cpp
modified:   src/render/decorations/CHyprBorderDecoration.hpp
modified:   src/render/decorations/CHyprDropShadowDecoration.cpp
modified:   src/render/decorations/CHyprDropShadowDecoration.hpp
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.hpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* fixes
modified:   hyprctl/main.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
2023-12-28 16:38:16 +01:00
Vaxry 6a93cee74e pluginapi: manually detect endbr64 opcodes in function hooks
ref #4277
2023-12-28 13:36:09 +01:00
Vaxry 07132741bc renderer: use 120 as the denominator in scale checks 2023-12-27 23:47:01 +01:00
Vaxry e75dafd8b2 pluginapi: better wording for plugin function hook errors 2023-12-27 19:27:15 +01:00
Vaxry b7e8110a30 pluginapi: log assembler return 2023-12-27 19:23:06 +01:00
Vaxry 2702814a3f opengl: add toggleable nvidia_anti_flicker
ref #4252
2023-12-27 19:17:07 +01:00
MightyPlaza 6cd82d948f
input: don't steal mouseDown from LS (#4260)
modified:   src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
MightyPlaza 1ecd173c7a
groupbar: remove extra border size from groupbars (#4262)
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-27 11:43:55 +01:00
Vaxry 7474c81958
pluginapi: Trampoline hooks %rip patching improvements (#4256)
---------

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-12-27 11:43:04 +01:00
Tuur Vanhoutte 191fa587f4
windowrules: add initialTitle and initialClass (#4259) 2023-12-26 23:47:46 +01:00
Vaxry 9fb50252d3 special: move floating windows along with the workspace 2023-12-26 19:44:38 +01:00
André Silva bfb4d66c81
compositor: spawn environment setup with keybind manager (#3722) 2023-12-26 18:16:59 +01:00
dranull 34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area (#4253) 2023-12-26 17:24:31 +01:00
André Silva 2c2ff4b61b
hyprctl: check only ISDEBUG in version (#3702) 2023-12-26 14:14:12 +01:00
Vaxry e2d04ae503 renderer: add option to blur popups
closes #2134
2023-12-25 18:07:07 +01:00
MightyPlaza b25b06430b
groupbar: add egl context to refreshGroupBarGradients() (#4238)
* add egl context to refreshGroupBarGradients()

modified:   src/render/decorations/CHyprGroupBarDecoration.cpp

* don't unsetEGL
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-24 19:29:04 +01:00
Vaxry 5aab4a96e3 dispatchers: add tiled/floating to cyclenext 2023-12-24 15:08:48 +01:00
Vaxry ff75f991a5 compositor: don't block focus if there is no keyboard 2023-12-24 13:20:31 +01:00
Vaxry f013acc6ee renderer: add occlusion for special workspaces 2023-12-23 22:41:42 +01:00
Vaxry d5811283d2 xdgshell: bump to 6, send suspended states 2023-12-23 22:30:56 +01:00
dranull 5c7e23f86b
shadow: Avoid rounded shadows when rounding is 0 (#4230) 2023-12-23 20:40:07 +01:00
Vaxry b9c1414f25 border: fix missed translate by offset 2023-12-23 16:11:26 +01:00
Vaxry cc0516a9ae windowrules: minor fixes to onworkspace
fixes #4227
2023-12-23 15:49:42 +01:00
Vaxry 6c8e0f9863 config: add debug:disable_scale_checks
ref #4225
2023-12-23 00:21:02 +01:00
Vaxry 6b6f3396cf renderer: deny invalid scales and suggest a replacement
ref #4225 #3511
2023-12-23 00:09:55 +01:00
Vaxry 79ef29d6e0 renderer: apply scale to wlr after checks
ref #4225
2023-12-22 23:00:36 +01:00
Vaxry c416880cf9 shadow: correctly scale boxes 2023-12-22 19:54:31 +01:00
Vaxry 37d2840246 renderer: reject non-clean scales, find nearest clean 2023-12-22 19:54:31 +01:00
thejch 7cec618fe4
master: add dispatchers rollnext and rollprev (#4209) 2023-12-22 12:37:38 +01:00
Vaxry bd952dcef2 systemd: add HYPRLAND_NO_SD_NOTIFY
fixes #4217
2023-12-21 22:27:12 +01:00
Vaxry bc51a91043 crashreporter: don't explicitly set 777 on crash report directory
fixes #4218
2023-12-21 22:18:07 +01:00
Ahmed Yasser 79f3888b4b
signal: fix invalid pointer access (#4207) 2023-12-20 23:54:52 +01:00
Vaxry 4eb42fab7b windowrules: add onworkspace
cool
2023-12-20 23:52:18 +01:00
Vaxry 48ecb13b14 renderer: improve cursor hiding infra
ref #4197
2023-12-20 21:40:44 +01:00
Vaxry a197fe3c11 renderer: don't set surfaces on cursor timeout 2023-12-20 17:59:11 +01:00
Junxuan Liao 53c78ab906
idle: notify idle on tablet inputs (#4201)
Fixes #4028.
2023-12-20 17:53:54 +01:00
Vaxry b4f4bd38e8 configmanager: set a limit to config variable substitutions
fixes #4198
2023-12-20 13:07:12 +01:00
Vaxry d1b8a63a8e input: allow setting cursor even if it's hidden
ref #4197
2023-12-20 13:00:35 +01:00
Husam Harazi 3771c49a94
filesystem: Set the sticky bit on `/tmp/hypr` (#4199)
To prevent unprivileged users from deleting other users' files.
2023-12-20 11:56:15 +00:00
Vaxry d9b74ff96b renderer: staticize local functions 2023-12-19 11:55:56 +00:00
Vaxry ef445093f9 internal: convert uname fields to strings before logging
fixes #4188, thanks @jbeich
2023-12-18 23:33:10 +00:00
Vaxry 11fd37418c renderer: fix null cursor surface sets being ignored
oopsie from #4184
2023-12-18 22:06:50 +00:00
dusanx 0c74df4f9e
renderer: cursor hiding logic improvements (#4184)
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
Vaxry 460a326c90 Revert "xdgshell: set predicted tiled windows to monitor res size pre-map"
This reverts commit 763d5fa05f.

Some issues and fixes #4185
2023-12-18 14:45:20 +00:00
Vaxry 403fd7d9f6 xwayland: move commit handler connect to associate
fixes #4179
2023-12-18 00:15:30 +00:00
Vaxry 763d5fa05f xdgshell: set predicted tiled windows to monitor res size pre-map
Should improve #4022 although not exactly fix. Fixing would require more witchcraft
2023-12-17 20:09:34 +00:00
Vaxry 9fd928e114 internal: nuke CWindow::m_bMappedX11
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
Vaxry bf7374011b xwaylandmgr: allow resizes without a monitor 2023-12-17 19:58:11 +00:00
Vaxry 8c9f38e405 events: improve wl_surface::commit event tracking 2023-12-17 19:58:01 +00:00
Vaxry c0d9dcc586 xwayland: set reported and pending size/pos on geometry sets 2023-12-17 14:53:59 +00:00
MightyPlaza 2a777cb71b
hyprctl: add commit date to "hyprctl version" (#4171)
* add commit date to "hyprctl version"
modified:   scripts/generateVersion.sh
modified:   src/debug/HyprCtl.cpp
modified:   src/version.h.in

* Nix: add date to hyprctl

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-12-17 14:29:58 +00:00
dranull 9ca0c7d814
input: Activate resize_on_border only when key is pressed (#4170) 2023-12-16 20:47:58 +00:00
Vaxry b1b8d732e6 toplevelexport: fix missed pmonitor set for opengl
ref #4165
2023-12-15 21:20:13 +00:00
Vaxry 4e5d9b90c0 toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
ref #4165
2023-12-15 21:04:34 +00:00
Vaxry e1ed8e11ca internal: import qt env to dbus 2023-12-15 20:59:13 +00:00
Vaxry 79d8d14fe0 config: add qt env to default config 2023-12-15 18:27:04 +00:00
Vaxry 395ab3ba37 xdg: use better min/max size checks for floating resizes 2023-12-15 15:38:20 +00:00
dranull 36fa33f7ca
input: Prevent crash with invalid keyboard layout (#4157) 2023-12-15 00:39:03 +00:00
Vaxry 01e5c59d75 Revert "xwayland: push invisible windows outside layout"
This reverts commit accb3d8d0b.

Bad idea
2023-12-13 17:25:19 +00:00
dranull 4de986072c
layout: Focus a floating window after closing the last tiled (#4137) 2023-12-12 16:44:31 +00:00
dranull 934112af5b
config: Use canonical instead of read_symlink (#4136) 2023-12-12 16:43:38 +00:00
Vaxry ba2af6f86d focus: prefer sendMotionEventsToFocused for ensuring cursor image 2023-12-12 14:58:43 +00:00
Vaxry 1950c3fc9c input: unset resize cursor on empty focus
fixes #4133
2023-12-12 14:55:48 +00:00
Vaxry 8f38487884 xwayland: don't change workspace on configure for invisible windows
fixes #3578
2023-12-12 01:15:17 +00:00
Vaxry accb3d8d0b xwayland: push invisible windows outside layout
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
Vaxry ea7569d7e0 config: improve layoutopt handling for workspacerules 2023-12-11 22:58:51 +00:00
François Conzelmann e53134ca90
internal: fix interactions with fakefullscreen (#4113)
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
  keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
Vaxry 8191e635a3 deco-positioner: include sticky in sent geometry 2023-12-11 16:46:20 +00:00
Vaxry 0fdf909b19 renderer: don't render decorations on renderdata.decorate false
fixes #4117
2023-12-11 16:32:11 +00:00
nmzik 53ce7992be
renderer: double lookup fix, input: double conversion fix (#4124) 2023-12-11 16:28:22 +00:00
Vaxry 167f2ed3b2 border: fix failed assert on small windows
fixes #4115
2023-12-10 19:32:03 +00:00
nmzik efdf07e295
renderer: Allocate background texture only if required (#4111) 2023-12-10 16:53:08 +00:00
Mihai Fufezan 0c10b8ab2d
input: Add scroll_points option for device (#4101) 2023-12-10 16:30:08 +00:00
Vaxry 9f5b9053c6
internal: Remake borders as window decorations (#4104) 2023-12-10 16:28:12 +00:00
Vaxry af6aae4e12 renderer: don't use clipBox for pinned window occlusion during animations
ref #4094
2023-12-09 18:41:32 +00:00
Vaxry 0ebbf371ff renderer: improve fullscreen workspace client rendering
fixes #4076
2023-12-09 18:38:32 +00:00
dranull 89d8f665b5
config: Avoid regenerating config if --config is used (#4103) 2023-12-09 18:27:30 +00:00
Vaxry 9132660768 functionHooks: fix incorrect protlen calcs 2023-12-09 16:16:46 +00:00
Vaxry dd0714c22a input: add relative_input for tablets
closes #2639
2023-12-09 04:07:28 +00:00
Vaxry 11d1c50420 windowrules: add focus param 2023-12-08 16:02:16 +00:00
dranull 004bf94a23
keybinds: Keep focus on special when switching workspaces (#4084) 2023-12-07 22:12:08 +00:00
Vaxry aa020a2a1a toplevel-export: commence render pass before reading
fixes #4070
2023-12-07 17:58:13 +00:00
Vaxry a794eecd6a README: add note about hyprpm + clang-format 2023-12-07 10:46:12 +00:00
ddmetz 62a8d0be5c
keybinds: check for null last monitor in changeworkspace (#4077) 2023-12-07 00:09:25 +00:00
François Conzelmann 4a42344e97
style/ci: apply clang-format and verify it in ci (#4039)
* style: apply clang-format

* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
Vaxry 5489f9f07a renderer: use xray for background blur on small() surfaces
ref #4050
2023-12-06 20:17:40 +00:00
Vaxry 03c6f4506a internal: various improvements to avoid crashes on exit 2023-12-06 14:46:29 +00:00
swwind 13b4c6de86
input: don't send mouse events on touch (#4071) 2023-12-06 14:30:40 +00:00
dranull cfd94c5b30
input: Stop propagating axis events after valid binds (#4059) 2023-12-05 21:16:26 +00:00
Vaxry ab66fa430e screencopy: fix glReadPixels offset
fixes #4042
2023-12-05 20:04:53 +00:00
Vaxry 37d7a8c64d framebuffer: ignore addStencil on legacyRenderer
ref #4044
2023-12-05 15:41:17 +00:00
Vaxry da863459c4 screencopy: fix legacyrenderer builds
fixes #4044
2023-12-05 14:59:12 +00:00
Vaxry 83248b6936 toplevelexport: fix getPreferredReadFormat param in captureToplevel
fixes #4043
2023-12-05 14:43:54 +00:00
Vaxry 2d04cb1cc6 input: make fallback layout us 2023-12-05 00:48:39 +00:00
Vaxry c6804ccaab opengl: fixup blur dirty repaint conditions with solitary
fixes #4025
2023-12-05 00:43:09 +00:00
Glizda aa46aaed04
config: Add variables to default config (#4032)
* update default config

* Fix inconsistency in variable naming

* continuation of last commit

* edited example/hyprland.conf for parity

* fix  issue

* deleted unwanted newline
2023-12-04 18:47:58 +00:00
Vaxry 68783d904d screencopy: use buffer format for glReadPixels
fixes #4029
2023-12-04 03:52:54 +00:00
Vaxry 5d100bdcbb opengl: clear layer fade fbs in ~dtor 2023-12-04 02:08:34 +00:00
Vaxry 45d3fbb8d8 opengl: free window framebuffers in ~dtor
ref #4036
2023-12-04 01:44:16 +00:00
dranull 9a9528d093
config: Minor --config improvements, fixes (#4034)
* Follow symlink, only file, absolute path for -c

* Create config file only for default paths

* Skip non-file source= glob results

* Check for absolute path on XDG_CONFIG_HOME

As per spec, all non-absolute paths should be ignored.
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2023-12-04 01:35:24 +00:00
Vaxry e496b0f250 screencopy: fix detecting gl shm formats
ref #4029
2023-12-03 22:04:07 +00:00
Vaxry dc2082b00a screencopy: fix transformed on shm 2023-12-03 19:06:51 +00:00
dranull 59cb0e20de
input: Handle fullscreen windows in vectorToWindowIdeal (#4021) 2023-12-03 12:53:12 +00:00
Vaxry 80b9b21f9f opengl: fix nvidia read formats
fixes #4023
2023-12-02 14:51:45 +00:00
thejch 758cf90ea1
workspacerules: Add workspace rule for master layout orientation (#3964)
* add workspace rule for master layout orientation

* change rule format

* edit rule name

* use map for layoutopts

* use std::any instead of string
2023-12-02 14:42:49 +00:00
Vaxry 6e8b9ef7d8 opengl: fix swapped rgb drm formats 2023-12-01 17:23:50 +00:00