summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* renderer: asynchronously load background tex (#11749)Vaxry2025-09-181-0/+5
| | | | | | | Bumps required hyprgraphics to 0.1.6 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-281-38/+15
| | | Adds configurable trackpad gestures
* syncobj: use rendernode for timelines (#11087)Tom Englund2025-08-241-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * syncobj: use rendernode for timelines use rendernode for timelines instead of the drmfd, some devices dont support to use the drmfd for this. * opengl: use rendernode if available use rendernode if available for CHyprOpenglImpl * MesaDRM: use the m_drmRenderNodeFD if it exist try use the rendernode we got from AQ if it exist. * linuxdmabuf: use rendernode if available use the rendernode if available already from AQ * syncobj: prefer rendernode over displaynode prefer the rendernode over the displaynode, and log a error if attempting to use the protocol without explicit sync support on any of the nodes. * syncobj: check support on both nodes always check support on both nodes always so it can be used later for preferring rendernode if possible in syncobj protocol. * syncobj: remove old var in non linux if else case remove old m_bDrmSyncobjTimelineSupported from non linux if else case that will fail to compile on non linux. the nodes sets support by default to false, and if non linux it wont check for support and set it to true. * build: bump aq requirement bump to 0.9.3 where rendernode support got added. * flake.lock: update * renderer: glfinish on software renderer software renderers apparently bug out on implicit sync, use glfinish as with nvidia case on implicit paths. * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* internal: Solitary clients with single subsurface & verbose ↵UjinT342025-08-221-2/+5
| | | | | solitary/tearing/DS checks (#11228) Adds more verbose checks for various conditional rendering mechanisms
* config: add dim_modalvaxerski2025-08-211-1/+2
| | | | fixes #11486
* compositor: fix new workspace being lost in moveWorkspaceToMonitorvaxerski2025-08-171-1/+3
| | | | | | with the move to refcounting workspaces, createNewWorkspace would've lost the ref fixes #11385
* internal: unify VT gettingvaxerski2025-08-141-0/+21
|
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-141-34/+35
|
* internal: Ensure unique identifiers for persistent workspaces (#11409)Arnaud2025-08-131-0/+8
|
* core: disable esync for non-linux kernelsVaxry2025-07-291-0/+5
| | | | ref #10437, BSD doesn't support timeline fds
* monitor: fix crash on mutating workspace vecVaxry2025-07-281-0/+10
| | | | fixes #11236
* core: fix workspace persistence tracking (#11239)Vaxry2025-07-271-4/+27
|
* ci: correct tar command for xz compression & fix typos (#11213)xqso2025-07-251-3/+3
|
* core: move workspace ptrs to weak (#11194)Vaxry2025-07-241-29/+15
| | | | Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
* drm: check syncobj timeline support before advertising protocol (#11117)mavonarx2025-07-231-0/+15
| | | | | | | | | | | | Prevents crashes on systems where DRM driver lacks syncobj timeline support (e.g., Apple Silicon with Honeykrisp driver). Applications like Zed and WezTerm would crash with 'Timeline failed importing' when trying to use explicit sync. Fixes #8158 #8803 --------- Co-authored-by: mvonarx <matthias.vonarx@sitrox.com>
* core: enter unsafe state on boot if there are no monsVaxry2025-07-221-0/+3
|
* protocols/cm: Fix preferred image description (#11026)UjinT342025-07-151-1/+1
|
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-80/+57
|
* Renderer: Implement new render scheduling (#10936)Vaxry2025-07-081-1/+2
| | | | | | | | | Implements a new render scheduling method, where we triple buffer when necessary. Enabled by default, improves FPS on underpowered devices. --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* protocols: add ext-workspace implementation (#10818)outfoxxed2025-06-261-3/+11
|
* treewide: hyprland.org -> hypr.landMihai Fufezan2025-06-201-1/+1
|
* grpupbar: Add config options to color inactive and locked groupbar titles ↵Jacob Ilias Komissar2025-06-161-1/+1
| | | | (#10667)
* refactor: use std::ranges whenever possible (#10584)Kamikadze2025-05-301-2/+2
|
* core: add auto-center arrangements (#10527)Nikolaos Karaolidis2025-05-271-0/+24
| | | Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
* input: always allow focus to permission popupsVaxry2025-05-181-8/+23
|
* opengl: optimize shaders and reduce unneeded drawcalls (#10364)Tom Englund2025-05-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | * opengl: remove unnecessery glflush calls glflushing forces the driver to break batching and issue commands prematurely and prevents optimisations like command reordering and merging. many glFunctions already internally glflushes and eglsync creation still has a glflush at end render. so lets reduce the overhead of these calls. * opengl: reduce glUseProgram calls apitrace shows cases where the same program gets called multiple times, add a helper function that keeps track of current program and only call it once on same program. reduces slight overhead. * opengl: use more efficient vertex array object use a more modern vertex array object approach with the shaders, makes it a onetime setup on shader creation instead of once per drawcall, also should make the driver not have to revalidate the vertex format on each call.
* xwayland: refactor class member vars (#10312)davc0n2025-05-071-1/+1
| | | | | * xwayland: refactor class member vars * xwayland: fix pure wayland build
* render: refactor class member vars (#10292)davc0n2025-05-051-14/+14
| | | | | * render: refactor class member vars * render: fix clang format
* protocols: refactor class member vars (u-z) (#10282)davc0n2025-05-041-2/+2
| | | | | * protocols: refactor class member vars (u-z) * protocols: fix clang format
* protocols: refactor class member vars (a-m) (#10265)davc0n2025-05-041-5/+5
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-031-4/+4
|
* managers: refactor class member vars (#10242)davc0n2025-05-021-6/+6
|
* inputs: refactor class member vars (#10230)davc0n2025-05-011-1/+1
|
* helpers: refactor class member vars (#10218)davc0n2025-04-301-119/+118
|
* windowrules: add nocloseforVaxry2025-04-291-2/+1
| | | | fixes #10027
* windows: refactor class member vars (#10168)davc0n2025-04-281-190/+189
|
* layerrules: add abovelock to render above lockscreen (#9793)Virt2025-04-251-2/+5
|
* workspaces: refactor class member vars (#10167)davc0n2025-04-251-58/+58
|
* layers: refactor class member vars (#10149)davc0n2025-04-241-14/+14
| | | | | * layers: refactor class member vars * popups: rename m_WLSurface to m_wlSurface
* compositor: refactor class member vars (#10141)davc0n2025-04-221-234/+233
|
* debug: refactor class member vars (#10130)davc0n2025-04-211-3/+3
|
* config: Refactor class member vars (#10124)davc0n2025-04-201-2/+2
| | | | | * Refactor config classes vars * Fix clang format errors
* compositor: fix getMonitorInDirection skipping active monitor (#10114)syuzuki2025-04-201-1/+1
|
* monitors: fix disconnected monitors are reconnected to an empty workspace ↵Nathan Ollerenshaw2025-04-141-1/+1
| | | | | | | (#9874) --------- Co-authored-by: nyx <nnyyxxxx@protonmail.com>
* dwindle: ignore fullscreen window for positioning when ↵rszyma2025-04-131-1/+1
| | | | | | | 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
* watchdog: remove watchdogVaxry2025-04-091-7/+0
| | | | it has been unused for a while now
* Permission Manager: add permission management for screencopy (#9930)Vaxry2025-04-081-0/+5
|
* compositor: fix crash when moving a workspace to a monitor with size 0x0 (#9848)Maximilian Seidler2025-04-061-3/+5
|
* compositor: avoid crash on null window monitor moveVaxry2025-04-051-2/+1
| | | | ref #9809
* core: fix artifacts when fullscreening (#9778)nyx2025-03-301-0/+3
| | | | | | | * core: fix artifacts when fullscreening fixes an issue where fullscreening a floating window that is between two monitors causes artifacts to appear on the monitor where it did not become fullscreened on * e