summaryrefslogtreecommitdiff
path: root/src/helpers
Commit message (Collapse)AuthorAgeFilesLines
* windowrules: rewrite completely (#12269)Vaxry2025-11-178-6/+72
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* i18n: init localization for ANR, Permissions and Notifications (#12316)Vaxry2025-11-161-4/+7
| | | | | | | | Adds localization support for en, it, pl and jp --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Aaron Blasko <blaskoazzolaaaron@gmail.com>
* layout: include reserved area in float fit (#12289)Vaxry2025-11-132-0/+5
| | | Ref https://github.com/basecamp/omarchy/issues/3327
* protocols: add Fifo-v1 and commit-timing-v1 (#12052)Tom Englund2025-11-062-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * protocols: add Fifo-v1 introduce fifo-v1 * fifo: only present locked surfaces dont present to unlocked surfaces and commit pending states from the fifo protocol. * fifo: cformat cformat * protocols: add committiming and surface state queue introduce CSurfaceStateQueue and commit-timing-v1 * fifo: schedule a frame if waiting on barrier if we are waiting on a barrier the state doesnt commit until the next refresh cycle meaning the monitor might have no pending damage and we never get onPresented to unlock the barrier, moment 22. so schedule a frame. * fifo: properly check monitor intersection check for m_enteredoutputs or monitor intersection if client hasnt bound one yet, and dont fifo lock it until the surface is mapped. * buffer: try to merge states before committing them try to merge states before committing them meaning way less churn and surface commits if a surface sends multiple small ones while we wait for buffer readyness from either fifo locks or simply fences. * buffer: dont commit states past the buffer certain changes are relative to the buffer attached, cant go beyond it and apply those onto the next buffer. * buffer: set the lockmask directly cant use .lock since the state hasnt been queued yet, set the lockmask directly when exporting buffer fence. * fifo: dont fifo lock on tearing dont fifo lock on tearing. * buffer: queue the state directly queue the state directly and use the .lock function instead of directly modify the lockMask on the state. * buffer: revert creating texture at commit time fifo barriers introduces such long wait that upon commit time a race happends with current xdg configure implentation that the buffer and image is actually destroyed when entering commitState, doing it at buffer creation time with EGL_PRESERVED_KHR means it sticks around until we are done. so revert 82759d4 and 32f3233 for now. * buffer: rename enum and lockreasons eLockReason and LOCK_REASON_NONE. * fifo: workaround direct scanout lock workaround cursor commits causing fifo to get forever locked, this entire thing needs to be worked out.
* renderer/cm: allow gamma 2.2 instead of sRGB EOTF (#12094)Dominick DiMaggio2025-10-292-10/+23
|
* config/rule: don't populate ID field for automatically id-managed workspacesVaxry2025-10-272-0/+7
|
* monitor/dpms: fix possible invalid stateVaxry2025-10-272-2/+28
| | | | | | If dpms gets immediately re-enabled, a commit could fail, not schedule any frames anymore, and the monitor would be stuck off. Fix this by adding a timer to retry if commit fails. ref #12045
* compositor: check for monitor layout issues post rule applyVaxry2025-10-261-3/+3
| | | | fixes #12108
* hyprctl: include color management presets and sdr information (#12019)Filip Mikina2025-10-244-28/+60
| | | | | | * move string parsing for eCMType to its own namespace, similar to how `src/protocols/types/ContentType.cpp` is done * expose cm type and sdr settings in `hyprctl monitors`, format floats to .2f
* build: replace generateVersion.sh (#12110)nnra2025-10-231-0/+2
| | | | | | | | | | | * Implemented the CMake version of generateVersion.sh * Made version.h.in compatible with the new build system and included version.h in helpers/MiscFunctions.cpp * Deleted the scripts/generateVersion.sh as it's no longer needed * Updated meson.build to match the new workflow * Added an empty line between includes and namespaces that I accidentally removed
* monitor: remove spammy trace logVaxry2025-10-211-3/+1
|
* renderer: add more uniforms to the screen shader (#11986)Mozzarella322025-10-201-1/+1
| | | | | | | | | | | | These are: pointer_shape from the cursor-shape-v1 protocol prepared for v2, along with left_ptr...bottom_right_corner and killing (Hyprland specific) pointer_shape_previous with pointer_switch_time to blend between shapes pointer_size scaled size as used by the normal cursor pointer_pressed_positions[32] with pointer_pressed_times[32] and pointer_pressed_killed(32 bits) for click/touch animations and if they killed something pointer_inactive_timeout with pointer_last_active to smoothly fade the pointer out pointer_hidden to hide it when the cursor is hidden (excluding by cursor:invisible as this config value can be used to turn off the normal cursor, which is useful when drawing it with the screen shader)
* timer: constify methods (#12079)Mozzarella322025-10-182-8/+8
|
* managers/helpers: add missing includes (#11969)Linux User2025-10-081-0/+1
| | | | | | | | | * managers: include string header Fixes error `implicit instantiation of undefined template 'std::basic_string<char>'` on llvm/musl * helpers: include unistd header Fixes error `use of undeclared identifier 'pipe'` on llvm/musl
* systeminfo: log system package versions (#11946)Vaxry2025-10-062-0/+40
|
* renderer: add render:non_shader_cm and fixes (#11900)UjinT342025-10-021-4/+12
|
* renderer/cm: add more monitor cm options (#11861)UjinT342025-09-292-0/+18
| | | Adds more cm options for monitors: DCIP3, Apple P3, Adobe
* internal: fix clang-tidy "errors" (#11862)UjinT342025-09-293-4/+4
|
* config: allow negative to be used with tags. (#11779)ItsOhen2025-09-261-1/+4
|
* monitors: auto apply suggested scale and notify the user. (#11753)ItsOhen2025-09-201-5/+7
|
* renderer: asynchronously load background tex (#11749)Vaxry2025-09-185-0/+86
| | | | | | | Bumps required hyprgraphics to 0.1.6 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* workspace: fix relative workspaces with monitor descsVaxry2025-09-181-2/+2
|
* solitary: fix check for config error (#11733)Vaxry2025-09-172-5/+13
| | | Adds a blocker for solitary optimizations if there is a hyprerror present
* renderer: Fix CM for DS and SDR passthrough (#11503)UjinT342025-08-292-55/+122
|
* input: Add fully configurable trackpad gestures (#11490)Vaxry2025-08-282-28/+22
| | | Adds configurable trackpad gestures
* disable buffer readability checks on intel (#11515)Tom Englund2025-08-242-3/+3
| | | | | | | | | | | | * dmabuf: disable buffer read check on intel readability checks directly on buffer fds on some intel laptops is broken, see https://gitlab.freedesktop.org/drm/intel/-/issues/9415 * sync: use rvalue ref in addwaiter doonreadable use rvalue reference in addwaiter and doonreadable, because we store the function in the SReadableWaiter a lot of the time, move it into place there when that happends or let it go out of scope after function call.
* internal: Solitary clients with single subsurface & verbose ↵UjinT342025-08-223-17/+311
| | | | | solitary/tearing/DS checks (#11228) Adds more verbose checks for various conditional rendering mechanisms
* hdr: scRGB, HLG and SDR -> HDR fixes (#11499)UjinT342025-08-222-0/+18
|
* monitor: fix dpms toggling animations when state is unchanged (#11480)Aaron Tulino2025-08-191-0/+4
|
* hdr: fix overrides and missing edid hdr metadata (#11476)UjinT342025-08-192-9/+10
|
* renderer: improve modeset timings (#11461)Vaxry2025-08-172-7/+37
| | | | | some CRTCs will just happily eat frames and we can't do much. Some will eat one. Adds a 5-frame buffer to DPMS and Added animations. Better than nothing.
* renderer: add dpms animations (#11452)Vaxry2025-08-172-0/+54
|
* renderer: improve zoom in anims (#11453)Vaxry2025-08-162-0/+10
| | | Removes `animations:first_launch_animation` as it's useless now
* framescheduler: fix edge case crashesvaxerski2025-08-163-12/+38
| | | | | | rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...) fixes #11073
* refactor: Use new hyprutils casts (#11377)Kamikadze2025-08-147-31/+33
|
* misc: remove commas from device namesvaxerski2025-08-111-0/+1
| | | | ref #11399
* virtualkeyboard: Add options to skip releasing pressed keys on close and to ↵JS Deck2025-08-042-21/+76
| | | | skip sharing key states (#11214)
* fix: add climits includes (#11288)Martin2025-07-312-0/+2
|
* monitor: fix crash on mutating workspace vecVaxry2025-07-281-3/+3
| | | | fixes #11236
* ci: correct tar command for xz compression & fix typos (#11213)xqso2025-07-252-5/+5
|
* core: move workspace ptrs to weak (#11194)Vaxry2025-07-242-15/+13
| | | | 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/+7
| | | | | | | | | | | | 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>
* opengl: detect android fence support and disable explicit if it's missing ↵Vaxry2025-07-192-8/+10
| | | | | (#11077) Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
* framescheduler: check monitor validity in doLaterVaxry2025-07-181-0/+2
|
* framescheduler: dont if check deleted weakpointer (#11063)Tom Englund2025-07-171-1/+1
| | | | | if m_monitor is destroyed the doOnReadable will eventually hit UB on destruction if checking a destroyed m_monitor. acctually use the captured mon weak pointer.
* protocols/cm: Fix preferred image description (#11026)UjinT342025-07-151-4/+7
|
* splashes: add zacoons' splashVaxry2025-07-111-0/+1
| | | | winner of the 4th ricing comp
* monintor: remove rathandlerTom Englund2025-07-112-14/+0
| | | | is this even used? lets just remove it.
* internal: Prevent double-free in attemptDirectScanout (#10974)Kamikadze2025-07-091-1/+4
|
* core: use new typed signals from hu (#10853)outfoxxed2025-07-082-28/+23
|