Commit Graph
6868 Commits
Author SHA1 Message Date
Vaxry cfbbfb591a popup: reposition with reserved taken into account
ref https://github.com/hyprwm/Hyprland/discussions/13194
2026-02-07 11:11:45 +00:00
Tom Englund 63eb6b3bda opengl: add debug:gl_debugging (#13183)
add debug:gl_debugging so we can disable gl debugging entirerly,
both glGetError and enabling EGL_KHR_debug has its cost, we still have
EXT_create_context_robustness and glGetGraphicsResetStatus that should
catch context loss, and is generally cheap to call it only checks a flag
set.

glGetError might cause a implicit flush to get any pending calls sent to
the gpu.

however to get EGL_KHR_debug back enabled we now require a restart of
the compositor after changing debug:gl_debugging
2026-02-06 21:02:20 +00:00
EvilLary 8606bc255b proto/shm: update wl_shm to v2 (#13187) 2026-02-06 17:08:30 +00:00
Yash Dodwani 562171ab66 i18n: add bengali translations (#13185) 2026-02-05 22:35:59 +00:00
Vaxry 9ce9ef2705 decorations/border: fix damage scheduling after #12665 2026-02-05 18:07:03 +00:00
UjinT34 02ff413002 monitor: fix DS deactivation (#13188) 2026-02-04 12:42:43 +00:00
UjinT34 1bc857b12c fifo: miscellaneous fifo fixes (#13136)
* LOGM: clang-tidy fix

* fix fifo state and scheduling

* disable fifo_pending_workaround by default

* fix tearing

* fix "empty" commit skipping
2026-02-04 00:27:48 +00:00
EvilLary cd7bdc7a43 hyprerror: add padding & adjust for scale when reserving area (#13158) 2026-02-03 20:44:41 +00:00
EvilLary e123fd3e66 monitor: revert "remove disconnected monitor before unsafe state #12544" (#13154) 2026-02-03 20:44:18 +00:00
Łukasz Rek 30756d8718 gestures/fs: remove unneeded floating state switch (#13127) 2026-02-03 00:49:05 +00:00
UjinT34 9433060760 renderer: fix screen export back to srgb (#13148) 2026-02-02 20:33:03 +00:00
Vũ Xuân Trường a0ec2e4daf i18n: add Vietnamese translation (#13163) 2026-02-01 16:59:15 +00:00
Luke Barkess d9d9d9358f gestures: add cursor zoom (#13033) 2026-02-01 14:32:47 +00:00
ekhadley 95c8f8b299 input: fix edge grab resize logic for gaps_out > 0 (#13144) 2026-02-01 14:29:35 +00:00
Tom Englund beeca9dacb xwayland: ensure NO_XWAYLAND builds (#13160)
add , using xcb_atom_t = uint32_t;
2026-02-01 14:27:37 +00:00
Tom Englund 47f9035601 time: ensure type correctness and calculate nsec correctly (#13167)
use auto for nsecdur, assigning system_tp into steady_tp compiles but is
not correct. just change it to auto.

use {} initialization for timespec structs and returning std::pair.

in timediff, fromTimespec and toTimespec the else case was calculating
wrong. we need to correctly handle the borrow when the nanoseconds of
the first time are smaller than the second, by adding TIMESPEC_NSEC_PER_SEC
and decrementing the seconds.
2026-02-01 14:18:06 +00:00
jmanc3 db6114c6c5 renderer/pass: fix surface opaque region bounds used in occluding (#13124) 2026-01-31 13:39:22 +00:00
Szwagi cbeb6984e7 renderer: fix mouse motion in VRR (#12665) 2026-01-31 13:37:01 +00:00
Tom Englund 4330b49a84 buffer: add move constructor and operator to CHLBufferReference (#13157)
add missing move constructor and operator, a lot of churn was done on
always copying CHLBufferReference, also add a self copy check.
2026-01-31 13:35:39 +00:00
Tom Englund 2ad7f6edd4 xwayland/xwm: get supported props on constructing surface (#13156)
not all clients supports WM_DELETE_WINDOW like glxgears, so get
supported props in constuctor of surface, and if not supported
forcefully kill the client.
2026-01-31 13:35:06 +00:00
Tom Englund ec120d5732 opengl: set EGL_CONTEXT_RELEASE_BEHAVIOR_KHR if supported (#13114)
EGL_CONTEXT_RELEASE_BEHAVIOR_KHR determines what happends with implicit
flushes when context changes, on multigpu scenario we change context
frequently when blitting content. while we still rely on explicit sync
fences, the flush is destroying driver optimisations.

setting it to EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR essentially mean
just swap context and continue processing on the next context.
2026-01-30 19:42:01 +00:00
Tom Englund fe6c213024 xwayland/xwm: fix _NET_WM_STATE_MAXIMIZED_VERT type (#13151)
add _ infront of the atom name. as it should be.
2026-01-30 19:35:52 +00:00
Zynix b8fc0def97 xwayland/xwm: handle INCR clipboard transfer chunks correctly (#13125)
Handle XCB_PROPERTY_NEW_VALUE events for incremental selection transfers.
Previously only DELETE was handled, causing INCR transfers to fail after
the first chunk.
2026-01-30 14:14:17 +00:00
Zynix c92fb5e85f xwayland/xwm: prevent onWrite infinite loop and clean orphan transfers (#13122)
Fixes #11411

- Add return 0 after erasing completed non-incremental transfer to stop event source polling
- Add removeTransfer() helper to SXSelection for cleaning transfers by window ID
- Add removeTransfersForWindow() helper to CXWM for cleaning all selections at once
- Clean orphan transfers in handleDestroy before surface removal
- Clean orphan transfers in handlePropertyNotify on missing window or failed reply
- Add m_dndSelection to handleSelectionPropertyNotify cleanup loop
- Initialize SXTransfer members with safe defaults to prevent undefined behavior
- Fix race condition in getTransferData by using window ID lookup instead of index
2026-01-29 13:50:17 +00:00
Mihai Fufezan 7d209b2941 Nix: apply glaze patch 2026-01-29 13:16:59 +02:00
Mihai Fufezan e92b20292b Revert "hyprpm: bump glaze version"
This reverts commit 116537b494.

Re-apply when glaze 7.0.0 lands in Arch repos.

Relevant discussion: https://github.com/hyprwm/Hyprland/discussions/13043#discussioncomment-15636089
2026-01-29 13:14:05 +02:00
Mihai Fufezan 22e53345ba flake.lock: update 2026-01-29 01:38:41 +02:00
Mihai Fufezan 116537b494 hyprpm: bump glaze version 2026-01-29 01:37:09 +02:00
jmanc3 c8b5023bb0 opengl: allow texture filter to be changed (#13078)
* opengl: allow texture filter to be changed

* format

* correct filter

* Moved from OpenGL.hpp to Texture.hpp

* Shortened names
2026-01-27 21:21:53 +00:00
ItsOhen bcb34275ea hyprctl: fix layerrules not being applied dynamically with hyprctl (#13080) 2026-01-27 12:13:29 +00:00
Tom Englund 21325f9385 eventLoop: various eventloopmgr fixes (#13091)
* eventloopmgr: use unordered_map for readableWaiters

use an unordered_map with the raw ptr as key, avoids any risk of
dangling ptrs.

* eventloopmgr: read the timerfd fd

the manpage for timerfd_create and read states this.

timefd_create creates a new timer object, and returns a file descriptor
that can be used to read the number of expirations that have occurred.

The FD becomes readable when the timer expires.

read removes the “readable” state from the FD.

so most likely it has somewhat worked because of the scheduleRecalc()
function.

* eventloopmgr: avoid unneeded std::function copy

move the idle functions instead of copying.

* eventloopmgr: remove event source before calling fn

if fn causes a dispatch/reentry its gonna cause UB inside libwayland
itself, remove the event source before calling the fn() avoids that
entirerly. even if a new dispatch occurs.

* eventloopmgr: check if timer fd is readable

check if timerfd is readable before calling read on it, so we dont end
up blocking on an accident, log an error if its not readable.

* eventloopmgr: revert unordered_map change

my mistake, the address wasnt changing on reallocations of the heap
object. the only issue i was triggering was the reentry path in fn()
2026-01-27 12:11:54 +00:00
Viorel Ciobotaru 50454c6d17 i18n: add Romanian translations (#13075) 2026-01-27 00:20:56 +02:00
Vaxry c65c7614bc hyprpm: fix build step execution 2026-01-24 20:00:56 +00:00
Naufal Hisyam Muzakki 891e029ba3 hyprctl: add overFullscreen field in hyprctl window debug (#13066) 2026-01-24 19:53:40 +00:00
Michał Minarowski b1d1c9843f hyprctl: remove trailing comma from json object (#13042) 2026-01-23 20:40:50 +00:00
Tom Englund 2a2c2b0e28 opengl/fb: use GL_DEPTH24_STENCIL8 instead of GL_STENCIL_INDEX8 (#13067)
older drivers lack support for GL_STENCIL_INDEX8 so use
GL_DEPTH24_STENCIL8 but explicitly disable the depth.
2026-01-23 20:09:39 +00:00
Vaxry 64db62d7e2 hyprpm: use provided pkgconf env if available
this is required for hyprpm to work under nix develop
2026-01-22 20:33:36 +00:00
UjinT34 82de66a030 renderer: fix frame sync (#13061)
* fix commit timing timer

* fix surface state lock/unlock

* debug state sync todos

* debug solitary vrr
2026-01-22 15:16:52 +00:00
Florent Charpentier 22fc8136a2 desktop/windowRule: allow expression in min_size/max_size (#12977) 2026-01-21 15:56:51 +00:00
Naufal Hisyam Muzakki e7985ca4c4 desktop: restore invisible floating window alpha/opacity when focused over fullscreen (#12994) 2026-01-21 15:55:12 +00:00
UjinT34 6c3ebed76e renderer: add surface shader variants with less branching and uniforms (#13030)
* shader variant features

* getSurfaceShader variant with feats

* split surface shaders by features

* cleanup old shaders
2026-01-21 15:54:14 +00:00
William Wernert f9fb24577a animation: reset tick state on session activation (#13024)
After suspend/wake, the animation tick timer state (m_lastTickValid,
m_tickScheduled) could be stale, causing framerate drops when blur is
enabled. This was introduced in 2b0fd417 which changed the animation
tick timing mechanism.

Reset the tick state when the session becomes active to ensure a clean
state for the animation system.
2026-01-21 15:54:02 +00:00
UjinT34 55f40ecc95 renderer: fix non shader cm reset (#13027) 2026-01-21 14:03:37 +00:00
Vaxry 441a8714c7 hyprpm: fix clang-format 2026-01-21 13:58:09 +00:00
Luke Barkess 57e6a57e6b hyprerror: clear reserved area on destroy (#13046) 2026-01-21 13:57:36 +00:00
ArchSav c44292c723 protocols/toplevelExport: Support transparency in toplevel export (#12824) 2026-01-20 15:32:32 +01:00
Mihai Fufezan f0b6714539 Nix: re-enable hyprpm 2026-01-20 13:34:25 +02:00
Mihai Fufezan 8f547c6fa0 hyprpm: drop meson dep 2026-01-20 13:34:25 +02:00
Mihai Fufezan d6e2ae0247 hyprpm,Makefile: drop cmake ninja build 2026-01-20 13:34:25 +02:00
Nikolai Nechaev eb0480ba0d tests: Test the no_focus_on_activate window rule (#13015) 2026-01-18 15:22:33 +01:00