Commit Graph
6011 Commits
Author SHA1 Message Date
davc0n 4d14bcb02f config: Refactor class member vars (#10124)
* Refactor config classes vars

* Fix clang format errors
2025-04-20 20:39:33 +02:00
Vaxry 9b4060f09b hyprpm: extend dep list 2025-04-20 16:54:28 +01:00
syuzuki 867bc86089 compositor: fix getMonitorInDirection skipping active monitor (#10114) 2025-04-20 04:22:21 +02:00
Bruno Krügel f48ee7a3d1 protocols: ensure PointerConstraints activation occurs only after attched to InputManager (#10096) 2025-04-19 01:16:30 +02:00
fazzi 51afc2c291 ctm: enable fade animation on nvidia driver versions 575 and above (#10095)
* ctm: enable fade animation on nvidia driver versions 575 and above

* format if statement without braces; handle potential throw when checking for nvidia version file
2025-04-18 21:44:54 +02:00
vaxerski 02f7da2bf2 [gha] Nix: update inputs 2025-04-18 15:39:22 +00:00
Lee Bousfield 7631d4c73f render, helpers: Call OpenGL destroyMonitorResources on disconnect (#10111)
* render, helpers: Call OpenGL destroyMonitorResources on disconnect

* helpers: Add opengl null check
2025-04-18 17:37:51 +02:00
raf ddae3036ca ci: close unwanted issues automatically (#10106)
* ci: close unwanted issues automatically

You want it, it's yours my friend.

* ci/close-issues: simplify

* ci/close-issues: try to handle large number of issues

* ci/close-issues: fix 'vaxerski'
2025-04-17 22:33:05 +02:00
nyx 225e13c3cc InputManager: add config option to disable keybinds per device (#10064) 2025-04-17 02:19:10 +02:00
Lee Bousfield 3fa6320a39 desktop: Damage subsurface when position changes (#10094) 2025-04-16 17:49:01 +02:00
Vaxry 1ae7e2164c xcursormgr: include <variant>
ref #10093
2025-04-16 13:49:41 +01:00
Vaxry 877fb5b93a time: move to stl's clocks and move timer 2025-04-16 01:37:48 +01:00
Ikalco 0e521788bc core: wait for dmabuf readiness (#9806)
* add doOnReadable to event loop manager

* move syncTimeline addWaiter to doOnReadable

* wait on dmabuf buffers to be readable

* don't over synchronize in scanout, also give present feedback on same buffer commit
2025-04-16 01:02:31 +02:00
MightyPlaza ffd6cf65e4 windowrules: allow incrementing window props (#9566) 2025-04-16 01:00:40 +02:00
Mihai Fufezan 8b7b169043 flake.lock: update 2025-04-14 18:58:37 +03:00
Nathan Ollerenshawandnyx 533bc5115e monitors: fix disconnected monitors are reconnected to an empty workspace (#9874)
---------

Co-authored-by: nyx <nnyyxxxx@protonmail.com>
2025-04-14 11:07:53 +02:00
psyvern 99ab3e19d9 framebuffer: Fix framebuffer size check (#10068) 2025-04-13 22:40:15 +02:00
Vaxry f4e19d3f1e layerSurface: warp position and size before taking a snapshot (#10054) 2025-04-13 17:56:20 +02:00
nyx 06469b3391 IHyprLayout: center floating window at cursor when picked up from fullscreen (#10063) 2025-04-13 17:32:53 +02:00
nyx 303a10d27c IHyprLayout: respect minimum window size (#10017)
* IHyprLayout: respect minimum window size

this prevents window warping, before we were not respecting the minimum size which caused the window to move suddenly, even though it would be sized to its minimum size.
2025-04-13 01:03:03 +02:00
rszyma 4d85e7996d dwindle: ignore fullscreen window for positioning when use_active_for_splits=false (#9838)
* fix(dwindle): ignore fullscreen window for positioning when use_active_for_splits=false

* rename NON_FULLSCREEN -> SKIP_FULLSCREEN_PRIORITY
2025-04-13 00:58:38 +02:00
Ikalco 2da4f427ea compositor/surface: fix surface opaque and input regions not being updated (#10055) 2025-04-12 18:58:29 +02:00
Vaxry a17cea8b8c asyncDialogBox: fix missing pid
fixes #10056
2025-04-12 17:47:22 +01:00
alaricljsandLeeman 6538970087 binds: add drag_threshold for click/drag isolation (#9839)
---------

Co-authored-by: Leeman <lstrout@enlj.com>
2025-04-12 16:43:13 +02:00
Lee Bousfield 0399e64274 screencopy: Handle explicit sync failure (#10050) 2025-04-12 16:38:46 +02:00
Vaxry 382f0f23f1 pass: revert "remove renderer finalDamage since it's unused (#9996)" (#10039)
This reverts commit 0a7e2cb152.
2025-04-11 00:34:50 +02:00
Aaron Blasko b83c9f5c6f cmake: do not install version.h.in (#10035) 2025-04-11 00:31:07 +02:00
Virt d775686380 input: add warp_on_toggle_special (#9945) 2025-04-10 14:54:24 +02:00
Ikalco 0dc531c4a7 core: fix crash in data device on shutdown (#9997) 2025-04-09 18:08:42 +02:00
Ikalco 0a7e2cb152 pass: remove renderer finalDamage since it's unused (#9996) 2025-04-09 17:50:06 +02:00
Vaxry 4f991610d0 watchdog: remove watchdog
it has been unused for a while now
2025-04-09 01:48:21 +01:00
nyx ea852965ff xdg-shell: fix some null refs (#9992) 2025-04-08 19:43:15 +02:00
Vaxry 260d8e1f71 Permission Manager: add permission management for screencopy (#9930) 2025-04-08 19:39:53 +02:00
nyx 642f394eb3 xwayland: sync primary selection with wayland (#9952) 2025-04-08 17:36:29 +02:00
Vaxry b15c2bfff6 CursorManager: Store cursor pixel data retrieved from X/HC as a copy (#9986)
Instead of storing pointers as refs (which could randomly get invalid very easily) copy the data.
2025-04-07 21:08:16 +02:00
Ikalco da86db43d4 core: refactor and improve surface commit (#9805)
* make CHLBufferReference not a SP anymore

* copy over release and acquire points in CHLBufferReference

* use CHLBufferReference in screencopy and toplevel export

TODO: use CHLBufferReference in direct scanout properly
      the only problem is the scanout buffer release timing,
      specifically the onBackendRelease mechanism

* cleanup SSurfaceState and surface pending commit tracking

* move surface code from DRMSyncobj, and move acquire to SSurfaceState

* use queue for comitted pending surface states like proto says

"The content update is placed in a queue until it becomes active." - wl_surface::commit

* drop, not release, prev buffer if 2nd buffer wl_surface.attach is sent

"A wl_buffer that has been attached and then replaced by another attach instead of committed will not receive a release event, and is not used by the compositor." - wl_surface::attach
2025-04-07 21:03:27 +02:00
Vaxry 70ae99f521 input/layers: Fix exclusive LS focus / refocus after unmap (#9984) 2025-04-07 20:52:11 +02:00
Jan Beich a8eda7f978 helpers: add missing include for BSDs after 3c128679ee (#9982)
src/helpers/AsyncDialogBox.cpp:47:23: error: use of undeclared identifier 'read'
   47 |         while ((ret = read(m_pipeReadFd.get(), buf.data(), 1023)) > 0) {
      |                       ^
src/helpers/AsyncDialogBox.cpp:83:9: error: use of undeclared identifier 'pipe'
   83 |     if (pipe(outPipe)) {
      |         ^
src/helpers/AsyncDialogBox.cpp:110:5: error: use of undeclared identifier 'close'
  110 |     close(outPipe[1]);
      |     ^
2025-04-07 20:36:01 +02:00
kerty0 8a8f394da7 swipe: fix swiping onto a new workspace bound to another monitor (#8176) (#9927)
The previous code didn't check if the chosen new workspace was bound to another monitor, causing buggy behavior where workspace was simultaneously open and not.

The fix simply uses `r+1` for new workspace selection.

Also, the previous code would select rightmost workspace + 1, creating large gaps in workspace IDs in some scenarios. Example (`()` and `[]` indicate workspaces on different monitors):

`(1), 2, 3, 4, 5, 6, 7, 8, 9, [10]`

Swipe right on `()` monitor would create:

`(1), 2, 3, 4, 5, 6, 7, 8, 9, [10], (11)`

But with this commit:

`(1), (2), 3, 4, 5, 6, 7, 8, 9, [10]`
2025-04-07 14:46:31 +02:00
Virt 51838fb5f5 layout: properly track floating window position (#9937) 2025-04-06 23:41:27 +02:00
Vaxry 85f874d10f swipe: fix prev workspace remembering
fixes #9904
2025-04-06 22:35:26 +01:00
nyx 9b3925009a DataDevice: position icon at cursor hotspot (#9895)
* DataDevice: position icon at cursor hotspot

ref: https://wayland.app/protocols/wayland#wl_data_device:request:start_drag
2025-04-06 23:24:14 +02:00
Vaxry 3c128679ee helpers: Add an async dialog box impl (#9919)
Adds an async dialog box, way safer than our previous local solution for ANR
2025-04-06 17:31:58 +02:00
Vaxry e96b8ce4cc window: send fractional scale on updateScaleTransform
fixes #9889
2025-04-06 00:30:13 +01:00
Maximilian Seidler 433b7881a3 compositor: fix crash when moving a workspace to a monitor with size 0x0 (#9848) 2025-04-06 00:54:29 +02:00
Vaxry ed05f14300 ci: nuke stalebot 2025-04-05 19:28:42 +01:00
Vaxry c62fb08da6 github: remove issue templates 2025-04-05 18:45:52 +01:00
Vaxry 8ba20fcae1 compositor: avoid crash on null window monitor move
ref #9809
2025-04-05 00:30:33 +01:00
Mihai Fufezan ff97d18c4c flake.lock: update 2025-04-03 18:08:55 +00:00
Maximilian Seidler 5e8bb71785 ctm: fix crash when finishing ctm progress with a destroyed monitor (#9835) 2025-04-03 16:40:59 +02:00