| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Reworks the window rule syntax completely
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
| |
Ref https://github.com/basecamp/omarchy/issues/3327
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
fixes #12108
|
| |
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* 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
|
| | |
|
| | |
|
| |
|
| |
Adds more cm options for monitors: DCIP3, Apple P3, Adobe
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Bumps required hyprgraphics to 0.1.6
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| | |
|
| |
|
| |
Adds a blocker for solitary optimizations if there is a hyprerror present
|
| | |
|
| |
|
| |
Adds configurable trackpad gestures
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
solitary/tearing/DS checks (#11228)
Adds more verbose checks for various conditional rendering mechanisms
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
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.
|
| | |
|
| |
|
| |
Removes `animations:first_launch_animation` as it's useless now
|
| |
|
|
|
|
| |
rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...)
fixes #11073
|
| | |
|
| |
|
|
| |
ref #11399
|
| |
|
|
| |
skip sharing key states (#11214)
|
| | |
|
| |
|
|
| |
fixes #11236
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
(#11077)
Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
|
| | |
|
| |
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
winner of the 4th ricing comp
|
| |
|
|
| |
is this even used? lets just remove it.
|
| | |
|
| | |
|