b41882c169
maybe do import?
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Nix / test (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
2026-03-07 15:45:46 +10:00
bcab43b181
bump glaze version
Build Hyprland / Build Hyprland (Arch) (push) Waiting to run
Build Hyprland / Code Style (push) Waiting to run
Nix / update-inputs (push) Waiting to run
Nix / hyprland (push) Waiting to run
Nix / xdph (push) Blocked by required conditions
Nix / test (push) Waiting to run
Security Checks / Flawfinder Checks (push) Waiting to run
2026-03-07 14:59:09 +10:00
08e215c9bf
temp
Build Hyprland / Build Hyprland (Arch) (push) Waiting to run
Build Hyprland / Code Style (push) Waiting to run
Nix / update-inputs (push) Waiting to run
Nix / hyprland (push) Waiting to run
Nix / xdph (push) Blocked by required conditions
Nix / test (push) Waiting to run
Security Checks / Flawfinder Checks (push) Waiting to run
2026-03-07 14:51:29 +10:00
UjinT34
4152ac76d0
renderer: refactor Texture, Framebuffer and Renderbuffer ( #13437 )
...
Build Hyprland / Build Hyprland (Arch) (push) Waiting to run
Build Hyprland / Code Style (push) Waiting to run
Nix / update-inputs (push) Waiting to run
Nix / hyprland (push) Waiting to run
Nix / xdph (push) Blocked by required conditions
Nix / test (push) Waiting to run
Security Checks / Flawfinder Checks (push) Waiting to run
Part 1 of the renderer refactors
2026-03-06 21:44:10 +00:00
UjinT34
a5858018d8
renderer: shader variants refactor ( #13434 )
...
Part 0 of renderer reworks.
2026-03-06 21:05:10 +00:00
Mikhail
8685fd7b0c
dwindle: add rotatesplit layoutmsg and tests ( #13235 )
2026-03-06 20:47:48 +00:00
Logan Collins
1fa157cf6d
compositor: fix missing recheckWorkArea to prevent CReservedArea assert failure ( #13590 )
2026-03-06 20:47:39 +00:00
Virt
e0c5710059
layerrules: add dynamically registered rules for plugins ( #13331 )
...
* layerrules: add dynamically registered rules for plugins
* be gone
* layerrules: add layer tests with waybar
* fix: use kitty layers instead of waybar
2026-03-06 20:11:42 +00:00
Nikolai Nechaev
42f0a6005b
keybinds: Remove removed keybinds ( #13605 )
...
There seems to be no reason for them to remain.
But if they are kept, no notification appears to warn
a user that a dispatcher used in their config is no
longer valid. The config remains valid, but the bindings
do not work anymore.
2026-03-06 16:33:08 +00:00
JaSha256
ae9ca17b40
pointer: fix hardware cursor rendering on rotated/flipped monitors ( #13574 )
...
Replace the broken cairo_matrix_rotate() approach with explicit
per-transform pattern matrices for all 8 wl_output_transform values.
2026-03-05 15:14:23 +00:00
Vaxry
972f23efe8
screencopy: fix isOutputBeingSSd ( #13586 )
...
use sessions instead of pending frames
2026-03-05 15:14:13 +00:00
justin4046
4c60d9df70
desktop/rules: fix empty workspace handling ( #13544 )
2026-03-05 15:14:05 +00:00
Vaxry
b7dfb47566
config/descriptions: add missing desc entry
2026-03-05 14:10:22 +00:00
Thedudeman
3284dd729b
algo/scrolling: add config options for focus and swapcol wrapping ( #13518 )
2026-03-05 14:08:40 +00:00
Ikalco
803e81ac39
screenshare: improve destroy logic of objects ( #13554 )
2026-03-05 14:06:55 +00:00
Vũ Xuân Trường
34c7cc7d38
i18n: update Vietnamese translations ( #13489 )
2026-03-04 20:02:04 +00:00
Ikalco
c47ae950f4
screencopy: fix minor crash ( #13566 )
2026-03-04 20:01:37 +00:00
Harsh Narayan Jha
3f169ee5de
socket2: emit kill event (hyprctl kill) ( #13104 )
2026-03-04 20:00:00 +00:00
Vaxry
10754745a9
render/cm: add ICC profile pipeline ( #12711 )
...
Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
2026-03-04 19:50:28 +00:00
Florian "sp1rit
8271cfc97b
core: fix i586 build ( #13550 )
...
Signed-off-by: Florian "sp1rit" <sp1rit@disroot.org>
2026-03-04 11:33:44 +00:00
Vaxry
c11cadd8d6
desktop/window: don't group modals
2026-03-03 21:00:33 +00:00
Vaxry
dc4b082ee8
algo/scrolling: fix rare crash
2026-03-03 20:59:18 +00:00
André Silva
edf7098345
desktop/window: fix floating windows being auto-grouped ( #13475 )
...
---------
Co-authored-by: Aqa-Ib <16420574+Aqa-Ib@users.noreply.github.com>
2026-03-03 20:56:02 +00:00
Vaxry
7299a3b0d5
hyprctl: fix workspace dynamic effect reloading ( #13537 )
...
ref https://github.com/hyprwm/Hyprland/discussions/12806
2026-03-03 13:03:47 +00:00
Vaxry
b06a4b5e13
layout/windowTarget: override maximized box status in updateGeom ( #13535 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13525
2026-03-03 12:33:46 +00:00
Vaxry
3faddf40d0
algo/dwindle: don't crash on empty swapsplit ( #13533 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13530
2026-03-03 11:55:57 +00:00
Vaxry
a6e3a2478c
tests/workspace: fix one test case failing
2026-03-03 11:27:16 +00:00
Vaxry
ff0b706ea3
renderer: fix crash on mirrored outputs needing recalc ( #13534 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13517
2026-03-03 11:25:58 +00:00
UjinT34
4f44df7b17
algo/master: fix crash after dpms ( #13522 )
2026-03-03 11:06:32 +00:00
Vaxry
be03497b82
layout/algos: use binds:window_direction_monitor_fallback for moves ( #13508 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13473
2026-03-02 21:39:06 +00:00
Vaxry
ff20cbf89c
algo/scrolling: fix offset on removeTarget ( #13515 )
2026-03-02 21:23:24 +00:00
André Silva
fe0a202137
desktop/group: respect direction when moving window out of group ( #13490 )
2026-03-02 21:12:27 +00:00
Vaxry
75a815fbf2
algo/dwindle: use focal point correctly for x-ws moves ( #13514 )
2026-03-02 21:10:21 +00:00
Vaxry
3b7401b065
algo/scroll: improve directional moves ( #13423 )
2026-03-02 19:31:33 +00:00
Vaxry
d4d17d5d52
compositor: damage monitors on workspace attachment updates
...
ref https://github.com/hyprwm/Hyprland/discussions/13386
2026-03-02 19:26:06 +00:00
Mihai Fufezan
52ece2b017
treewide: alejandra -> nixfmt
2026-03-02 21:03:44 +02:00
Vaxry
d98f7ffaf5
layout: store and preserve size and pos after fullscreen ( #13500 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13401
2026-03-02 18:57:09 +00:00
Vaxry
5f650f8ed9
layout/windowTarget: don't use swar on maximized ( #13501 )
2026-03-02 16:54:33 +00:00
Vaxry
9f98f7440b
algo/dwindle: add back splitratio ( #13498 )
2026-03-02 16:21:20 +00:00
Vaxry
5cb1281035
layout/windowTarget: damage before and after moves ( #13496 )
2026-03-02 12:52:22 +00:00
Thedudeman
743dffd638
layout/scroll: fix configuredWidths not setting properly on new workspaces ( #13476 )
2026-03-02 12:51:56 +00:00
Vaxry
5c370c3333
hyprpm: fix url sanitization in add
...
this could've been used to exec additional commands with hyprpm
2026-03-01 21:55:12 +00:00
Vaxry
cf0d256c13
layout/windowTarget: fix size_limits_tiled ( #13445 )
...
fucks up on scroll, also, wtf
2026-03-01 19:21:53 +00:00
Yujon Pradhananga
6ebafcf107
layout/scrolling: fix size_t underflow in idxForHeight ( #13465 )
2026-03-01 18:19:02 +00:00
Vaxry
8ad96a95d6
screencopy: fix nullptr deref if shm format is weird
2026-03-01 15:31:22 +00:00
Vaxry
f41e3c2203
scroll: clamp column widths properly
...
ref https://github.com/hyprwm/Hyprland/discussions/13458
2026-03-01 10:15:22 +00:00
Vaxry
f0a80ce5e0
keybinds: fixup changegroupactive
2026-03-01 10:12:15 +00:00
Vaxry
2928d6af0a
layouts: fix crash on missed relayout updates ( #13444 )
2026-02-28 23:06:27 +00:00
vaxerski
93aacfc0dc
[gha] Nix: update inputs
2026-02-28 22:55:48 +00:00
Vaxry
19c263e53c
screencopy: scale window region for toplevel export ( #13442 )
2026-02-28 22:54:10 +00:00
Vaxry
a032090098
monitor: damage old special monitor on change
...
ref https://github.com/hyprwm/Hyprland/discussions/13419
2026-02-28 22:51:33 +00:00
Vaxry
0b55c55f4a
monitor: update pinned window states properly on changeWorkspace ( #13441 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13440
2026-02-28 22:42:06 +00:00
Vaxry
85c2764f5e
deco/border: fix damageEntire
2026-02-28 22:03:14 +00:00
Zynix
c2bed4103c
monitor: keep workspace monitor bindings on full reconnect ( #13384 )
...
When all monitors disconnect, non-active workspaces could migrate to the wrong output after reconnect. Preserve workspace ownership and re-apply assigned monitor bindings on connect.
2026-02-28 21:49:47 +00:00
LionHeartP
82729db330
build: fix build on gcc 16.x after # 6b2c08d ( #13429 )
2026-02-28 21:45:16 +00:00
Vaxry
f12904e641
layout/algo: fix swar on removing a target ( #13427 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13422
2026-02-28 18:53:36 +00:00
Vaxry
b90c61c04f
compositor: fix focus edge detection ( #13425 )
...
fixes edge detection, making it more relaxed and intuitive
2026-02-28 18:53:26 +00:00
André Silva
e333a330c0
desktop/group: fix movegroupwindow not following focus ( #13426 )
2026-02-28 18:19:29 +00:00
Vaxry
1c64ef06d9
desktop/window: fix idealBB reserved ( #13421 )
...
ref https://github.com/hyprwm/Hyprland/discussions/12766\#discussioncomment-15955638
2026-02-28 16:55:34 +00:00
Vaxry
6b2c08d3e8
pointer: damage entire buffer in begin of rendering hw
...
ref #13391
2026-02-28 15:55:30 +00:00
Christian Fredrik Johnsen
db8509dfe2
build: remove auto-generated hyprctl/hw-protocols/ files during make clear ( #13399 )
2026-02-28 15:51:24 +00:00
Tom Englund
d2b9957fab
format: safeguard drmGetFormat functions ( #13416 )
...
they can return null if not found.
2026-02-28 15:29:22 +00:00
Vaxry
362ea7b0f3
hyprctl: fix buffer overflowing writes to the socket
2026-02-28 15:06:10 +00:00
Vaxry
f7114016c6
desktop/rule: fix matching for content type by str
2026-02-28 15:03:49 +00:00
Vaxry
0002f148c9
version: bump to 0.54.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Nix / test (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
2026-02-27 18:03:19 +00:00
ItsOhen
ffec41c426
desktop/rules: fix border colors not resetting. ( #13382 )
2026-02-27 17:59:47 +00:00
Vaxry
f624449c12
start: add --force-nixgl and check /run/opengl-driver ( #13385 )
2026-02-27 17:57:04 +00:00
ItsOhen
70cdd819e4
desktop/rules: use pid for exec rules ( #13374 )
2026-02-26 18:13:49 +00:00
Skidam
cc14dd1baf
xwayland: validate size hints before floating ( #13361 )
2026-02-26 16:42:49 +00:00
UjinT34
c71fbd854d
renderer: better sdr eotf settings ( #12812 )
2026-02-26 12:01:59 +00:00
Vaxry
0e9196867b
algo/dwindle: fix focal point not being properly used in movedTarget ( #13373 )
2026-02-26 12:00:05 +00:00
Vaxry
1e06ab464f
algo/master: fix orientation cycling ( #13372 )
2026-02-25 23:54:13 +00:00
Vaxry
623185170b
desktop/popup: avoid crash on null popup child in rechecking
...
ref #13352
2026-02-25 23:16:16 +00:00
Vaxry
d0583e1761
compositor: fix calculating x11 work area ( #13347 )
...
in a multimon scenario, due to our positioning hacks, and due to the fact work area is a rect anyways, likely wont make sense
2026-02-25 22:44:35 +00:00
fazzi
5b2efe54b1
input: use fresh cursor pos when sending motion events ( #13366 )
2026-02-25 22:41:50 +00:00
Skidam
457617b5a3
xwayland: normalize OR geometry to logical coords with force_zero_scaling ( #13359 )
...
Fixes X11 popups, tooltips, and menus showing black boxes on scaled monitors with xwayland:force_zero_scaling = 1 #13334
2026-02-25 12:29:12 +00:00
Vaxry
c60b3cb2ed
target: fix geometry for x11 floats
2026-02-24 19:01:51 +00:00
Vaxry
fbf67ef050
algo/scrolling: adjust focus callbacks to be more intuitive
2026-02-24 12:27:00 +00:00
Vaxry
be893a81b4
algo/master: fix master:orientation being a noop
2026-02-24 11:36:51 +00:00
Vaxry
5a80bc120a
algo/scrolling: fix crashes on destroying ws
...
ref #13324
2026-02-24 11:33:21 +00:00
vaxerski
a248805132
[gha] Nix: update inputs
2026-02-24 11:22:10 +00:00
Tom Englund
8ab4d1dc06
popup: check for expired weak ptr ( #13352 )
...
onCommit can destroy popups while the vector CPY still holds a weak ptr
to it, check if the weak ptr is still valid
2026-02-24 11:20:29 +00:00
Skidam
ae82a55400
view: send wl_surface.enter to subsurfaces of popups ( #13353 )
2026-02-24 11:20:04 +00:00
jmanc3
bc09504ea5
desktop/popup: fix use after free in Popup ( #13335 )
...
m_alpha was freed by fullyDestroy, but was then being touched because setCallbackOnEnd is activated by tick, which is the same function that updates animating variables
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2026-02-23 16:58:06 +00:00
ssareta
f4bc8c3a64
keybinds: fix unguarded member access in moveWindowOrGroup ( #13337 )
2026-02-23 16:29:44 +00:00
Vaxry
b88813c7ef
event: refactor HookSystem into a typed event bus ( #13333 )
...
Refactors the old HookSystem into a typed event bus with clear
separation,
discovery and types.
2026-02-22 23:30:10 +00:00
Ikalco
b4ee4674f9
protocols: implement image-capture-source-v1 and image-copy-capture-v1 ( #11709 )
...
Implements the new screencopy protocols
2026-02-22 12:30:11 +00:00
Vaxry
93dbf88426
pointermgr: revert "damage only the surface size ( #13284 )"
...
This reverts commit 13dab66b1d .
2026-02-22 12:23:27 +00:00
Vaxry
0eb4755a3e
example: fixup config for togglesplit
2026-02-21 21:35:11 +00:00
Vaxry
723870337f
layout: rethonk layouts from the ground up ( #12890 )
...
Rewrites layouts to be much smaller, and deal with much less annoying
BS. Improves the overall architecture, unifies handling of pseudotiling,
and various other improvements.
2026-02-21 21:30:39 +00:00
Vaxry
51f8849e54
github: add ai policy to mr template
2026-02-21 20:37:34 +00:00
Vaxry
b9b1eda2ef
hyprctl: adjust json case
...
should be camel
2026-02-21 20:30:16 +00:00
Tom Englund
13dab66b1d
pointermgr: damage only the surface size ( #13284 )
...
* pointermgr: damage only the surface size
CWaylandOutput returns a vector2d with -1, -1 set as a "no limit",
passing that down into beginSimple and the renderer it hits pixman bug
of invalid sizes and wrong rectangles gets created.
causing bunch of
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
set the damage either to cursor plane size or fallback to 256x256.
* pointermgr: dedup if hw cursorsize checks
dedup a bit if else casing
2026-02-21 20:29:00 +00:00
Tom Englund
9f59ed7868
multigpu: fix multi gpu checking ( #13277 )
...
* multigpu: fix multi gpu checking
drmFD() from allocators is not always equal, because we reopen them
inside AQ for refcounting, meaning they get duplicated and become their
own fds, so checking if fd1 == fd2 ends up wrong.
introduce sameGpu in MiscFunctions that checks the actual drmDevice
meaning we can now even check if a rendernode is the same gpu as a
display node if we want.
* multigpu: move sameGpu to DRM namespace
move sameGpu out of MiscFunctions to DRM namespace.
2026-02-21 20:27:59 +00:00
Vaxry
a20142bcce
xwayland/xwm: fix window closing when props race
...
we need to recheck before closing, ideally on change but that's later
2026-02-21 14:40:36 +00:00
Vaxry
d91952c555
wayland/output: return all bound wl_output instances in outputResourceFrom ( #13315 )
...
ref https://github.com/hyprwm/Hyprland/discussions/13301
2026-02-20 22:31:59 +00:00
Murat65536
8b17a7404b
config/descriptions: fix use_cpu_buffer ( #13285 )
2026-02-20 17:57:08 +00:00
Vaxry
9ea6d0e15f
desktop/popup: only remove reserved for window popups
2026-02-19 17:41:17 +00:00
Vaxry
a1e62dcb12
welcome: skip in safe mode
2026-02-19 01:12:48 +00:00
Vaxry
7a566942d5
versionKeeper: ignore minor rev version
...
no point in firing the update screen when no breaking changes happen on point releases
2026-02-19 01:05:28 +00:00
Vaxry
68456a5d9a
desktop/window: add stable id and use it for foreign
2026-02-19 00:49:43 +00:00
Skidam
184af52f24
config: support no_vrr rule on vrr 1 ( #13250 )
2026-02-18 14:48:56 +00:00
Tom Englund
1af260ecbe
compositor: dont unlock all states on empty commits ( #13303 )
...
we cant unlock all states on empty commits, at best tryProcess them.
for example if a state is locked and waiting for a fence to become readable,
and another commit comes in we cant unlock it until the fence has actually signaled.
2026-02-18 14:29:35 +00:00
Dominick DiMaggio
0de216e783
cm: block DS for scRGB in HDR mode ( #13262 )
2026-02-17 13:57:46 +00:00
Mihai Fufezan
661314e134
CI/c-f check: adapt jidicula script
2026-02-16 15:45:10 +02:00
ssareta
17fc159ae2
desktop/windowRule: use content rule as enum directly ( #13275 )
2026-02-16 12:15:50 +00:00
bea4dev
6716b8a0e3
xwayland: fix size mismatch for no scaling ( #13263 )
2026-02-15 17:50:03 +00:00
flyingpeakock
59f19e465b
nix: fix evaluation warnings, the xorg package set has been deprecated ( #13231 )
...
Co-authored-by: Philip Johansson <philip@phlipphlop.me>
2026-02-15 17:53:28 +02:00
Mihai Fufezan
e6ca141364
CI/c-f check: set older clang ver
2026-02-15 00:53:57 +02:00
Kamikadze
48176160ab
commit-timing: avoid use-after-free in timer callback ( #13271 )
2026-02-14 13:09:25 +00:00
Vaxry
e5a2b9e5b0
hyprctl: bump hyprpaper protocol to rev 2 ( #12838 )
2026-02-14 13:08:13 +00:00
garypippi
e80f705d76
compositor: guard null view() in getWindowFromSurface ( #13255 )
2026-02-13 23:52:15 +00:00
Tom Englund
1bf410e1fc
renderer: fix dgpu directscanout explicit sync ( #13229 )
...
* directscanout: fix dgpu directscanout explicit sync
without setting an infence, AQ doesnt explicit sync, nor recreate the
dgpu fence for the blit work. and as such attemptdirectscanout path
artifacts and breaks. create a dummy CEGLSync even tho we dont really
have any pending glwork to get a proper fence, and set it.
* monitor: dont use new scheduling if direct scanout
using the new_render_scheduling makes no sense in the direct scanout
path, add a if guard against it.
2026-02-13 23:52:00 +00:00
vaxerski
1c767de9da
[gha] Nix: update inputs
2026-02-13 23:42:49 +00:00
Kirill Unitsaev
a8a8929bb4
i18n: update russian translation ( #13247 )
2026-02-13 23:40:57 +00:00
Yingjie Wang
eb0d3f9f01
cmake: use OpenGL::GLES3 when OpenGL::GL does not exist ( #13260 )
...
This will allow to build on some systems without X.
2026-02-13 23:40:30 +00:00
Kamikadze
81a029e504
hyprpm: exclude glaze from all targets during fetch
2026-02-12 00:12:42 +02:00
Mihai Fufezan
380d14998e
nix: remove glaze patch
...
Signed-off-by: Tyr Heimdal <tyr.heimdal@warning.no>
2026-02-12 00:01:33 +02:00
Tyr Heimdal
fd48d102e1
Reapply "hyprpm: bump glaze version"
...
This reverts commit e92b20292b .
2026-02-12 00:01:33 +02:00
EvilLary
531fc43203
cmake: bump wayland-server version to 1.22.91 ( #13242 )
2026-02-11 12:05:58 +02:00
Vaxry
5b6c42ca70
dynamicPermManager: fix c+p fail
2026-02-10 15:13:25 +00:00
Vaxry
857a78ce4e
hyprpm: add full nix integration ( #13189 )
...
Adds nix integration to hyprpm: hyprpm will now detect nix'd hyprland and use nix develop instead
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2026-02-10 15:12:43 +00:00
Vaxry
339661229d
desktop/reserved: fix a possible reserved crash ( #13207 )
2026-02-10 14:59:21 +00:00
UjinT34
ff061d177e
protocols: commit and presentation timing fixes ( #13174 )
...
* move commit timing fields to surface state
* fix toTimespec init
* update sendQueued api
* update onPresented api
* set zero copy flag
* send clock id
* move presented calcs inside condition
* use only CLOCK_MONOTONIC for commit/presentation timings
* fix setSetTimestamp
* do not wait for commit timing while tearing
* proto config
* fix config defaults
2026-02-10 14:55:21 +00:00
ItsOhen
407a623801
hyprctl: add error messages to hyprctl hyprpaper wallpaper ( #13234 )
2026-02-10 14:52:31 +00:00
bea4dev
171ad7d338
input: fix kinetic scroll ( #13233 )
2026-02-10 14:51:51 +00:00
vaxerski
f16ebef003
[gha] Nix: update inputs
2026-02-09 12:53:15 +00:00
Aurelle
6507445787
layershell: restore focus to layer shell surface after popup is destroyed ( #13225 )
2026-02-09 12:51:25 +00:00
G36maid
f68ac7ef75
i18n: add Traditional Chinese (zh_TW) translations ( #13210 )
...
* i18n: add Traditional Chinese (zh_TW) translations
* i18n: add missing Simplified Chinese (zh_CN) translations
2026-02-07 13:27:10 +00:00
UjinT34
60f1c61323
protocols/dmabuf: fix DMA-BUF checks and events ( #12965 )
2026-02-07 12:40:08 +00:00
UjinT34
9f9dbb0dc5
renderer: allow tearing with DS with invisible cursors ( #13155 )
2026-02-07 12:38:01 +00:00
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
Tom Englund
0896775f1b
pointermgr: remove onRenderBufferDestroy ( #13008 )
...
set the damage to cursor plane size instead of INT16_MAX and remove
onRenderbufferDestroy, renderbuffer already have a listener that
destroys when buffer is destroyed.
2026-01-18 13:51:14 +01:00
Tom Englund
c99eb23869
renderer: optimise shader usage further, split shaders and add more caching ( #12992 )
...
* shader: split CM rgba/rgbx into discard ones
make it branchless if we have no discards.
* shader: ensure we dont stall on vbo uv buffer
if we render a new texture before the previous was done gpu wise its
going to stall until done, call glBufferData to orphan the data.
this allows the driver to return a new memory block immediately
if the GPU is still reading from the previous one
* protocols: ensure we reset GL_PACK_ALIGNMENT
reset GL_PACK_ALIGNMENT back to the default initial value of 4
* shader: use unsigned short in VAO
loose a tiny bit of precision but gain massive bandwidth reductions.
use GL_UNSIGNED_SHORT and set it as normalized. clamp and round the UV
for uint16_t in customUv.
* shader: interleave vertex buffers
use std::array for fullverts, use a single interleaved buffer for
position and uv, should in theory improve cache locality. and also remove
the need to have two buffers around.
* shader: revert precision drop
we need the float precision because we might have 1.01 or similiar
floats entering CM shader maths, and rounding/clamping those means the
maths turns out wrong. so revert back to float, sadly higher bandwidth
usage.
* update doColorManagement api
* convert primaries to XYZ on cpu
* remove unused primaries uniform
---------
Co-authored-by: UjinT34 <ujint34@mail.ru>
2026-01-17 15:31:19 +01:00
Tom Englund
92a3b91999
anr: remove window on closewindow ( #13007 )
...
m_data was never cleaned and continously built up the m_data, remove
the entry on closeWindow.
2026-01-17 10:23:09 +01:00
Vaxry
36aa465a21
cmakelists: add fno-omit-frame-pointer for tracy builds
2026-01-16 16:59:46 +01:00
Vaxry
fec17e5e79
desktop/ruleApplicator: fix typo in border color rule parsing ( #12995 )
...
ref https://github.com/hyprwm/Hyprland/discussions/12746
2026-01-16 16:43:25 +01:00
Vaxry
eff484b96c
core: optimize some common branches
2026-01-16 16:40:48 +01:00
Vaxry
2e697ce2bf
cmakelists: don't require debug for tracy
2026-01-16 16:26:58 +01:00
Vaxry
0b13d398fe
desktop/window: avoid uaf on instant removal of a window
...
ref https://github.com/hyprwm/Hyprland/discussions/12999
2026-01-16 09:11:21 +01:00
Vaxry
ac9df44788
desktop/workspaceHistory: fix tracking for multiple monitors ( #12979 )
2026-01-15 17:00:47 +01:00
UjinT34
e0cf88809d
protocols/cm: Fix image description info events ( #12781 )
...
* fix image description info events
* always send some target primaries
* set edid values as target primaries and luminances
* init monitor image description
* set default luminances for tf
* fix BT1886 luminances
* fix mastering values and overrides
* set maxCLL & maxFALL
* typo
* add FALL & CLL to preferred HDR image description
* fix ref luminances
2026-01-13 16:44:36 +01:00
Tom Englund
e43f949f8a
shm: ensure we use right gl unpack alignment ( #12975 )
...
gl defaults to 4 and not all formats is divisible with 4 meaning its
going to pad out ouf bounds and cause issues. check if the stride is
divisible with 4 otherwise set it to 1, aka disable it.
GL_UNPACK_ALIGNMENT only takes 1,2,4,8 but formats like RGB888 has
bytesPerBlock 3.
2026-01-13 16:42:31 +01:00
Chris Naporlee
8d03fcc8d7
protocols/syncobj: fix DRM sync obj support logging ( #12946 )
2026-01-12 18:28:08 +01:00
Tom Englund
5e18111121
renderer: shader code refactor ( #12926 )
...
* shader: begin the shader refactor
make SShader a class and rename it to CShader, move createprogram,
compileshader, logshadererror to CShader.
* shader: move uniform creation to CShader
move uniform creation to CShader, reduces tons of duplicated effort,
however forcing uniform names to be same in all shaders.
* shader: move to array based frag handling
use an array with an enum so it gets easier dealing with multiple
shaders, move creating program to a for loop and array, reduces line of
code a lot.
* shader: use shared ptr for frags
with smart pointers we can now rename useProgram to useShader and return
the shader directly, means only place we have to decide the shader frag
is when calling useShader. easier for future shader splitting to reduce
branching.
* shader: move unneded public members to private
move structs and uniforms to private add a get/set for initialtime
and add a getUniformLocation to make the code tell what its doing,
instead of direct array getting when all we wanted to get was its value,
also limits the setting of uniformLocations to the createProgram as it should
be.
* shader: fix style nits
set first enum member to 0 , remove extra {}
* shader: dont show a failed notif on success
the logic got inverted in the refactor here.
* shader: split CM shader to rgba/rgbx variants
split shader to rgba/rgbx variants, use bool, and reduce branching.
* shader: split up blurprepare CM and non CM
split up blurprepare, remove skipcm, move gain to gain.glsl.
remove ternary operator and reduce branching by using step() and mix()
use vec3 for gain, make brightness a cheap mulitplication with max.
* shader: split up border to CM/noncm variants
splitup border shader to CM/noncm variant, move common used things to
border.glsl , there is room for optimisations here but its a complex
shader im putting it for future PR.
* shader: touchup blurfinish
make brightness a cheap multiplication instead of branching.
mod is redundant, fract in hash already returns a value in [0.0, 1.0]
2026-01-12 18:27:16 +01:00
Vaxry
fbf421df88
LICENSE: update year
2026-01-11 16:13:52 +01:00
zacoons
8f8b31e7a6
decoration: take desiredExtents on all sides into account ( #12935 )
2026-01-10 20:53:57 +01:00
Austin Horstman
81e7498ec2
nix: add hyprland-uwsm to passthru.providedSessions
...
Fix issue with displayManager `defaultSession` not accepting the
stringsince it's missing from the lookup it does
with`passthru.providedSessions`.
2026-01-10 01:09:41 +02:00
John Mylchreest
fa41c8229d
desktop/window: track explicit workspace assignments to prevent X11 configure overwrites ( #12850 )
...
* fix: track explicit workspace assignments to prevent X11 configure overwrites
Instead of only checking for special workspaces, track when workspaces are
explicitly assigned via window rules or user actions (movetoworkspace).
This prevents onX11ConfigureRequest from overwriting any explicit workspace
assignment based on window position.
Changes:
- Add m_workspaceExplicitlyAssigned flag to CWindow
- Set flag when window rules assign workspace
- Set flag when user moves window via dispatcher
- Check flag in onX11ConfigureRequest instead of just special workspace
- Add debug logging for explicit workspace assignments
* fix: simplify X11 configure request handling for special workspaces
X11 apps send configure requests with positions based on XWayland's
monitor layout, which could incorrectly move windows off special
workspaces.
Skip workspace reassignment when the window is on a special workspace
or staying on the same monitor, but always run z-order, fullscreen flag,
and damage logic since the configure request may include geometry changes.
2026-01-09 19:25:37 +01:00
John Mylchreest
5b1b79c29c
fix: handle fullscreen windows on special workspaces ( #12851 )
...
* fix: handle fullscreen windows on special workspaces
inFullscreenMode() only checked m_activeWorkspace, missing fullscreen
windows on special workspaces. This caused crashes and incorrect
behavior when fullscreen windows were on special workspaces.
Changes:
- inFullscreenMode() now checks special workspace first since it
renders on top of regular workspaces
- Added getFullscreenWindow() helper to safely get fullscreen window
from either active or special workspace
- Updated callers (shouldSkipScheduleFrameOnMouseEvent, Renderer,
getFSImageDescription) to use the new helper
- Reset m_aboveFullscreen for layer surfaces when opening, closing,
or stealing special workspaces between monitors
* test: add special workspace fullscreen detection tests
Add tests for the new special workspace fullscreen handling introduced
in the previous commit. The tests cover:
1. Fullscreen detection on special workspace - verifies that a window
made fullscreen on a special workspace is correctly detected
2. Special workspace fullscreen precedence - verifies that when both
regular and special workspaces have fullscreen windows, the special
workspace window can be focused when the special workspace is opened
3. Toggle special workspace behavior - verifies that toggling the
special workspace off properly hides it and returns focus to the
regular workspace's fullscreen window
These tests exercise the key code paths modified in the fix:
- inFullscreenMode() checking special workspace first
- getFullscreenWindow() helper returning correct window
- Layer surface m_aboveFullscreen reset on special workspace toggle
2026-01-08 22:27:00 +01:00
Vaxry
eb623bd91d
animationMgr: avoid uaf in ::tick() if handleUpdate destroys AV
...
ref https://github.com/hyprwm/Hyprland/discussions/12840
2026-01-08 22:22:58 +01:00
Vaxry
3dcaadbdf5
desktop/ls: fix invalid clamp
2026-01-08 22:22:58 +01:00
Aaron Blasko
a649dbe4c4
main: add watchdog-fd and safe-mode options to help message ( #12922 )
...
Additionally, don't print the "you're not using start-hyprland" warning when using `--verify-config`
2026-01-08 17:50:11 +01:00
Vaxry
f767782e3f
desktop/reservedArea: clamp dynamic types to 0
...
ref https://github.com/hyprwm/Hyprland/discussions/12880
2026-01-08 12:25:39 +01:00
Vaxry
f54dd4da4a
desktop/reservedArea: clamp to 0
...
ref https://github.com/hyprwm/Hyprland/discussions/12880
2026-01-08 12:24:29 +01:00
Vaxry
3aa4e02720
config: don't crash on permission with a config check
...
ref #12872
2026-01-08 12:19:22 +01:00
Vaxry
8368566044
start: use nixGL if Hyprland is nix but not NixOS ( #12845 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2026-01-08 10:57:56 +01:00
Tom Englund
918e2bb9be
renderer/gl: add internal gl formats and reduce internal driver format conversions ( #12879 )
...
* format: add internal formats for drm formats
cross referenced with weston and added internal formats and types for a
lot of missing ones. also added a isFormatYUV helper.
* framebuffer: ensure we use right internalformat
ensure we use the right internal format to avoid internal driver
blitting, also since we only attach the GL_STENCIL_ATTACHMENT we might
just aswell only use the GL_STENCIL_INDEX8 to not confuse drivers that
we want a depth aswell.
* texture: use external on yuv or non linear mods
using external makes us use the gpu's internal detiler.
and this is makes intel a lot happier then having to format convert it
to a linear format internally.
* shaders: add external support to CM frag
add external support to CM frag, and correct ext.frag typo.
* formats: remove duplicates and fix a typo in cm.frag
remove duplicate formats and a typo in cm.frag
* formats: add swizzle logic to all formats
add swizzle logic from weston for all formats and use it in shm texture
paths.
* format: more format changes
use monitor drm format instead of forcing something different.
* shader: remove external from cm.frag
drivers want this resolved at compiletime cant use both
samplerExternalOES and sampler2d and then runtime branch it.
* screencopy: swizzle textures in screencopy
swizzle textures in screencopy, to get the right colors when copying.
* screencopy: restore old behaviour
try restore old behaviour before the gles3 format changes.
glReadPixels had the wrong format, so i went to far trying to mitigate
it. should be like before now.
2026-01-07 19:53:42 +01:00
wbg
a383ca1866
groupbar: added group:groupbar:text_padding ( #12818 )
...
Co-authored-by: Roman Weinberger // ACL <roman.weinberger@acl.at>
2026-01-07 16:52:02 +01:00
Hiroki Tagato
f1652b2951
start: add parent-death handling for BSDs ( #12863 )
...
* Add parent-death handling for BSDs
prctl() is a system call specific to Linux. So we cannot use it on BSDs.
FreeBSD has a system call procctl() which is similar to prctl(). We can
use it with PROC_PDEATHSIG_CTL.
OpenBSD, NetBSD, and DragonFly BSD do not appear to have a similar
mechanism. So intead of relying on a system call, we need to manually
poll ppid to see if the parent process has died.
With the changes, the spawned Hyprland process is terminated when the
launcher process exits, matching Linux behavior as closely as possible
on BSD platforms.
* Remove ppid polling on OpenBSD, NetBSD, and DragonFly BSD
2026-01-06 14:38:25 +01:00
EvilLary
cbfbd9712a
anr: open anr dialog on parent's workspace ( #12509 )
2026-01-06 14:29:17 +01:00
ItsOhen
9817553c66
config: return windowrulev2 layerrulev2 error messages ( #12847 )
2026-01-06 00:00:14 +01:00
Vaxry
6fce2d7288
renderer/opengl: invalidate intermediate FBs post render, avoid stencil if possible ( #12848 )
2026-01-05 22:37:54 +01:00
Vaxry
107275238c
desktop/ls: clamp layer from protocol
2026-01-05 18:53:29 +01:00
Vaxry
3b77c784e2
protocols/contentType: fix missing destroy
2026-01-05 18:53:29 +01:00
Vaxry
d46df728fd
protocols/contentType: fix typo in already constructed check
2026-01-05 18:53:29 +01:00
Vaxry
8eb3ecc755
input/TI: avoid UAF in destroy
2026-01-05 18:53:29 +01:00
Vaxry
97c8a2f1cf
protocolMgr: remove IME / virtual input protocols from sandbox whitelist
2026-01-05 18:53:29 +01:00
Vaxry
a492fa3866
desktop/window: catch bad any cast tokens
2026-01-05 18:53:29 +01:00
Vaxry
e165f84184
core/compositor: immediately do readable if adding waiter fails for scheduling state
2026-01-05 18:53:29 +01:00
Vaxry
686eda9d48
eventLoop: remove failed readable waiters
2026-01-05 18:53:29 +01:00
Vaxry
70c5fe5cd8
systemd/sdDaemon: fix incorrect strnlen
2026-01-05 18:53:29 +01:00
Vaxry
32978176b1
systemd/sdDaemon: initialize sockaddr_un
2026-01-05 18:53:29 +01:00
Vaxry
1761909bca
mainLoopExecutor: fix incorrect pipe check
2026-01-05 18:53:29 +01:00
Hiroki Tagato
7d8f57083e
testers: add missing #include <unistd.h> ( #12862 )
...
FreeBSD clang needs the header to be included for read(), write(),
pipe(), close(), etc.
2026-01-05 16:42:35 +01:00
Vaxry
a3c8533d74
subprojects: bump tracy
2026-01-05 12:57:40 +01:00
Tom Englund
0b3b012817
framebuffer: revert viewport ( #12842 )
...
to much stuff are relying on the viewport being set like this, just
revert it to not regress further. this needs a overhaul.
2026-01-04 11:44:19 +01:00
vaxerski
583c4074a5
[gha] Nix: update inputs
2026-01-03 21:12:46 +00:00
Virt
922e53c68c
pluginsystem: fix crash when unloading plugin hyprctl commands ( #12821 )
2026-01-03 22:11:05 +01:00
Tom Englund
17bc3b83db
renderer/fb: dont forget to set m_drmFormat ( #12833 )
...
fab3370 accidently removed the setting of m_drmFormat, causing it to
think format changed on each alloc.
2026-01-03 16:48:43 +01:00
Tom Englund
fab3370254
renderer: minor framebuffer and renderbuffer changes ( #12831 )
...
* framebuffer: dont release if format or size changes
we dont have to release and recreate both the texture and framebuffer if
size or format changes, we can just bind the texture and call glTexImage2D
with the new format and size.
* framebuffer: set the alloced viewport size
if monitor size mismatch with the allocated m_size its going to set a
mismatched viewport and cause rendering issues. and if they are
mismatching there is a missing alloc call.
* renderbuffer: cleanup unneded binds
the renderbuffer is attached to the fbo and trying to rebind it in
bind() is causing unnecessery state changes, just bind the fbo.
add safeguard in the destructor, the constructor can return early on
failure and leave m_rbo empty or m_image as EGL_NO_IMAGE_KHR.
2026-01-03 15:13:01 +01:00
Dmytro Budnyk
ee67278038
hyprerror: fix horizontal overflow and damage box ( #12719 )
...
* hyprerror: fix horizontal overflow and damage box
* hyprerror: remove redundant m_queued preservation logic
The logic to save and restore m_queued into a temporary string 'q' was redundant because m_queued is explicitly cleared at the end of createQueued() (line 164). Restoring it to a non-empty state would cause createQueued() to be called every frame in draw(), which is not the intended behavior for the static error bar.
* Fixes style
2026-01-02 20:10:47 +01:00
Vaxry
b9bd9d147f
desktop/layerRuleApplicator: fix an epic c+p fail
...
ref https://github.com/hyprwm/Hyprland/discussions/12779
2026-01-02 18:17:35 +01:00
Vaxry
ec4beb1b39
core/xwaylandmgr: fix min/max clamp potentially crashing
2026-01-02 14:06:46 +01:00
Vaxry
31d3181e1e
dekstop/window: read static rules before guessing initial size if possible ( #12783 )
2026-01-01 21:49:57 +01:00
Vaxry
9b93d621b1
desktop/window: use workArea for idealBB ( #12802 )
2026-01-01 16:48:23 +01:00
Vaxry
bd7f9aad05
input/ti: avoid sending events to inactive TIs
...
ref https://github.com/hyprwm/Hyprland/discussions/12105
2026-01-01 14:48:32 +01:00
Vaxry
48a024e032
desktop/window: remove old fn defs
2025-12-31 18:17:10 +01:00
Vaxry
bd02178e96
desktop/LS: avoid creating an invalid LS if no monitor could be found ( #12787 )
2025-12-31 18:13:42 +01:00
skrmc
214fdb099c
input: guard null view() when processing mouse down ( #12772 )
2025-12-31 14:00:11 +01:00
ArchSav
d622c09d09
tester: fix sleeps waiting for too long ( #12774 )
2025-12-31 13:08:40 +01:00
Vaxry
529559712b
desktop/window: go back to the previously focused window in a group ( #12763 )
2025-12-30 18:02:34 +01:00
Vaxry
293d3e5de9
desktopAnimationMgr: fix slide direction
...
ref https://github.com/hyprwm/Hyprland/discussions/12744
2025-12-30 14:09:13 +01:00
ArchSav
f8464866eb
keybinds: add inhibiting gestures under shortcut inhibitors ( #12692 )
2025-12-30 13:45:56 +01:00
Vaxry
ea444c35bb
version: bump to 0.53.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Nix / test (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
2025-12-29 16:21:36 +01:00
UjinT34
6a055fc747
cm: allow force disabling WCG and HDR per monitor ( #12733 )
2025-12-28 14:44:04 +01:00
Ikalco
a8452705d6
gitignore: add hyprland.desktop generated by cmake
2025-12-27 23:23:32 +02:00
Aditya Singh
e5d20b56bc
keybinds: simulate mouse movement after bringing active window to top ( #12703 )
...
Fixes https://github.com/hyprwm/Hyprland/discussions/12702
2025-12-27 21:27:59 +01:00
UjinT34
5faa66d297
protocols/cm: fix CColorManagementSurface m_imageDescription init ( #12734 )
2025-12-27 20:25:57 +01:00
Vaxry
610c59dc34
opengl: properly combine transforms in renderTexture
...
ref #12666
2025-12-27 20:18:57 +01:00
UjinT34
e5f22c06b4
master: fix placement with center_ignores_reserved ( #12695 )
2025-12-27 19:17:51 +01:00
UjinT34
6d3b17ee83
render/cm: various updates, remove old protocols ( #12693 )
...
* fix named primaries
* default to gamma22
* mark mastering primaries as supported
* remove xx-cm and frog support
* immutable primaries and image descriptions
* clang-format
2025-12-27 18:01:46 +01:00
Vaxry
42447a50d6
rules/windowRuleApplicator: fix min/max size effects ( #12491 )
...
fixes #12412
2025-12-27 12:43:45 +01:00
Mr. Goferito
d7f26038ee
keybinds: fix multikey binds breaking after scroll wheel events ( #12638 )
2025-12-26 23:16:31 +01:00
Vaxry
33df518f97
input: fix pending perm keyboards being enabled
...
fixes #12359
2025-12-26 16:08:31 +01:00
Mihai Fufezan
9ea565054a
example/hyprland.desktop: fix path
2025-12-26 14:39:29 +02:00
Mihai Fufezan
1f1a39d46c
example/hyprland.desktop: install with full path in Exec
2025-12-25 20:36:32 +02:00
Mihai Fufezan
14c49230cc
Nix: re-enable uwsm desktop file
2025-12-25 20:36:32 +02:00
Vaxry
2525052779
start: avoid crash in dtor after forceQuit
2025-12-24 20:27:00 +01:00
Vaxry
f7f357f15f
keybindmgr: fix focusCurrentOrLast
2025-12-23 15:04:56 +01:00
Vaxry
abffe75088
desktop/window: improve fullscreen handling for grouped windows
...
fixes #12700
2025-12-22 17:53:28 +01:00
Vaxry
60efbf3f63
desktop/ls: only update the ls in question for commit to change layer
2025-12-21 23:50:53 +01:00
UjinT34
712bcfbce5
protocols/xdg-shell: fix crash on null parent in pin ( #12694 )
2025-12-21 14:21:51 +01:00
boinq
c87a1a7629
i18n: add Danish translation ( #12333 )
2025-12-20 22:18:22 +00:00
ArchSav
7bd207377c
window: automatically pin child windows ( #12224 )
2025-12-20 22:17:56 +00:00
Vaxry
b9bef69554
Desktop/history: Move history to desktop ( #12676 )
2025-12-20 22:16:13 +00:00
Vaxry
70f54a1e1b
animationmgr: avoid possible uaf in handling anim updates
2025-12-20 19:13:04 +00:00
EvilLary
f6c5c659a7
i18n: Add Arabic translations for safemode ( #12670 )
...
* i18n: Add Arabic translations for safemode
* update
2025-12-20 17:57:19 +00:00
vaxerski
c23a0c20a4
[gha] Nix: update inputs
2025-12-20 17:54:34 +00:00
dylanetaft
3bbbb5aaca
core: add missing headers ( #12686 )
2025-12-20 17:52:54 +00:00
fuyu147
315806f598
tablet: added option to hide cursor ( #12525 )
2025-12-19 16:14:22 +00:00
Vaxry
6175ecd4c4
debug: move to hyprutils' logger ( #12673 )
2025-12-18 17:23:24 +00:00
Vaxry
f88deb928a
compositor: warn on start via a log about start-hyprland
2025-12-17 19:26:25 +00:00
Lichie
18901b8e59
desktop/windowRule: force center and move rules to override each other ( #12618 )
2025-12-17 18:23:12 +00:00
Vaxry
7098558420
desktop/layer: store aboveFs property and use that
2025-12-16 16:32:37 +00:00
SASANO Takayoshi
59438908de
i18n: more natural Japanese translation ( #12649 )
...
* more natural Japanese translation
* src/i18n/Engine.cpp: change パーミッション -> 権限, fix TXT_KEY_SAFE_MODE_BUTTON_UNDERSTOOD Japanese translation
* src/i18n/Engine.cpp: clang-format processed
2025-12-16 16:13:26 +00:00
Vaxry
cbfdbe9fa1
desktop/popup: fix invalid surface coord
2025-12-16 15:56:04 +00:00
Vaxry
c94a981711
input: simplify mouseMoveUnified a tad
2025-12-16 15:55:54 +00:00
Vaxry
beb1b578e8
input: cleanup sendMotionEventsToFocused()
2025-12-16 15:18:53 +00:00
Vaxry
c5beecb2c3
desktop/popup: minor improvements
2025-12-16 15:18:53 +00:00
Lichie
6e09eb2e6c
desktop/windowRules: fix disabling binary window rules with override ( #12635 )
2025-12-15 22:19:13 +00:00
Mason Davy
6b491e4d6b
core/compositor: remove a monitor reset on cleanup ( #12645 )
...
I've tested this change with different modes from the monitor default
and validated that dpms still works, at least on my machine. If there's
a good reason why this exists, feel free to correct me, but this helps
get us closer to a flicker-free experience.
2025-12-15 21:37:48 +00:00
Mihai Fufezan
4036c37e55
hyprctl: add nix flag ( #12653 )
2025-12-15 15:59:08 +00:00
Maximilian Seidler
7ccc57eb7c
animation: migrate PHLANIMVAR from SP to UP ( #12486 )
2025-12-14 19:46:49 +00:00
jmanc3
e4a8f2b14f
renderer: add zoom with detached camera ( #12548 )
2025-12-14 19:42:02 +00:00
Luke Barkess
6535ff07c9
anr: don't create for anr dialogs ( #12601 )
2025-12-14 17:19:35 +00:00
Luke Barkess
05ccbb2f2d
hyprpm: added plugin author ( #12594 )
2025-12-14 17:16:58 +00:00
Vaxry
09e195d1f2
compositor: fix isPointOnReservedArea
2025-12-13 13:55:49 +00:00
Vaxry
fd5e790d08
compositor: return nullptr when cursor is outside of a maximized windows' box
2025-12-13 13:55:48 +00:00
Tom Englund
69db0bcae6
compositor: early return on no monitor ( #12637 )
...
getMonitorFromVector can return nullptr on empty m_monitors, as such is
the case when the compositor is going down and a surface exist. return
early in vectorToWindowUnified if that happends.
2025-12-12 12:47:56 +00:00
Tom Englund
8dfdcfb353
compositor: dont try to focus unmapped window ( #12629 )
...
* compositor: dont try to focus unmapped window
if lastwindow is unmapped it hits getWindowInDirection and nullptr
derefs window->m_workspace. and coredumps. triggered by dual monitor and
one client on each surface with a combination of animation and
killactive / movefocus keybind.
* keybindmgr: use newly added aliveAndVisible()
use newly added aliveAndVisible() over visible()
2025-12-11 23:59:47 +00:00
Dominick DiMaggio
5700736505
cm: handle CM for SDR content with cm=hdr, cm_sdr_eotf=2 ( #12127 )
2025-12-11 23:50:57 +00:00
Tom Englund
75f6435f70
window: only damage floating on clamped size change ( #12633 )
...
currently it damage the entire window if its floating and not x11 nor
fullscreen meaning damage isnt working at all for floating. im tracing
this back to a364df4 where the logic changed from damaging window only
if size was being forced to now unconditonally doing it.
change clampWindowSize to return as a bool if size changed and only
damage window if it got clamped.
2025-12-11 18:54:43 +00:00
Vaxry
5dd224805d
desktop/view: use aliveAndVisible for most things ( #12631 )
2025-12-11 16:29:26 +00:00
Vaxry
2ca7ad7efc
ci: disable comments for members
2025-12-11 12:40:02 +00:00
Vaxry
9aa313402b
protocols/datadevice: avoid double leave
...
ref https://github.com/hyprwm/Hyprland/discussions/12494
2025-12-11 00:50:45 +00:00
Maximilian Seidler
1ff801f5f3
Nix: fix glaze build for CI and devShell ( #12616 )
2025-12-11 00:32:51 +00:00
Tom Englund
3cf6dfd7e6
opengl: default initialize m_capStatus ( #12619 )
...
ubsan reports under wonky situation a runtime error of uninitialized
value lookups because of m_capStatus isnt initialized. so default
initialize it.
OpenGL.cpp:3331:26: runtime error: load of value 190, which is not a valid value for type 'bool'
2025-12-11 00:32:11 +00:00
EvilLary
f58c80fd39
monitor: remove monitor from list on disconnect before unsafestate ( #12544 )
2025-12-09 22:30:35 +00:00
Aureus
6712fb954f
cmake: only use system glaze package if above version 6.0.0 ( #12559 )
2025-12-09 12:44:02 +00:00
Vaxry
efe665b455
protocols/compositor: fix null deref on unassigned surface image desc
...
ref #12603
2025-12-08 22:49:53 +00:00
Vaxry
920353370b
desktop: cleanup, unify desktop elements as views ( #12563 )
2025-12-08 15:04:40 +00:00
Hasan Arthur Altuntaş
834f019bab
cmake: fail if scripts/generateShaderIncludes.sh fails ( #12588 )
2025-12-08 13:49:23 +00:00
Vaxry
a5b7c91329
ci: run pr comment in target
2025-12-07 21:05:10 +00:00
byddha
916e5d1aea
renderer/cm: make needsHDRupdate per-monitor state ( #12564 )
...
Co-authored-by: drzbida <55928036+drzbida@users.noreply.github.com>
2025-12-07 20:47:27 +00:00
Matias Paavilainen
9584b2d40e
i18n: Added Finnish translations ( #12505 )
...
* desktop/overridableVar: improve performance
drop usage of ::map which sucks performance-wise
* Added Finnish translations
* Revised translations, and fixed html tags.
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2025-12-07 20:47:20 +00:00
Dominick DiMaggio
532ca053d6
renderer/cm: higher-quality tonemapping ( #12204 )
2025-12-07 17:58:49 +00:00
Nikolai Nechaev
ca99e8228c
internal/start: More careful signal handling ( #12573 )
...
- Take out signal set up into a subroutine;
- Use `sigaction` instead of `signal` for consistent behavior across UNIX platforms;
- Enable a warning when a signal handler set up fails;
- Don't do anything to SIGKILL, since it cannot be handled.
2025-12-07 17:53:24 +00:00
Khing
8ca40479a7
desktop: Update Exec command for UWSM Hyprland desktop entry ( #12580 )
...
* Update Exec command for UWSM Hyprland desktop entry
This is from the comment in https://github.com/hyprwm/Hyprland/pull/12484
https://github.com/hyprwm/Hyprland/pull/12484#issuecomment-3621979533
* Update hyprland-uwsm.desktop dumb me
2025-12-07 17:48:14 +00:00
Vaxry
c26e91f074
ci: fix yaml file
2025-12-07 17:29:07 +00:00
Nikolai Nechaev
76ac655c9e
CI: add the start PR label for start-hyprland ( #12574 )
2025-12-07 10:49:12 +00:00
Vaxry
f8d5aad1a1
tests: fix a test case
2025-12-06 12:42:26 +00:00
Vaxry
b8bb5e9bde
renderer: avoid crash on arrangeLayers for an empty mon
2025-12-06 11:34:04 +00:00
vaxerski
7797deb935
[gha] Nix: update inputs
2025-12-06 11:33:40 +00:00
Vaxry
d3c9c54b79
layouts: fix maximize size
2025-12-06 11:32:01 +00:00
norinorin
cedadf4fdc
cmake: fix XKBCOMMON variable typo ( #12550 )
2025-12-06 00:48:38 +00:00
Nikolai Nechaev
222dbe99d0
keybinds: fix previous workspace remembering ( #12399 )
...
* swipe: Fix previous workspace remembering in workspace gesture
Fixes a bug that previous workspace does not exist after swiping to a workspace
* tests: Test that `workspace previous` works after workspace gesture
* moveActiveToWorkspace: remember previous workspace unconditionally
2025-12-05 20:43:30 +00:00
EvilLary
ebe74be75a
dispatcher: include mirrors of monitor in dpms ( #12552 )
...
* dispatcher/dpms: include mirrors
* use m_realMonitors instead
2025-12-05 20:29:39 +00:00
Vaxry
afeda6cee6
ci: add new pr comment workflow
2025-12-05 20:29:02 +00:00
Vaxry
6a1daff5f3
example/config: use hyprshutdown if available
2025-12-05 17:48:45 +00:00
Vaxry
016eb7a23d
start: init start-hyprland and safe mode ( #12484 )
2025-12-05 15:40:03 +00:00
Zeide
ec6756f961
cmake: add missing space ( #12549 )
2025-12-05 15:03:10 +00:00
Vaxry
9264436f35
desktop: rewrite reserved area handling + improve tests ( #12383 )
2025-12-05 14:16:22 +00:00
SAM
d5c52ef58e
renderer/cm: fix typo on color simage description op ( #12551 )
...
fix: typo on color simage description op
2025-12-05 14:11:52 +00:00
Gilang ramadhan
52b3c8cbc6
i18n: add Indonesian translations ( #12468 )
2025-12-04 20:42:13 +00:00
Aivaz Latypov
279a07c2ce
i18n: add Tatar translations ( #12538 )
2025-12-04 18:06:17 +00:00
Hleb Shauchenka
17ae3fb704
pointer: apply locked pointer workaround only on xwayland ( #12402 )
2025-12-04 18:05:50 +00:00
Björn Kettunen
43ed0db3b3
cmake: track dependencies in pkgconfig file ( #12543 )
...
Depedencies where not tracked in the pkgconfig leading to programs
who scan dependencies using it to fail/not track them.
I noticed this while building Hyprland on openSUSE where the -devel
package didn't include the dependencies it once had when Meson was
used previously.
2025-12-04 18:04:20 +00:00
jmanc3
38f912c401
renderer: remove unnecessary assert from renderRoundedShadow ( #12540 )
2025-12-04 18:03:12 +00:00
Vaxry
9cd070fd31
hyprpm: check for abi strings in headersValid ( #12504 )
...
---------
Co-authored-by: Virt <41426325+VirtCode@users.noreply.github.com>
2025-12-04 18:00:15 +00:00
Vaxry
d9657a95cb
hyprctl: use new hyprpaper ipc format ( #12537 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-12-04 17:59:47 +00:00
Vaxry
9b1891e476
desktop/overridableVar: fix possible crash
2025-12-03 22:43:26 +00:00
Vaxry
93e5e92b0a
crashReporter: cleanup code ( #12534 )
...
various code cleanups, reorders, move off of global NS
2025-12-03 16:01:45 +00:00
UjinT34
3cf0280b11
renderer: add quirks:prefer_hdr to fix HDR activation for some clients ( #12436 )
2025-12-03 01:30:43 +00:00
Vaxry
2cadc8abab
welcome: init welcome manager ( #12409 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-12-02 22:26:43 +00:00
littleblack111
f82a8630d7
desktop/rules: tag static rule being ignored ( #12514 )
...
* chore: apply exec rules after removal and use CWindowRule
* refactor: unregister exec rules after applying them
Remove the unused toRemove vector and defer unregistering exec rules
until after applyStaticRule/applyDynamicRule so exec rules are applied
before being removed from the rule engine.
2025-12-01 16:47:59 +00:00
Honkazel
bb963fb002
protocols/cursor-shape: impl version 2 ( #12270 )
2025-11-30 15:05:31 +00:00
EvilLary
f11cf6f1de
renderer: fix uv sufrace calc with scales < 1 ( #12481 )
2025-11-29 21:16:49 +00:00
Vaxry
574ee71d56
desktop/overridableVar: improve performance
...
drop usage of ::map which sucks performance-wise
2025-11-29 17:17:24 +00:00
ふゆ
7e1e24fea6
i18n: fix typos/unnatural spellings in french translation ( #12443 )
2025-11-27 22:51:34 +00:00
Vaxry
68eecf61cd
desktop/windowRule: return reset props from resetProps and recheck them ( #12458 )
...
fixes #12457
2025-11-27 21:14:24 +00:00
Vaxry
f9742ab501
keybinds: restore pointer warp on switch
...
ref https://github.com/hyprwm/Hyprland/pull/12033#pullrequestreview-3516413924
2025-11-27 21:10:01 +00:00
sadbhav
e42185b83d
i18n: add Nepali translations ( #12451 )
2025-11-27 19:34:51 +00:00
SASANO Takayoshi
a51918fd27
src/protocols/types/DMABuffer.cpp: <sys/ioctl.h> is required for ioctl(), not only linux ( #12483 )
2025-11-27 15:52:04 +00:00
Hiroki Tagato
379ee99c68
window: implement CWindow::getEnv() for BSDs ( #12462 )
...
Some BSDs provide procfs to access kernel information. However, BSDs'
procfs does not provide information on a process' environment
variables. Instead sysctl(3) function is usually used for system
information retrieval on BSDs.
2025-11-26 22:12:50 +00:00
Tom Englund
4036e35e73
protocols/lock: fix missing output enter on surface ( #12448 )
2025-11-26 22:12:17 +00:00
Luke Barkess
d21f2e5729
config: move config parsers to VarList2 ( #12465 )
2025-11-26 22:11:29 +00:00
SASANO Takayoshi
4e5a284bc4
CMakeLists.txt: improve libudis86 and librt detection ( #12472 )
2025-11-26 22:10:02 +00:00
Tom Englund
210930bef9
buffers: revert state merging ( #12461 )
...
8e8bfbb0b1 added fifo and merged non
buffer states before comitting them, something about certain xwl non
buffer commits expects a commit to happend and causes regressions as in
low fps.
2025-11-25 22:51:51 +00:00
Nikolai Nechaev
40d8fa8491
compositor: Configurable behavior when window to be focused conflicts with fullscreen ( #12033 )
...
Renames `misc:new_window_takes_over_fullscreen` into
`misc:on_focus_under_fullscreen` and implements the following behavior:
- By default, when a tiling window is being focused on a workspace where
a fullscreen/maximized window exists, respect
the `misc:on_focus_under_fullscreen` config variable.
2025-11-25 22:44:26 +00:00
Tim
1c1746de61
i18n: add Croatian translations ( #12374 )
2025-11-25 14:21:45 +00:00
vaxerski
619e9d285b
[gha] Nix: update inputs
2025-11-25 13:41:42 +00:00
Tomáš Zierl
ec3b3403e7
i18n: add Czech translations ( #12428 )
2025-11-25 13:40:25 +00:00
Vaxry
703394affb
protocols/workspace: avoid crash on inert outputs
2025-11-25 13:35:25 +00:00
Vaxry
fe6a855bbb
renderer: stop looping over null texture surfaces ( #12446 )
...
fixes #12445
2025-11-24 23:48:18 +00:00
EvilLary
475e87b351
windowrules: fix persistent_size not applying ( #12441 )
2025-11-24 23:48:10 +00:00
SASANO Takayoshi
3d7ea9c02f
CrashReporter.cpp: fix stderr conflict ( #12440 )
2025-11-24 20:11:15 +00:00
bea4dev
2b0fd417d3
animation: improve animations on multi refresh rate monitors ( #12418 )
2025-11-23 15:48:15 +00:00
OCbwoy3
56904edbd2
i18n: add Latvian translations ( #12430 )
2025-11-23 12:37:19 +00:00
Luke Barkess
e584a8bade
config: added locale config option ( #12416 )
2025-11-22 13:59:36 +00:00
Vaxry
2ac9ded2ac
ci: fix ai workflow for the nth time
2025-11-22 13:56:41 +00:00
Vaxry
abb2f7ee6f
renderer: fix render_unfocused
2025-11-21 18:48:45 +00:00
Vaxry
79a2781923
protocols/workspace: fix crash in initial group sending
...
fixes #12419
2025-11-21 14:46:05 +00:00
Mihai Fufezan
d66c9222b0
CI/AI translate: expose output
2025-11-21 14:17:16 +02:00
Pastilhas
b5a2ef77b7
i18n: add Português (Portugal) translation ( #12328 )
2025-11-20 23:37:00 +00:00
Hleb Shauchenka
c5d45b7653
hyprctl: fix no_vrr prop ref ( #12410 )
2025-11-20 22:40:39 +00:00
Vaxry
c249a9f4b8
windowrules: fix group rule recalcs ( #12403 )
2025-11-20 16:57:31 +00:00
Raúl Salinas
00cce1c8ff
i18n: improve Spanish translations for clarity and consistency ( #12378 )
...
* i18n: improve Spanish translations for clarity and consistency
Improve the Spanish translation strings in Engine.cpp by:
- Refining ANR (Application Not Responding) dialog to use "La aplicación"
and change the terminate option to "Forzar cierre" for clarity
- Standardizing permission prompts with "¿Deseas...?" for consistency
- Rewording keyboard permission prompt: "permitir su uso" is clearer than
"permitir su funcionamiento"
- Adding explicit reference to "permisos" in the persistence hint
- Improving Wayland app identification: "ID de cliente de Wayland" instead
of "wayland client ID {wayland_id}"
- Enhancing environment variable notification with better punctuation and
clarity ("gestionarse externamente" vs "estar gestionada externamente")
- Simplifying hyprland-guiutils message with direct, concise wording
- Rewriting failed assets lambda to be more natural and add context about
distribution packagers
- Improving monitor-related messages with clearer tone and better sentence
structure (monitor layout, mode fallback, auto-scale)
- Using "shader" instead of "sombreador" (more common in Spanish tech)
- Changing "10-bit" to "10 bits" for proper Spanish plural form
Overall tone improvements include consistent use of "tú" forms and clearer,
more natural Spanish phrasing throughout the user-facing messages.
* i18n: update Spanish error messages for clarity and support
2025-11-20 12:32:58 +00:00
Mihai Fufezan
6b8e3358d6
CI/AI translate: change path filter action
2025-11-20 14:31:11 +02:00
MithicSpirit
80b96a3166
hyprctl: show contentType in activewindow ( #12214 )
2025-11-20 12:01:07 +00:00
Aaron Blasko
f9d1da6667
i18n: slight update to it_IT translations ( #12372 )
2025-11-19 23:37:55 +00:00
Vaxry
7532115318
rule: nuke parseRelativeVector
2025-11-19 19:08:27 +00:00
Tetrapak
1c29d6b1ba
i18n: add Slovenian translation ( #12369 )
2025-11-19 18:33:44 +00:00
MyNameIsKitsune
d0503bea43
i18n: add Ukrainian translation ( #12370 )
2025-11-19 18:33:22 +00:00
Mihai Fufezan
fbb31503f1
CI/AI translate: fix yet again
2025-11-19 10:13:54 +02:00
xyrd
9f02dca8de
i18n: add Norwegian Bokmål translations ( #12354 )
2025-11-19 01:00:13 +00:00
Kamikadze
6a8d306992
examples: fix example config ( #12394 )
2025-11-18 17:54:54 +00:00
Vaxry
e4b40abce6
windowrules: bring back windowUpdateRules
2025-11-18 16:49:18 +00:00
KAGEYAM4
9495f989b4
hyprpm: remove -nn flag and make notification behaviour more consist… ( #11272 )
...
* [hyprpm] Remove -nn flag and make notification behaviour more consistent.
Before -> -nn turns on -n explicitly, and many notify() are ran without checking the flag.
After -> warning and error notification will always work, -n will only give visual confirmation that plugin loaded successfully, eye candy.
* [hyprpm] Add -nn breaking change fallback to nofity users.
Added deprecation warning for the --notify-fail flag.
2025-11-18 16:33:02 +00:00
fazzi
2c9c4d0905
windowrules: fix matching against xdgTag ( #12393 )
2025-11-18 16:32:33 +00:00
Mihai Fufezan
e15409bbeb
CMake: fix GIT_COMMIT_MESSAGE parsing
2025-11-18 17:50:10 +02:00
Guillermo Tomás Fernández Martín
312073ce79
CMake: add min version for xkbcommon
2025-11-18 17:46:14 +02:00
Vaxry
edc311544a
dwindle: Revert rework split logic to be fully gap-aware ( #12047 )
...
This reverts commit 151b5f6978 .
Fixes #12380
2025-11-18 00:59:21 +00:00
Vaxry
37fe7b2efd
config: export version variable for versioned configs
...
fixes #12274
2025-11-17 18:43:04 +00:00
Vaxry
c2670e9ab9
windowrules: rewrite completely ( #12269 )
...
Reworks the window rule syntax completely
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-11-17 18:34:02 +00:00
Vaxry
95ee08b340
ci: fix translation ci again
2025-11-17 17:53:34 +00:00
Ali Ebadi
ff6d771be0
i18n: add Persian translations ( #12361 )
2025-11-17 17:47:35 +00:00
Vaxry
64e4e913e1
ci: fix translator ci
2025-11-17 16:57:17 +00:00
Martijn
ad52ba9c13
i18n: Add Dutch translations ( #12326 )
2025-11-17 13:34:57 +00:00
Mihai Fufezan
526aa1d020
CI/Nix: simplify cache config
2025-11-17 14:47:30 +02:00
Mihai Fufezan
5f0575737f
CI/AI translate: only run on src/i18n
2025-11-17 14:46:21 +02:00
27Onion Nebell
4695f85829
i18n: add Simplified Chinese translations ( #12332 )
2025-11-17 12:39:06 +00:00
Kosa Matyas
1796dbcdc3
i18n: Add hungarian translations ( #12346 )
2025-11-17 12:38:57 +00:00
Jochim
e354066945
groupbar: fix rounding logic for edge cases ( #12366 )
2025-11-17 12:13:29 +00:00
fufexan
2b14f27ca8
[gha] Nix: update inputs
2025-11-17 07:59:34 +00:00
Mihai Fufezan
68c23fbdaf
CI: drop no_pch and make default, drop noxwayland
2025-11-17 09:58:14 +02:00
Mihai Fufezan
484d87d469
CI: drop meson build, simplify c-f check
2025-11-17 08:54:47 +02:00
Mihai Fufezan
cefa63c2af
meson: drop
2025-11-17 08:54:47 +02:00
nnra
9d67511871
i18n: add Serbian Translations ( #12341 )
2025-11-16 23:59:05 +00:00
Darkiu1337
5265fa3be8
i18n: add pt_BR translations ( #12351 )
2025-11-16 23:58:54 +00:00
Antarip Barman
dfb4dcd55c
i18n: add Assamese translations ( #12356 )
2025-11-16 23:58:43 +00:00
Abdul
9d02fe9c23
i18n: add Arabic (ar) translations ( #12352 )
2025-11-16 23:58:23 +00:00
Aliaksiej
76edcfc66c
i18n: add Belarusian language ( #12358 )
2025-11-16 23:57:37 +00:00
Eren
11451d68b7
i18n: add Turkish translations ( #12331 )
2025-11-16 21:40:47 +00:00
Vaxry
3534dbdb89
ci: translation note fix
2025-11-16 21:19:36 +00:00
Lone Detective
6e2fe103bc
i18n: add Malayalam translations ( #12345 )
2025-11-16 21:18:17 +00:00
bea4dev
7910bc42af
renderer: fix fractional scale artifacts ( #12287 )
2025-11-16 21:17:05 +00:00
Aivaz Latypov
0770494ddf
i18n: add Russian translations ( #12335 )
2025-11-16 20:56:00 +00:00
Vaxry
49c0c97c5a
CI: fix translator
2025-11-16 20:55:15 +00:00
Vaxry
e948445f6e
CI: minor translation fixes
2025-11-16 20:22:07 +00:00
Álvaro Salcedo García
7a6177532b
i18n: add Spanish translations ( #12334 )
2025-11-16 20:09:08 +00:00
Vaxry
f0de61ca21
CI: run translator in pull_request_target for comment access
2025-11-16 19:34:36 +00:00
Vaxry
c02a6184d3
CI: add a fail note to translation ci
2025-11-16 19:32:26 +00:00
Vaxry
15b4b1dd91
ci: fix comment workflow for translations
2025-11-16 19:01:22 +00:00
Mihai Fufezan
a6b877fec2
CMake: prepopulate GIT vars from env
2025-11-16 20:33:01 +02:00
Mihai Fufezan
d2d1613e4f
Nix: fix GIT_* env vars
2025-11-16 20:33:01 +02:00
Aditya An1l
c7e14ecd30
i18n: Add Hindi translations ( #12324 )
2025-11-16 18:28:50 +00:00
Vaxry
9321f52e07
CI: Add AI translation checks ( #12342 )
...
Adds AI-driven translation checks for translation MRs. Uses GPT-5-Mini.
Runs on a new translation MR, or can be manually triggered by me with "ai, please recheck"
2025-11-16 18:28:16 +00:00
Giacomo Zama
b04e8e00b0
cursor: fix m_cursorSurfaceInfo not being updated while a cursor override is set ( #12327 )
2025-11-16 17:43:55 +00:00
Lumine
5b373ea9f5
i18n: add French translations ( #12330 )
2025-11-16 17:10:40 +00:00
Virt
d52639fdfa
i18n: init german translations ( #12323 )
2025-11-16 15:54:43 +00:00
Vaxry
e616e595ae
i18n: init localization for ANR, Permissions and Notifications ( #12316 )
...
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>
2025-11-16 14:51:14 +00:00
Jochim
cb47eb1d11
deco/groupbar: add groupbar blur ( #12310 )
2025-11-16 12:23:45 +00:00
Vaxry
9b006b2c85
plugin/hook: disallow multiple hooks per function ( #12320 )
...
this was never safe. After recent changes, it's become even less so. Just disallow it.
ref #11992
2025-11-16 12:01:48 +00:00
Alexandru Spînu
b35f78431f
cursor: ensure cursor reset on changed window states ( #12301 )
2025-11-15 19:23:32 +00:00
Lucas Ritzdorf
b62ab4b578
cmake,meson: fix inclusion of GPG info in Git commit info ( #12302 )
...
This manifested for me as a failure to build plugins with `hyprpm`, but
the root cause was GPG data getting incorporated into `src/version.h`,
like so:
```c
#define GIT_COMMIT_MESSAGE "gpg: Signature made Sun 09 Nov 2025 03:31:36 PM PST
gpg: using EDDSA key E26A4A2AB9676F54149F8EAA665806380871D640
gpg: Can't check signature: No public key
version: bump to 0.52.1"
```
This affected both `GIT_COMMIT_MESSAGE` and `GIT_COMMIT_DATE`, since
those are generated via `git show` (which can generate that extra GPG
info if the user's personal Git config sets `log.showSignature`).
See: https://github.com/hyprwm/Hyprland/discussions/12282
2025-11-15 19:23:19 +00:00
Hiroki Tagato
43527d3634
internal: fix crash at startup on FreeBSD ( #12298 )
...
Hyprland at the latest commit crashes at starting up on FreeBSD with
SIGSEGV. Checking the validity of g_pXWayland->m_wm before calling
updateWorkArea() appears to fix the issue.
2025-11-13 22:06:34 +00:00
Hiroki Tagato
55a93b8a52
internal: put Linux-only header behind ifdef ( #12300 )
2025-11-13 22:06:25 +00:00
Vaxry
64ee8f8a72
layout: include reserved area in float fit ( #12289 )
...
Ref https://github.com/basecamp/omarchy/issues/3327
2025-11-13 00:08:04 +00:00
Vaxry
b77cbad502
screencopy: fix possible crash in renderMon()
2025-11-12 22:43:46 +00:00
Luke Barkess
308226a4fc
config/keybinds: add a submap universal keybind flag ( #12100 )
2025-11-11 22:59:21 +00:00
bea4dev
ee2168c665
renderer/ime: fix fcitx5 popup artifacts ( #12263 )
2025-11-11 20:43:43 +00:00
usering-around
c330d4334f
renderer: fix noscreenshare layerrule popups ( #12260 )
2025-11-11 20:42:53 +00:00
Tom Englund
cadf922417
presentation: only send sync output on presented ( #12255 )
...
as protocol states there is two events. 'presented' or 'discarded'.
wp_presentation_feedback::sync_output
As presentation can be synchronized to only one output at a time, this event tells which output it was.
This event is only sent prior to the presented event.
2025-11-11 20:00:59 +00:00
Chudnikov Alexander
ac8edc6a80
internal: fix subtractWindow typo for POSYSTR ( #12259 )
...
This type really pisses me off
2025-11-11 16:11:54 +00:00
Dominick DiMaggio
b2ea6b010c
renderer: Allow DS for surfaces with inert subsurfaces ( #12133 )
2025-11-11 12:18:15 +00:00
Mihai Fufezan
0b1d690676
flake.nix: update guiutils and override hw-s
2025-11-10 08:15:26 +02:00
Mihai Fufezan
2931184921
CI/release: populate git info ( #12247 )
2025-11-09 20:50:56 +00:00
Aurelle
0bd11d5eb9
protocols/layershell: do not raise protocol error if layer surface is not anchored ( #12241 )
2025-11-09 15:59:14 +00:00
nikromen
06b37c3907
protocols/outputMgmt: fix wlr-randr by defering success event until monitor reloads ( #12236 )
...
wlr-randr disconnects immediately after receiving success event, but
before applying the monitor configuration. This causes the state to be
lost when performMonitorReload() is called.
By postponing the success event until the call of the hook
monitorLayoutChanged we ensure the configuration to remain valid during
the reload process.
2025-11-08 23:45:53 +00:00
Mihai Fufezan
522edc8712
meson: fix version.h install location
2025-11-07 21:08:40 +02:00
Vaxry
f56ec180d3
version: bump to 0.52.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
Nix / test (push) Has been cancelled
2025-11-07 16:39:26 +00:00
UjinT34
fd50e78bc9
render/cm: change non_shader_cm ignore behavior and set default to it ( #12210 )
2025-11-07 15:58:25 +00:00
Vaxry
061981201d
core: qtutils -> guiutils ( #12231 )
...
* core: qtutils -> guiutils
* nix: qtutils -> guiutils
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-11-07 15:48:13 +00:00
Dominick DiMaggio
3fc8cb828c
cm: follow preferred srgb eotf for screencopy ( #12230 )
2025-11-07 14:02:26 +00:00
Amadej Kastelic
1ca6058bda
chore: fix non-relative imports ( #12228 )
2025-11-06 20:32:08 +00:00
bea4dev
ca4b68e425
renderer: fix fractional scale artifact ( #12219 )
2025-11-06 19:18:16 +00:00
Tom Englund
8e8bfbb0b1
protocols: add Fifo-v1 and commit-timing-v1 ( #12052 )
...
* 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.
2025-11-06 13:25:49 +00:00
Alvaro Parker
c757fd375c
compositor: block parent window interaction when modal dialog children window is open ( #12057 )
2025-11-06 00:06:31 +00:00
vaxerski
46b71eda64
[gha] Nix: update inputs
2025-11-04 15:15:08 +00:00
André Silva
d82538c69f
protocols/dmabuf: handle null pointer in CLinuxDMABufV1Protocol::resetFormatTable ( #12207 )
2025-11-04 15:13:50 +00:00
Matteo Golinelli
8e9add2afd
sessionlock: fix crash when sendScale is called on a disconnected ( #12171 )
2025-10-31 00:15:18 +00:00
Vaxry
5e6cec962c
cursor: refactor override handling ( #12166 )
...
much cleaner and more reliable. Should fix https://github.com/hyprwm/Hyprland/issues/12088
2025-10-31 00:14:08 +00:00
Vaxry
6ade4d58ca
layout: fit floating window on toggle to float ( #12139 )
2025-10-29 23:21:28 +00:00
Vaxry
83a0a62004
protocols/core: round dnd drop surface box
2025-10-29 17:20:44 +00:00
Dominick DiMaggio
ff50dc36e9
renderer/cm: allow gamma 2.2 instead of sRGB EOTF ( #12094 )
2025-10-29 12:53:42 +00:00
jmanc3
ce9787b3f4
xwayland: set _NET_WORKAREA property ( #12148 )
2025-10-29 11:24:34 +00:00
Mihai Fufezan
9eb82774e5
Nix: build hyprtester along with hyprland
2025-10-29 12:18:29 +02:00
Mihai Fufezan
a2f48ea418
CMake: allow building hyprtester without running tests
2025-10-29 12:18:29 +02:00
Mihai Fufezan
309c3c7848
Nix/tests: wl-copy -> wl-clipboard
2025-10-27 23:49:49 +02:00
Mihai Fufezan
0907fdf49c
CI/release: run cmake configure
2025-10-27 23:47:35 +02:00
Vaxry
431325ff0c
config/rule: don't populate ID field for automatically id-managed workspaces
2025-10-27 21:29:35 +00:00
Mihai Fufezan
40831a90a0
Nix/tests: add wl-copy
2025-10-27 23:25:54 +02:00
Vaxry
b186d3bf1b
pass/surface: check for LS size anim for misaligned fractional
2025-10-27 17:22:04 +00:00
Vaxry
560c53d87d
monitor/dpms: fix possible invalid state
...
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
2025-10-27 13:34:14 +00:00
Mihai Fufezan
fd42e9d082
CI/release: remove generateVersion call
...
Addresses https://github.com/hyprwm/Hyprland/pull/12110#issuecomment-3442583784
2025-10-26 21:27:49 +02:00
Dominick DiMaggio
17d0d696be
screencopy: wait longer to re-enable DS ( #12135 )
2025-10-26 18:57:20 +00:00
JS Deck
88e34d7dd2
IME: do not share keys/mods states from grabbed keyboards with ime keys/mods ( #11917 )
2025-10-26 18:54:48 +00:00
Vaxry
05aa4e1c54
compositor: check for monitor layout issues post rule apply
...
fixes #12108
2025-10-26 13:52:09 +00:00
Vaxry
748d2f656e
xdg-shell: implement invalid parent errors
2025-10-26 12:34:35 +00:00
Tom Englund
6ea4769b39
EGL: minor egl changes ( #12132 )
...
* opengl: use EGLint and we dont have to cast data
use EGLint in the attrib array and we dont have to cast the resulting
data.
* opengl: add linear to correct vector
drop empty check, what if we get mods that isnt linear. then it wont be
added, also add it to the result vector that we actually return.
2025-10-25 20:36:02 +01:00
Virt
72cbb7906a
layer-shell: fix fullscreen alpha when changing layers ( #12124 )
...
* layer-shell: fix fullscreen alpha when changing layers
* this is intended
* ooops
* ooops #2
2025-10-25 18:53:01 +01:00
Tom Englund
b6f946991d
meson: disable lto ( #12129 )
...
seems to accidently got enabled again in 019589e
2025-10-25 15:19:47 +01:00
ccos89
b10b966000
screencopy: fix missing XBGR2101010 format with screencopy_force_8b ( #12125 )
...
Adds missing DRM_FORMAT_XBGR2101010 to screencopy_force_8b that leads to
"no more input formats" Pipewire error for monitors set to 10-bit color
depth/where currentFormat is XBGR2101010.
Fixes implementation of #11623
Fixes hyprwm/xdg-desktop-portal-hyprland#270
Fixes hyprwm/xdg-desktop-portal-hyprland#102
2025-10-25 11:57:46 +01:00
Vaxry
da04afa44e
surface: fix xwayland zero scaling damage calcs ( #12123 )
2025-10-24 22:19:21 +01:00
Filip Mikina
34812c33db
hyprctl: include color management presets and sdr information ( #12019 )
...
* 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
2025-10-24 20:18:39 +01:00
ItsOhen
117e38db35
cmake: fix git lookup for when building out of srcdir( #12116 )
2025-10-24 19:13:38 +01:00
crossatko
151b5f6978
dwindle: rework split logic to be fully gap-aware ( #12047 )
2025-10-24 19:01:05 +01:00
vaxerski
aa5a239ac9
[gha] Nix: update inputs
2025-10-23 19:51:54 +00:00
nnra
019589e23f
build: replace generateVersion.sh ( #12110 )
...
* 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
2025-10-23 20:50:32 +01:00
Vaxry
057695bc3f
desktopAnimationMgr: don't set fade 0 for members of a fs group ( #12091 )
...
fixes a flash of opacity that shouldnt be there
2025-10-22 11:32:42 +01:00
Vaxry
892f642f58
plugins: incorporate hyprdep ABI into plugin info ( #12001 )
2025-10-21 22:47:50 +01:00
Vaxry
d560c26419
internal: fix cf
2025-10-21 22:47:06 +01:00
Vaxry
02b0c563f3
xwm: attempt to guess mime in sendData for DnD
2025-10-21 19:11:18 +01:00
Vaxry
4926332c37
monitor: remove spammy trace log
2025-10-21 19:11:18 +01:00
Mozzarella32
46dab01bcc
renderer: add more uniforms to the screen shader ( #11986 )
...
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)
2025-10-20 12:22:50 +01:00
vaxerski
474cd004df
[gha] Nix: update inputs
2025-10-20 11:14:45 +00:00
0rtz
a4200acfa6
input: fix refocus on grab dismiss ( #12014 )
2025-10-20 12:13:27 +01:00
MithicSpirit
59ff7b2f89
dispatchers: add forceidle ( #11922 )
...
The forceidle dispatcher resets all ext-idle-notify timers as if the
user had been idle for the specified number of seconds. If a
notification has already fired, but would now be set with a nonzero
delay, then it is reset. Conversely, if a timer has not yet fired, but
would now be set to a nonpositive delay, then it is immediately fired.
This process ignores any existing inhibitors, but timers are otherwise
reset as normal if any new inhibitors are created or destroyed.
2025-10-19 13:54:27 +02:00
Vaxry
ba077d8ff0
renderer: clean up surface UV size calcs, fix issues ( #12070 )
2025-10-19 02:56:55 +02:00
Bang Lee
39d62e1487
protocols: fix output power protocol not sending mode confirmation ( #12072 )
...
Use setDPMS() instead of directly manipulating m_dpmsStatus to ensure the dpmsChanged event fires and protocol
clients receive mode change confirmation via sendMode().
2025-10-18 20:44:55 +02:00
Mozzarella32
6607c6440d
renderer: add 1fv and 2fv uniform support ( #12080 )
2025-10-18 13:34:33 +02:00
Mozzarella32
f3e13193a6
timer: constify methods ( #12079 )
2025-10-18 13:34:07 +02:00
Matteo Golinelli
8164b90bc2
config: fix crash when some configurations include non-integer values ( #12056 )
2025-10-16 15:33:06 +02:00
Vaxry
36c0477dd0
tests: disable shortcut test for ci
2025-10-16 14:32:26 +01:00
Virt
ab11af9664
ext-foreign-toplevel: remove stale entries when remapping ( #12037 )
2025-10-15 14:37:39 +02:00
Vaxry
e40873be51
renderer: add cursor:zoom_disable_aa for controlling AA on zoom ( #12025 )
2025-10-15 14:08:34 +02:00
Vaxry
60529e810d
renderer: round box in damageBox
2025-10-15 00:37:07 +01:00
Vaxry
f324a3a564
functionHook: fix distance check
2025-10-14 19:31:49 +01:00
Vaxry
ee5d05f0fc
hookSystem: fix anchor point for mmap
2025-10-14 13:39:22 +01:00
Mihai Fufezan
bbb83317c0
Nix: drop ninja for CMake build
2025-10-13 23:15:18 +03:00
Mihai Fufezan
0d6d19b280
Revert "nix: use meson"
...
This reverts commit d505b33665 .
2025-10-13 23:15:18 +03:00
Mihai Fufezan
541ef60fd7
CMake: print pch messages based on var
2025-10-13 23:15:18 +03:00
Vaxry
4b55ec6830
windowrules: add modal prop ( #12024 )
...
adds a modal prop for targeting modal windows with rules
2025-10-13 13:16:48 +01:00
Richard Potter
7fcaf332e8
layouts: apply [min|max]size window rules to dwindle & master layouts ( #11898 )
...
Uses min/max rules in the tiled layouts, akin to pseudotiling
2025-10-13 13:08:40 +01:00
Mihai Fufezan
6582f42db8
meson: disable lto explicitly
2025-10-13 09:27:33 +03:00
Virt
ed93643021
core: disable lto for hyprland builds ( #11972 )
...
LTO has the tendency to remove functions completely by inlining them, which breaks function hooks.
Force disable LTO to not have plugins break.
2025-10-12 02:06:31 +02:00
ItsOhen
d599513d4a
config: add automatic closing to submaps ( #11760 )
...
* Allow submaps to auto reset to parent.
* Really should be a stack instead.
If hyprlang would allow for { } i would be so happy.
* Fixed: Somewhat better way to do it..
Lets you define what submap you want to go to instead.
* squash! Fixed: Somewhat better way to do it..
* God i hate cf..
* Force clang-format on the whole thing..
* Removed {}.
* Added tests
Tests and reset fix.
2025-10-11 02:40:18 +02:00
epsilonshmepsilon
6a01c399a9
input: add option to rotate device input ( #11947 )
2025-10-10 17:05:51 +02:00
Nikolai Nechaev
da31e82aab
internal: prevent early exit processes from being zombies ( #11995 )
...
Prevent `exec`/`exec-once` processes which terminate very early
(before Hyprland declares that it does not want to reap zombies)
from getting stuck as zombie processes.
2025-10-10 17:03:34 +02:00
Tom Englund
32f3233324
dmabuffer: ensure we only create one texture per buffer ( #11990 )
...
buffer can be recomitted, when moving texture creation from constructor
to committime it means same buffer recommit can cause a new texture
unless we store it per buffer and return the pointer for it.
2025-10-10 14:13:14 +02:00
Vaxry
2b0926dcd4
tests: disable one test as it fails on ci
2025-10-10 13:11:32 +01:00
Damino
b965fb2a40
flake.lock: bump hyprutils
2025-10-09 08:35:34 +03:00
Tom Englund
82759d4095
buffer: move texture creation to commit time ( #11964 )
...
* buffer: move texture creation to commit time
move creating texture away from buffer attach into commitstate in an
attempt to postpone gpu work until its really needed. best case scenario
gpu clocks have ramped up before because we are actively doing things
causing surface states and a commit to happend meaning less visible lag.
* buffer: simplify texture creation
make createTexture return a shared ptr directly, remove not needed
member variables as m_success and m_texture.
2025-10-08 22:25:55 +02:00
Linux User
0dc45b54f3
managers/helpers: add missing includes ( #11969 )
...
* 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
2025-10-08 22:24:40 +02:00
Nj0be
ba24547d3d
dispatchers: add set, unset and toggle to fullscreen ( #11893 )
...
Add set, unset and toggle to fullscreen
2025-10-08 11:07:55 +01:00
Tom Englund
5ba2d2217b
compositor: make wl_surface::frame follow pending states ( #11953 )
...
* compositor: make pending states store frame callbacks
move frame callbacks to pending states so they are only committed in the
order they came depending on the buffer wait for readyness.
* buffer: damage is relative to current commit
ensure the damage is only used once, or we are constantly redrawing
things on state commits that isnt a buffer.
thanks PlasmaPower.
* compositor: move callbacks back to compositor
move SSurfaceStateFrameCB back to compositor in the class
CWLCallbackResource as per request, but still keep the state as owning.
* compositor: ensure commits come in order
if a buffer is waiting any commits after it might be non buffer commits
from the "future" and applying directly. and when the old buffer that
was waiting becomes ready it applies its states and overwrites the
future changes.
move things to scheduleState and add a m_pendingWaiting guard. and
schedule the next pending state from the old buffer commit when done.
and as such it loops itself and keeps thing orderly.
2025-10-07 12:49:38 +01:00
Vaxry
5a20862126
hookSystem: use a full trampo setup for hooks
...
instead of planting a longjmp at the fn head, make a shortjmp to a launch trampo
this helps with shortjmps that can be in the fn and will break when relocated. They are very unlikely to occur within the first 5 bytes (jmp rel32) but can happen in the first 10 or so (longjmp)
fixes csgo-vk-fix on latest main with release building on gcc / clang
2025-10-07 12:49:36 +01:00
Vaxry
c3747fab56
hookSystem: fix anchoring in seekNewPageAddr()
...
otherwise we might miss the chance to get an anchor
2025-10-07 01:44:03 +01:00
Vaxry
dc72259a54
core/compositor: revert make wl_surface::frame follow pending states ( #11896 )
...
This reverts commit 17e77e0407 .
Reverted due to severe performance degradation due to accumulating frame
callbacks
2025-10-06 23:44:47 +01:00
Vaxry
02cda6bebf
systeminfo: log system package versions ( #11946 )
2025-10-06 23:20:21 +02:00
rfresh2
73f06434a4
keybinds: fix repeat and long press keybinds release ( #11863 )
2025-10-06 21:10:56 +02:00
Tom Englund
17e77e0407
core/compositor: make wl_surface::frame follow pending states ( #11896 )
...
* compositor: make pending states store frame callbacks
move frame callbacks to pending states so they are only committed in the
order they came depending on the buffer wait for readyness.
* buffer: damage is relative to current commit
ensure the damage is only used once, or we are constantly redrawing
things on state commits that isnt a buffer.
thanks PlasmaPower.
* compositor: move callbacks back to compositor
move SSurfaceStateFrameCB back to compositor in the class
CWLCallbackResource as per request, but still keep the state as owning.
* compositor: ensure commits come in order
if a buffer is waiting any commits after it might be non buffer commits
from the "future" and applying directly. and when the old buffer that
was waiting becomes ready it applies its states and overwrites the
future changes.
move things to scheduleState and add a m_pendingWaiting guard. and
schedule the next pending state from the old buffer commit when done.
and as such it loops itself and keeps thing orderly.
2025-10-06 12:20:04 +01:00
Dave Walker
cfac27251a
debug: fix data race in Debug::log() ( #11931 )
...
* debug: fix data race in Debug::log()
The templated Debug::log() had mutex protection but the non-template
overload it calls didn't, causing crashes when plugins called log from
background threads (like hypr-dynamic-cursors loading cursor themes).
Fixed by moving the mutex lock from the template version into the
non-template version, so all writes to shared state are protected.
Fixes : hyprwm/Hyprland#11929
Fixes : VirtCode/hypr-dynamic-cursors#99
* debug: apply clang-format to Log.cpp
Fix formatting to satisfy CI clang-format check.
---------
Co-authored-by: Dave Walker <dave@daviey.com>
2025-10-05 16:24:49 +02:00
UjinT34
76d998743a
cm: handle inert cm outputs ( #11916 )
2025-10-04 00:35:22 +02:00
vaxerski
b7ef892ecf
[gha] Nix: update inputs
2025-10-03 19:52:11 +00:00
UjinT34
f0b4164e2e
cm: fix primaries to proto scale ( #11914 )
2025-10-03 21:50:57 +02:00
UjinT34
3bcfa94ee4
renderer: add render:non_shader_cm and fixes ( #11900 )
2025-10-02 12:05:54 +02:00
Vaxry
c467bb2640
renderer: fix popup fadeout blur ( #11756 )
...
popups dont get no xray
2025-10-02 12:01:16 +02:00
Vaxry
e0c96276df
renderer: optimize border drawcalls ( #11891 )
...
calculates the specific border region to avoid sampling on regions where the border cannot be at
2025-10-01 12:38:17 +01:00
vaxerski
378438ffe7
config: increase default anr_missed_pings value
...
ref https://github.com/hyprwm/Hyprland/discussions/11884
2025-10-01 12:19:16 +01:00
Vaxry
13648d196a
protocols/seat: force down rounding of coords at the surface edge ( #11890 )
...
ref https://github.com/hyprwm/Hyprland/discussions/11665
2025-10-01 12:15:23 +01:00
UjinT34
8c54c9b412
protocols/cm: remove unneeded preferred ref ( #11877 )
2025-10-01 11:04:49 +01:00
ItsOhen
38c1e72c9d
rules: fix some monitor rules ( #11873 )
2025-09-29 20:10:34 +02:00
UjinT34
0959672591
renderer/cm: add more monitor cm options ( #11861 )
...
Adds more cm options for monitors: DCIP3, Apple P3, Adobe
2025-09-29 13:22:42 +01:00
UjinT34
4d82cc5957
internal: fix clang-tidy "errors" ( #11862 )
2025-09-29 13:10:15 +01:00
Vaxry
43fb4753fc
gestures: fix gesture direction detection ( #11852 )
2025-09-29 12:29:40 +01:00
Tom Englund
f854b5bffb
deco: reduce virtual calls in drop shadow
...
damageEntire() in CHyprdDropShadow is pretty much called per window per
frame, instead of all the PWINDOW-> virtual calls, store pos and size
once and move the duplicated code to a lambda. reducing it a bit.
shows up in profiling as minor waste.
2025-09-28 23:20:52 +02:00
Tom Englund
eb25dfd399
opengl: move from unordered_set to array
...
setCapStatus is a a heavy used function in hot rendering paths, it
shows up in profiling as using a bit of cpu just because of
unordered_set hashing etc, move to a enum and array and cache only the
heavily used ones.
2025-09-28 23:20:52 +02:00
Tom Englund
b627885788
decoration: reduce virtual calls
...
this shows up as top contender in idle cpu usage, because decos in
animations keeps locking weak pointers to shared pointers per window per
frame when its not really needed, use weakpointers all the way and it
drops to a bottom contender. marginal gains in the big picture. but
gains is gains.
2025-09-28 23:20:52 +02:00
Mihai Fufezan
c30036bdac
CI/Arch: build hyprgraphics after hyprutils
...
Ensure no ABI breaks. Hyprgraphics depends on hyprutils.
2025-09-28 19:19:41 +03:00
usering-around
766acadcf1
seat: release depressed modifiers on leave ( #11854 )
2025-09-28 00:05:30 +02:00
omar
ef479ff539
viewporter: clamp sub-pixel overflow ( #11845 )
...
Clamps the pending wp_viewport source rect back inside the attached buffer when it misses by <= 1 px, so if clients request something that falls within the 256-increment wl_fixed_from_double precision error it’s still treated as valid.
2025-09-27 20:14:43 +02:00
ItsOhen
6f1d2e771d
config: fix rules with no parameters not being counted as invalid ( #11849 )
...
Quite a big whoopsie to insert invalid rules.
Also adds special: cases.
2025-09-27 01:04:22 +02:00
ItsOhen
ae445606e2
config: allow negative to be used with tags. ( #11779 )
2025-09-26 18:19:53 +02:00
Nikolai Nechaev
4f3dd1ddb4
config: fix gesture dispatcher parsing with whitespaces ( #11784 )
...
* config: fix gesture dispatcher parsing with whitespaces
Some dispatcher functions (e.g., `moveFocusTo`) expect the given string to be
stripped of whitepsaces.
This fixes `gesture` line parsing: rather than calling dispatcher functions
with the original string, we reuse words parsed by `CConstVarList` and join
them with a comma.
* tests/gestures: Add a test for `movecursortocorner`
2025-09-26 15:49:07 +02:00
ItsOhen
d8f615751a
config: support more than 1 window rule per rule line. ( #11689 )
...
Adds support for specifying multiple rules in one line
2025-09-26 00:33:58 +02:00
João V. Farias
7ce451d20c
renderer: disable anti-aliasing on cursor:zoom_factor ( #6135 ) ( #11828 )
...
use nearest-neighbor filtering for cursor scaling to avoid blurriness
2025-09-25 21:14:04 +02:00
Tom Englund
5212099b9f
layout: avoid nullptr deref ( #11831 )
...
OPENINGON can be a nullptr and that makes FLOATEDINTOTILED to nullptr
deref and segfault.
2025-09-25 15:30:04 +02:00
Tom Englund
8cce3b98ce
shm: refactor to UP and correct m_data check ( #11820 )
...
use unique pointers and rvalue references where applicable, buffer is
still a shared pointer because CHLBufferReference uses it to hold it
locked.
in CSHMPool destructor add a check for m_data != MAP_FAILED same in
resize, because mmap returns (void *) -1 on failure and that is not
comparable to nullptr. delete default constructor so we dont end up in
weird states with m_data.
2025-09-25 01:44:33 +02:00
Tom Englund
683fc77f80
hyprctl: nullptr guard --systeminfo ( #11822 )
...
running Hyprland --systeminfo from a console/tty calls systemInfoRequest
without us having a g_pCompositor or g_pHyprOpengl, so just if check them
and make --systeminfo not segfault and atleast print what info we can.
2025-09-25 01:44:07 +02:00
Vaxry
ec9a72d9fb
workspaces: fix persistence with no monitor specified ( #11807 )
2025-09-23 21:08:30 +02:00
omar
31bd9ec417
foreign-toplevel: continue past skipped invalid windows ( #11804 )
2025-09-23 19:50:57 +02:00
Nikolai Nechaev
29b103c376
exec: Spawn processes as direct children ( #11735 )
...
* exec: Spawn processes as direct children
Spawn processes as children rather than grandchildren.
This way, spawned processes may track Hyprland's state
by watching their parent, either directly or indirectly
(e.g., Linux's `PR_SET_PDEATH_SIG`).
Fixes #11728
* tests/exec: Add the test on process spawning
Add a test that ensures that:
- A spawned process remains a direct child of Hyprland;
- Upon termination, the process does not become a zombie.
2025-09-23 19:32:48 +02:00
Vaxry
70a7047ee1
renderer: fix uv scaling detection ( #11789 )
2025-09-22 13:01:59 +01:00
0xFMD
26f293523a
renderer: add "noscreenshare" layer rule ( #11664 )
2025-09-22 12:26:14 +01:00
Bahaa Mohamed
45f007d412
ci: remove duplicate cp and redundant mkdir commands
2025-09-22 12:31:36 +03:00
Nikolai Nechaev
22c8bc9b9b
CI/Nix: Allow running CI in forks
...
Rather than hardcoding the repository name in the workflow file,
use a context value. This allows running workflows in forks.
2025-09-22 12:30:39 +03:00
Vaxry
26cbc67385
renderer: fix uv calculations once and for all ( #11770 )
...
fixes synchronization of ackd sizes, fixes wrong xdg stuff
2025-09-21 19:27:56 +02:00
Nikolai Nechaev
41dad38177
config: fix multi-argument gesture dispatcher parsing ( #11721 )
...
* config: Fix multi-argument gesture dispatchers parsing
The `dispatcher` gesture handler used to only handle
the first argument to the dispatcher, while some dispatchers
(e.g., `sendshortcut`) want multiple arguments.
This fixes `ConfigManager` to handle all the arguments
provided to the dispatcher gesture handler.
Fixes #11684 .
* test/gestures: Add a test for a gesture with a multi-argument dispatcher
* test/gestures: Factor out `waitForWindowCount`
Reduce code duplication in the gestures test.
2025-09-20 17:57:49 +02:00
JS Deck
838439080a
vkeyboard: update cached mods before IME; add share_states = 2 config option ( #11720 )
2025-09-20 17:57:39 +02:00
ItsOhen
6a88f2e880
monitors: auto apply suggested scale and notify the user. ( #11753 )
2025-09-20 17:42:02 +02:00
vaxerski
8832607574
[gha] Nix: update inputs
2025-09-19 14:59:16 +00:00
usering-around
8fc7b2c171
input: fix virtual keyboard keymaps ( #11763 )
2025-09-19 16:58:03 +02:00
REVO9
afd1e71761
renderer: fix inconsistent border thickness for roundingPower < 2 ( #11752 )
2025-09-19 00:34:54 +02:00
Vaxry
4fc95d646d
renderer: asynchronously load background tex ( #11749 )
...
Bumps required hyprgraphics to 0.1.6
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-09-18 22:10:30 +02:00
Vaxry
91f592a875
workspace: fix relative workspaces with monitor descs
2025-09-18 20:46:57 +01:00
Vaxry
059ec60e9f
hyprpm: make temp root if not present
2025-09-18 13:25:04 +01:00
nikitax44
5648077978
animation: fix slide/slidefade to accept forced direction ( #11725 )
2025-09-18 13:53:28 +02:00
Vaxry
1cb8cd3930
solitary: fix check for config error ( #11733 )
...
Adds a blocker for solitary optimizations if there is a hyprerror present
2025-09-17 14:03:49 +02:00
Vaxry
7fd6998f7c
core: fix clang-format
2025-09-17 13:02:56 +01:00
Vaxry
5e96fac52f
presentation: fix vrr check for reporting no refresh time
...
ref #11608
2025-09-16 00:09:30 +01:00
Vaxry
4a9c4dbc04
gestures/fs: fix typo
...
fixes #11678
2025-09-15 22:30:08 +01:00
Vaxry
9e74d0aea7
renderer: clamp blur:passes 1-8
...
fixes some UB and dumb things
ref #11707
2025-09-15 12:44:12 +01:00
Vaxry
559024c331
gestures/float: fix typo
2025-09-14 01:52:41 +01:00
ItsOhen
16c18dde24
windows: fix no decorate not disabling borders ( #11673 )
2025-09-13 16:37:02 +02:00
Stanislav Senotrusov
adbf7c8663
input: handle tablet active area scaling when axes swap due to rotation ( #11661 )
...
Some tablet rotation modes (90°, 270°, and flipped variants) swap the X and Y axes.
This change adjusts the effective physical size based on axis orientation
to ensure tablet active area coordinates are normalized correctly.
2025-09-13 01:11:30 +02:00
0xFMD
797bfe905e
dispatchers: fix movecursor not updating client pos ( #11672 )
2025-09-11 21:52:30 +02:00
usering-around
38169c8fdd
input: support xkb v2 format ( #11482 )
2025-09-11 19:42:20 +02:00
Florian "sp1rit
c7b9969129
render/OpenGL: fix compilation for 32bit systems ( #11667 )
2025-09-11 19:41:33 +02:00
Mihai Fufezan
231b800784
flake.lock: update
2025-09-11 18:54:08 +03:00
Mihai Fufezan
8a959b4342
meson: set minimum version
2025-09-11 18:53:13 +03:00
Vaxry
46174f78b3
version: bump to 0.51.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
Nix / test (push) Has been cancelled
2025-09-10 13:41:05 +01:00
Maximilian Seidler
b8cff8a434
input: focus when first keyboard is added and m_lastFocus is set ( #11645 )
2025-09-10 12:22:45 +02:00
Levizor
150d693fe7
hyprctl: add an active layout index field in devices ( #11531 )
2025-09-09 14:19:51 +01:00
jmanc3
ecc9e4d8cd
window: fix centering calculation for floating windows ( #11632 )
2025-09-09 12:56:33 +01:00
Vaxry
1e3a06560f
gestures: add unset
...
ref https://github.com/hyprwm/Hyprland/pull/11490
2025-09-08 20:24:51 +01:00
vaxerski
b619f39555
[gha] Nix: update inputs
2025-09-08 09:08:22 +00:00
Vaxry
02bb350bb3
screencopy: add force 8 bit to fix 10b screensharing ( #11623 )
...
ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/270
2025-09-08 11:07:04 +02:00
Dominick DiMaggio
bce43f74eb
presentation: handle vrr for v1 clients ( #11608 )
2025-09-06 19:43:03 +02:00
0xFMD
56dd1124ab
animation: fix slide/slidevert to accept params ( #11574 )
2025-09-06 19:24:17 +02:00
Vaxry
4e785d12a9
protocols/kde-deco: fix tug of war in deco mode
...
fixes #11591
2025-09-04 10:16:54 +01:00
Vaxry
127aab8159
input: add per-device scroll-factor ( #11241 )
2025-09-02 13:16:43 +02:00
Matteo Golinelli
78e86d879f
config: fix crash when monitor position contains non-integer values before/after 'x' ( #11573 )
2025-09-02 13:16:26 +02:00
jmanc3
00423bb738
plugins: expose csd functionality ( #11551 )
2025-09-02 11:49:24 +02:00
jmanc3
8a64168a43
window: treat maximize as toggle request ( #11564 )
...
Breaks the spec, but fixes a few issues due to how we always communicate to the apps that they are maximized in xdg_shell.
2025-09-01 22:44:41 +02:00
Mihai Fufezan
641d85b14e
CMake: fix tests message
2025-09-01 22:57:25 +03:00
0xFMD
5bb8adbc32
dispatchers: allow window address in swapwindow ( #11518 )
2025-08-31 18:14:39 +02:00
Ikalco
ea42041f93
protocols: implement pointer-warp-v1 ( #11469 )
2025-08-29 22:16:40 +02:00
UjinT34
05a1c0aa73
renderer: Fix CM for DS and SDR passthrough ( #11503 )
2025-08-29 13:31:07 +02:00
Vaxry
790e544689
config: update environment if cfg changes live ( #11508 )
2025-08-29 11:16:11 +02:00
Vaxry
a209f9911c
window: allow rounding power of 1
...
supersedes #11510
2025-08-29 11:12:37 +02:00
jmanc3
4b2bfbd85f
xwayland: fix game permanent blackscreen ( #11542 )
2025-08-28 11:22:00 +02:00
jmanc3
4e8657568c
xwayland: handle minimize and maximize requests ( #11536 )
2025-08-28 11:21:36 +02:00
Vaxry
81bf4eccba
input: Add fully configurable trackpad gestures ( #11490 )
...
Adds configurable trackpad gestures
2025-08-28 11:20:29 +02:00
vaxerski
378e130f14
[gha] Nix: update inputs
2025-08-27 20:18:24 +00:00
Vaxry
d7cf95b515
tablet: remove old comment
2025-08-27 22:16:46 +02:00
Vaxry
0ed880f3f7
protocols/activation: revert send an invalid token when serial isn't valid ( #11505 )
...
This reverts commit d9cf1cb78e .
See discussion in #11505
2025-08-24 22:59:41 +02:00
Tom Englund
b329ea8e96
syncobj: use rendernode for timelines ( #11087 )
...
* 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>
2025-08-24 22:32:13 +02:00
Tom Englund
ced38b1b0f
disable buffer readability checks on intel ( #11515 )
...
* 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.
2025-08-24 08:57:37 +01:00
Ross
d9cf1cb78e
protocols/activation: send an invalid token when serial isn't valid ( #11505 )
2025-08-23 11:45:00 +01:00
UjinT34
0d45b277d6
internal: Solitary clients with single subsurface & verbose solitary/tearing/DS checks ( #11228 )
...
Adds more verbose checks for various conditional rendering mechanisms
2025-08-22 18:24:25 +01:00
jmanc3
e95ba5bf59
renderer: add eRenderStage::RENDER_POST_WALLPAPER ( #11501 )
...
Comes after the wallpaper is rendered, but before all windows and docks are rendered
2025-08-22 18:19:00 +01:00
UjinT34
4e8875b5e9
hdr: scRGB, HLG and SDR -> HDR fixes ( #11499 )
2025-08-22 11:13:55 +01:00
Hleb Shauchenka
fdf1612f0f
windowrules: Add novrr dynamic window rule ( #11370 )
2025-08-22 10:48:42 +01:00
jmanc3
42caff5587
window: fix requestedMinSize crash ( #11498 )
...
There are cases where m_isX11 is true but m_xwaylandSurface doesn't exist.
2025-08-22 08:25:27 +01:00
vaxerski
50a242f16a
config: add dim_modal
...
fixes #11486
2025-08-21 14:59:20 +02:00
vaxerski
1ac1ff457a
touch: detach from pointer input
...
this detaches touch from pointer input. Touch should not affect where your cursor is, and it doesn't make much sense for it to move when we use touch
2025-08-20 13:01:31 +02:00
vaxerski
9a20206945
touch: fix popup coordinates for touch down
...
fixes #10626
2025-08-20 12:22:18 +02:00
Mike Will
10cec2b7e2
dwindle: simplify split_bias logic and set of possible values. ( #11448 )
2025-08-19 19:32:37 +01:00
Linux User
d0d728c6a6
render: include numbers header ( #11475 )
...
Fixes error `no member named 'numbers' in namespace 'std'` on llvm/musl
2025-08-19 19:31:01 +01:00
Aaron Tulino
3370a6a83d
monitor: fix dpms toggling animations when state is unchanged ( #11480 )
2025-08-19 19:30:26 +01:00
UjinT34
1d67987459
hdr: fix overrides and missing edid hdr metadata ( #11476 )
2025-08-19 19:28:52 +01:00
Tom Englund
1a0ed00f74
protocols/wayland: use UP and rvalue refs for callbacks ( #11471 )
...
use UP and rvalue refs in CWLCallbackResource and m_callbacks.
2025-08-18 16:42:19 +01:00
Luke Barkess
21953ddf3d
hyprctl: add getprop ( #11394 )
2025-08-18 16:41:17 +01:00
Hato
d890178610
internal: reference command-line arguments instead of copying them ( #11422 )
...
Eliminates the need to copy command-line arguments into a std::vector<std::string>, reducing memory usage and improving performance by referencing the original arguments directly.
2025-08-17 20:18:51 +01:00
Kamikadze
bca96a5d3b
protocols: Fix fading out windows with noscreenshare being visible ( #11457 )
2025-08-17 20:17:22 +01:00
vaxerski
dfe58c4809
compositor: mark createNewWorkspace as nodiscard
...
discarding this makes the call do nothing but waste cycles
2025-08-17 20:33:04 +02:00
vaxerski
e8731883a5
compositor: fix new workspace being lost in moveWorkspaceToMonitor
...
with the move to refcounting workspaces, createNewWorkspace would've lost the ref
fixes #11385
2025-08-17 20:33:04 +02:00
Vaxry
0840103ae0
renderer: improve modeset timings ( #11461 )
...
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.
2025-08-17 17:14:29 +01:00
Vaxry
251288ec59
renderer: add dpms animations ( #11452 )
2025-08-17 08:37:13 +01:00
Vaxry
3d4dc19412
renderer: improve zoom in anims ( #11453 )
...
Removes `animations:first_launch_animation` as it's useless now
2025-08-16 20:02:15 +01:00
vaxerski
78c9e2080c
framescheduler: fix edge case crashes
...
rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...)
fixes #11073
2025-08-16 16:52:40 +02:00
Maaz Ahmed
1cbb62ed6a
masterlayout: add previous mode for focusmaster command ( #11361 )
2025-08-16 14:42:23 +01:00
Martin
7580a9aaaa
renderer: Add rounding power setting to groupbar and gradient roundness. ( #11420 )
2025-08-16 14:14:14 +01:00
Aditya Lohuni
edc473e8b0
xwayland: prevent infinite event loop in XWM clipboard transfers ( #11427 )
...
Only recreate event source when onWrite() returns 1 (needs continuation).
Prevents infinite loop when no valid transfers are available, fixing high
CPU usage and error spam.
2025-08-15 18:04:39 +01:00
Nihal Jere
aaedce596e
protocols: implement ext-data-control ( #11323 )
...
This protocol has superseded wlr-data-control
2025-08-15 15:38:28 +01:00
vaxerski
60d769a899
internal: unify VT getting
2025-08-14 17:13:23 +02:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts ( #11377 )
2025-08-14 15:44:56 +01:00
Arnaud
aa6a78f0a4
internal: Ensure unique identifiers for persistent workspaces ( #11409 )
2025-08-13 08:45:34 +01:00
David Baucum
2b6e2ceb2e
config: Hardened config logic against Time-Of-Check race conditions ( #11368 )
2025-08-12 20:11:21 +01:00
Martin
449d5e1113
internal: add missing c includes ( #11417 )
2025-08-12 20:07:19 +01:00
vaxerski
cb6589db98
misc: remove commas from device names
...
ref #11399
2025-08-11 20:01:33 +02:00
vaxerski
584b844aaf
[gha] Nix: update inputs
2025-08-10 16:52:29 +00:00
Maxime Nordier
69c3ab1a49
tablet: do not lock focus when dnd-ing ( #11390 )
2025-08-10 17:51:14 +01:00
Vaxry
00da4450db
renderer: minor fixups to uv calcs ( #11375 )
...
Fixes #11374
2025-08-08 16:14:02 +02:00
Iman Seyed
afbd879685
configWatcher: fix inotify event reading buffer size ( #11337 )
...
Read full variable-length inotify_event structure instead of just the
fixed-size header. The previous code only read sizeof(inotify_event)
bytes, missing the trailing name field, which could cause truncated
events and undefined behavior.
2025-08-07 18:15:28 +02:00
Fazzi
6a1baa89b1
nix/lib: add bezier to topCommandsPrefixes
...
if any custom beziers are defined in animations, hyprland will complain
that the beziers haven't been defined. I think this change makes sense
as its likely most configurations are defining custom beziers anyway.
2025-08-07 11:27:02 +03:00
Vaxry
a4529beb7c
master: avoid crash if openingon null in onWindowCreated
2025-08-06 23:47:47 +02:00
Vaxry
d1c8dc5420
hyprtester: drop gcc flag
2025-08-06 22:46:26 +02:00
Vaxry
ec26b753a2
descriptions: fix bad json output ( #11350 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-08-06 16:28:07 +02:00
Sv. Lockal
0c317f2508
internal: Fix compilation with libc++ ( #11355 )
...
Build with libc++ (Clang-20, Gentoo LLVM profile) fails due to transitive include with:
```
s_Sys.cpp.o -c ../hyprland-source/hyprpm/src/helpers/Sys.cpp
../hyprland-source/hyprpm/src/helpers/Sys.cpp:24:24: error: implicit instantiation of undefined template 'std::basic_ostringstream<char>'
24 | std::ostringstream oss;
| ^
/usr/include/c++/v1/__fwd/sstream.h:28:28: note: template is declared here
28 | class _LIBCPP_TEMPLATE_VIS basic_ostringstream;
| ^
1 error generated.
```
2025-08-06 14:01:02 +02:00
Moh Oktavi Aziz Nugraha
3c6536d932
config: format animation config as table for readability ( #11326 )
2025-08-05 19:31:32 +02:00
Vaxry
2859f1b795
keybinds: use the triggering keyboard for repeat timings ( #11309 )
2025-08-05 15:54:55 +02:00
JS Deck
2be309de1d
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states ( #11214 )
2025-08-04 21:29:39 +02:00
WhySoBad
6491bb4fb7
hyprctl: Include physical monitor size in IPC monitor info ( #11276 )
2025-08-04 21:28:54 +02:00
Vaxry
1b86d35f7e
popup: remove wlSurface ownership on destroy
...
fixes #11320
2025-08-03 22:55:02 +02:00
Vaxry
549f5e8dff
popup: fix animation configs
2025-08-03 16:48:12 +02:00
Vaxry
0f1484c2f4
subsurface: check surface size in damageLastArea
...
akin to CPopup, which already does this
2025-08-03 16:42:54 +02:00
Vaxry
f6d8e86439
popup: imorove logging, use fadeAlpha for opacity
2025-08-03 16:39:54 +02:00
Vaxry
61826dc7ac
renderer: fix snapshot coords
2025-08-03 16:19:36 +02:00
Vaxry
855d103aef
renderer: add popup fade-in-out ( #11313 )
...
Adds xdg popup fade-in and fade-out
2025-08-03 13:44:50 +02:00
Vaxry
77068c781d
screencopy: multiply box pos by scale
...
fixes #11299
2025-08-03 13:28:24 +02:00
Vaxry
bfe7e090bc
hyprctl: fix typo in seterror
...
fixes #11297
2025-08-03 13:21:29 +02:00
Vaxry
824438949e
renderer: apply default luma for reverting back to srgb
...
fixes #11315
2025-08-02 16:21:08 +02:00
Rico
f1f1161c17
dwindle: fix single_window_aspect_ratio not updating with config reload ( #11305 )
...
* dwindle: fix single_window_aspect_ratio not updating with config reload
* refactor: dereference instead of using ptr method
2025-08-02 15:24:18 +02:00
Vaxry
e1e23eb9bd
screencopy: avoid crash on cm disabled
...
fixes #11310
closes #11312
2025-08-02 14:35:20 +02:00
vaxerski
c14f792f8f
[gha] Nix: update inputs
2025-08-02 11:41:47 +00:00
UjinT34
310fc629b0
protocols: fix presentation time proto version ( #11306 )
2025-08-02 13:40:28 +02:00
Jerry Tan
314a0ea441
LICENSE: Update year ( #11301 )
...
Update license year from 2022-2024 to 2022-2025
2025-08-01 11:17:46 +02:00
Vaxry
9607e3b5a8
screencopy: un-hdr screencopy buffers for cm-unaware clients ( #11294 )
2025-07-31 18:07:59 +02:00
Vaxry
a907ecd4ff
opengl: improve render fn arg clarity ( #11286 )
2025-07-31 16:23:09 +02:00
Martin
3e35797b18
fix: add climits includes ( #11288 )
2025-07-31 01:12:05 +02:00
Maxime Nordier
23be1db1e3
dnd: drop on tablet pen tip up ( #11270 )
2025-07-30 22:37:36 +02:00
Maximilian Seidler
f309d86003
session-lock: explicitly consider dpms states for sending locked or denied ( #11278 )
...
* session-lock: explicitly consider dpms states for sending locked or denied
* session-lock: check for active monitors before locking
2025-07-30 22:36:02 +02:00
ryincler
38e13282cd
flake.lock: bump hyprutils
2025-07-30 18:13:28 +03:00
Vaxry
84c5e74459
build: bump hu dep to 0.8.2
2025-07-30 11:55:09 +02:00
Tom Englund
36a8b2226f
renderer: use CRegion foreach over getRects ( #10980 )
...
instead of allocating and returning a vector, use forEach to directly
call a function on the rects.
2025-07-30 11:54:09 +02:00
Vaxry
43966cc787
foreign-toplevel: update monitor properly on changed
...
fixes #11197
2025-07-29 21:59:35 +02:00
JS Deck
f51be7f201
layers: check monitor is not null on animation update ( #11267 )
2025-07-29 18:02:29 +02:00
Vaxry
66a6ef3859
core: disable esync for non-linux kernels
...
ref #10437 , BSD doesn't support timeline fds
2025-07-29 17:55:56 +02:00
Vaxry
745a671ce6
input: don't reload xkb configs if settings didnt change
...
fixes #9105
2025-07-29 17:25:27 +02:00
Vaxry
abe29647ae
monitor: fix crash on mutating workspace vec
...
fixes #11236
2025-07-28 22:08:05 +02:00
Vaxry
c63d0003a1
core: fix workspace persistence tracking ( #11239 )
2025-07-27 18:46:23 +02:00
Shelby Tucker
5d4b4ecbfb
input: lock focus for tablet when down ( #11219 )
2025-07-27 15:11:45 +02:00
jmanc3
211199e864
fix: include decorations in visibleOnMonitor calculation ( #11232 )
...
Fixes: https://github.com/hyprwm/Hyprland/discussions/11203
The window turned invisible when just outside the monitor bounds, even though it should have stayed visible given its decorations.
The fix was to include the decorations when determining if a window is on a monitor.
2025-07-27 15:11:07 +02:00
Vaxry
e1fff05d0d
layerSurface: check for monitor validity in startAnimation
...
ref #11168
sometimes on exit monitor might be null
2025-07-26 11:46:07 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos ( #11213 )
2025-07-25 17:19:23 +02:00
Vaxry
fd0c1f2ab4
keybinds: do not reset scroll timer on not passed
...
avoids endless lockups
2025-07-25 14:59:00 +02:00
Vaxry
31cc7f3b87
core: move workspace ptrs to weak ( #11194 )
...
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.
2025-07-24 00:36:29 +02:00
mavonarx
ecc04e8ba7
drm: check syncobj timeline support before advertising protocol ( #11117 )
...
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>
2025-07-23 23:11:07 +02:00
Vaxry
c51c6e38ac
tests: add a few more workspace tests
2025-07-23 20:41:38 +02:00
Florent Charpentier
55f2daa21e
swipe: fix workspace swipe not rendering last frame if target ws is on edge ( #11184 )
...
Fix for a weird behaviour that happens when swipe is only valid in 1
direction (i.e. from ws 1)
When you start a swipe from the only direction possible, then swipe back
(without releasing), the last frame where the delta is reset to 0 was
not being rendered
2025-07-23 20:06:28 +02:00
Nikolaos Karaolidis
2d2a5bebff
core: fix maxwidth resolution mode ( #11183 )
...
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-07-23 12:10:39 +02:00
Tom Englund
6ca7c14b58
CTM: check for finite value aswell ( #11185 )
...
checking for < 0.F will not catch NaN or inf values, use std::isfinite
aswell.
2025-07-23 12:09:19 +02:00
Vaxry
fdbbad04bb
core: enter unsafe state on boot if there are no mons
2025-07-22 11:14:12 +02:00
Karun Sandhu
873914a2a6
CI/Nix: also check for qt version in update script
2025-07-22 09:56:43 +03:00
00-KAMIDUKI
50758505d5
example: make screen shader example compatible with glsl 300 ( #10846 ) ( #11132 )
2025-07-21 21:05:47 +02:00
Vaxry
462729d865
protocols/subcompositor: fix subsurface sorting ( #11136 )
2025-07-20 19:42:40 +02:00
Thomas Müller
bf1602d9f9
renderer: implement wp-color-management-v1 transfer functions ( #11084 )
2025-07-20 18:20:27 +02:00
MightyPlaza
d4de69381e
internal: set value and goal for window size and position on setGroupCurrent ( #11120 )
2025-07-20 17:00:17 +02:00
MirzaSamadAhmedBaig
503fc458d8
internal: replace unsafe strcpy with snprintf ( #11128 )
2025-07-20 15:31:53 +02:00
Vaxry
a3d59b525b
systeminfo: print more render info
2025-07-20 14:51:17 +02:00
Mozzarella32
b7a91e02e9
renderer: Add cursor:invisible to allow to hide the cursor ( #11058 )
2025-07-20 12:40:21 +02:00
Vaxry
58b6eceb6d
sessionlock: fix flipped if condition
2025-07-20 12:33:22 +02:00
Vaxry
91d8a629eb
sessionlock: fix timer logic on unsafe state
2025-07-19 16:48:20 +02:00
Vaxry
8b38353012
eventloop: improve timer handling to avoid crashes
...
ref #11062
2025-07-19 16:47:14 +02:00
Vaxry
3b04131259
eventloop: avoid duplicate timers
2025-07-19 13:31:37 +02:00
Vaxry
d84699d8e5
opengl: detect android fence support and disable explicit if it's missing ( #11077 )
...
Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
2025-07-19 12:38:41 +02:00
MrFantOlas
ae3cc48f22
protocols/gamma: support pipes ( #11076 )
...
Add support for pipes and potentially other valid file descriptors. Add check for more data on the socket than the required amount as per protocol.
---------
Co-authored-by: Alexandre Teixeira <alexandre.teixeira@etu.emse.fr>
2025-07-18 23:20:17 +02:00
Radovenchyk
4adf658907
README: add link to CI from badge ( #11085 )
2025-07-18 21:13:56 +03:00
Mike Will
260a13a12f
snap: use window extents instead of border size ( #11079 )
...
* snap: use window extents instead of border size
`border_overlap` no longer does anything for window snapping, only monitor snapping.
2025-07-18 17:35:43 +02:00
vaxerski
088e8af955
[gha] Nix: update inputs
2025-07-18 10:11:00 +00:00
Vaxry
49abc193f7
framescheduler: check monitor validity in doLater
2025-07-18 12:09:43 +02:00
Vaxry
a05c797e4a
compositor: properly set infinite region on null input
...
fixes #11065
2025-07-17 22:04:20 +02:00
Tom Englund
b46dc9ee0c
framescheduler: dont if check deleted weakpointer ( #11063 )
...
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.
2025-07-17 21:59:20 +02:00
aphelei
75c0675e14
config: add better zoomFactor default ( #11060 )
2025-07-17 18:37:11 +02:00
Vaxry
49d73d1893
config: default drag_lock to 0
2025-07-16 22:39:42 +02:00
boundlessvoid0
409b56f6a3
hyprctl: make animations print details about bezier curves ( #10413 ) ( #10871 )
2025-07-16 21:35:15 +02:00
Vaxry
148718b3bc
socket2: fixup invalid ws passed to openwindow
...
fixes #11044
2025-07-16 18:22:54 +02:00
Vaxry
5349667992
master: add ignoremaster to swapwithmaster
...
fixes #11042
2025-07-16 15:51:11 +02:00
Vaxry
c4a4c34156
version: bump to 0.50.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Nix / hyprland (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / xdph (push) Has been cancelled
Nix / test (push) Has been cancelled
2025-07-16 11:33:42 +02:00
Vaxry
d4fbedcd35
core: never use hw cursors when tearing
2025-07-16 11:33:40 +02:00
Vaxry
5bfe6dc703
config: disable hw on mgpu nvidia by default ( #11018 )
2025-07-16 11:02:20 +02:00
Mike Will
8453fbf4eb
snap: fix border_overlap option for monitor snapping ( #10987 )
2025-07-15 22:24:40 +02:00
UjinT34
e15014e031
protocols/cm: Fix preferred image description ( #11026 )
2025-07-15 19:33:14 +02:00
UjinT34
bc764f7065
protocols: Remove incorrect CM proto debug check and fix preferred image description ( #11023 )
2025-07-14 22:54:43 +02:00
Maximilian Seidler
06fcdbd9c7
renderer: use makeUnique for session-lock render passes ( #11019 )
...
Fixup for a merge conflict introduced by #10865 .
2025-07-14 15:48:50 +02:00
Maximilian Seidler
01971cb6c7
session-lock: don't render workspaces when locked ( #10865 )
...
Avoid rendering the workspace behind if we are locked
2025-07-14 13:13:54 +02:00
Vaxry
d0f58baf29
screencopy: ignore hidden windows in noscreenshare
...
fixes #11002
2025-07-12 18:22:47 +02:00
Vaxry
8bfff87833
debugOverlay: fix tick measurement
2025-07-12 18:19:59 +02:00
Vaxry
6821723b44
splashes: add zacoons' splash
...
winner of the 4th ricing comp
2025-07-11 23:47:48 +02:00
Tom Englund
e589adb00d
config: remove render_ahead* config options
...
remove render_ahead* config options and descriptions. they are unusued.
2025-07-11 17:51:04 +02:00
Tom Englund
523eed048e
xwl: dont mark the even source as readable
...
wl_event_source_check makes the event trigger until onx11event returns non
zero. but we arent removing the event source from the event loop so lets
not mark it at all and recieve spurious constant calls.
2025-07-11 17:51:04 +02:00
Tom Englund
e6bb809663
monintor: remove rathandler
...
is this even used? lets just remove it.
2025-07-11 17:51:04 +02:00
Tom Englund
b5433bb753
singlepixel: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
bcb96c5532
presentation: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
f22b5971d1
dmabuf: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
87653077f8
cursorshape: use unique ptrs
...
less refcounting.
2025-07-10 14:09:00 +02:00
Tom Englund
a21882be33
ctmcontrol: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
37be9a8959
alphamodifier: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
f5af40afce
renderpass: use unique ptr instead of shared ptr
...
lets use unique ptrs instead of refcounting shared ptr when its not
needed, use rvalue reference to construct in vector directly.
2025-07-10 14:09:00 +02:00
Vaxry
6375e471f3
config: disable new_render_scheduling by default
2025-07-09 16:13:57 +02:00
Kamikadze
c6497a7193
internal: Prevent double-free in attemptDirectScanout ( #10974 )
2025-07-09 14:39:36 +02:00
FrancisTheCat
9517d0eaa4
renderer: Added a pointer position uniform to the screen shader. ( #10821 )
2025-07-08 19:31:15 +02:00
outfoxxed
78e9eddfb6
core: use new typed signals from hu ( #10853 )
2025-07-08 18:56:40 +02:00
Tom Englund
2f34ef141b
compositor: fix race to finish on null buffer ( #10970 )
...
if a null buffer is commited and a pending state is awaiting, drop the
pending state so we dont end up in race to finish brokeness.
2025-07-08 18:55:46 +02:00
Vaxry
8f948827a6
Renderer: Implement new render scheduling ( #10936 )
...
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>
2025-07-08 12:41:10 +02:00
Tom Englund
9856563f89
opengl: avoid reallocations in EGLImage ( #10960 )
...
use a std::array instead of vector and avoid reallocations.
it should at most be 49 entries, so make the array 50. and RASSERT check
it incase more entries gets added in the future.
2025-07-07 23:44:35 +02:00
Tom Englund
bb958a9e13
pass: overload TexPass constructor
...
overload it with a rvalue to allow us to move the data directly avoiding
an extra copy. because SRenderData is not trivially copyable.
2025-07-07 18:09:34 +02:00
Tom Englund
c75f85098c
renderer: move render calculation behind if case
...
the durationUs is not used unless debug overlay is enabled, lets not
calculate it each call to rendermonitor if not enabled. same with
renderStart.
2025-07-07 18:09:34 +02:00
Tom Englund
4a30e2acd9
eventloop: RAII the even source on readable fd
...
RAII remove the event source and honor rule by 5
2025-07-07 18:09:34 +02:00
Tom Englund
ceec1943ff
compositor: dont send around int max values
...
we know the buffersize use it instead of int max values that can
potentially cause math issues and slowdowns. minor improvement to
glmark2 aswell.
2025-07-07 18:09:34 +02:00
jmanc3
83c453cb82
plugins: made currentWindow available in RENDER_PRE_WINDOW ( #10957 )
2025-07-07 18:06:42 +02:00
Tom Englund
54369adffa
internal: iso C++ prohibits anonymous structs ( #10955 )
...
turn on -Wpedantic and name the anonymous struct.
2025-07-07 16:18:06 +02:00
vaxerski
d23ed852fc
[gha] Nix: update inputs
2025-07-07 11:34:38 +00:00
Tom Englund
a16d0c76a6
texture: zero out the cached states in destroy ( #10954 )
...
if destroyTexture is called outside of the texture destructor we need to
empty out the cached states.
2025-07-07 13:33:22 +02:00
Mihai Fufezan
6a5f4f5954
Nix: fix overlay application
...
Should fix hyprwm/hyprland-plugins#412
2025-07-05 14:18:38 +03:00
MightyPlaza
b99c193e46
internal: handle setGroupCurrent properly on fs groups ( #10920 )
2025-07-05 00:16:25 +02:00
bobrat
9b51d73a1e
hyprpm: print all dependencies that are missing ( #10907 )
2025-07-04 14:43:46 +02:00
Tiago Dinis
3c9447ca53
nix: update aquamarine
2025-07-04 01:33:31 +03:00
Mihai Fufezan
90c8609cbb
CMake: disable tests by default ( #10899 )
2025-07-01 23:18:34 +02:00
Vaxry
b246f33ab1
inputmgr: remove unused var
2025-07-01 23:18:01 +02:00
aphelei
e9c5594186
renderer: add mouse zoom animations ( #10882 )
...
Adds animations for the mouse zoom effect.
2025-07-01 11:33:48 +02:00
Tom Englund
e827b75e22
opengl: add missing skipcm if case ( #10888 )
...
missing skipcm if case so the CM uniforms where never added on the
gradient2 renderBorder case, until the non gradient2 one had run atleast
once. causing it to not render on first launch/delayed.
2025-07-01 11:32:49 +02:00
Tom Englund
9adacef70b
buffer: check if buffer fd already readable ( #10894 )
...
check if buffer fd is already readable, to avoid a lot of unnecessery
systemcalls and churn.
2025-07-01 11:32:17 +02:00
Tom Englund
f464dfbefa
shader: replace texture2d with texture ( #10893 )
...
* shader: replace texture2d with texture
remove unused v_color and replace deprecated texture2d with texture.
* shader: use the more modern essl3 extension
GL_OES_EGL_image_external_essl3 provides support for samplerExternalOES
in texture function, aquamarine already use it. apply it here too.
2025-07-01 11:32:00 +02:00
Tom Englund
8c37d2ce25
sessionlock: restore cursor if hidden on unlock ( #10889 )
...
if session locks have hidden the cursor its gonna be missing unless a
new cursor shape is set, hovering windows makes us get one, moving the
wallpaper/desktop does not. set it again to left_ptr as is default on
compositor start.
2025-07-01 11:31:10 +02:00
Karun Sandhu
ee8978b961
flake.lock: update
2025-06-29 19:29:36 +03:00
Vaxry
ab900d8752
screencopy: fix improper box calculations for transforms ( #10870 )
2025-06-28 17:01:14 +02:00
Vaxry
0fea173fc8
unbind: add unbind all
2025-06-28 14:55:13 +02:00
Mihai Fufezan
a01d20cfe8
CI/Nix: fix rebase oopsie
2025-06-27 16:56:52 +03:00
Vaxry
e4b6fedfb9
tester: simplify adding test files
2025-06-27 12:18:45 +02:00
Vaxry
1fc7e80bdb
README: update previews
2025-06-27 12:06:21 +02:00
Mike Will
b850b35778
snap: move gapOffset logic outside of for loop ( #10861 )
2025-06-27 12:01:45 +02:00
Mihai Fufezan
2796ec1cf2
CI/Nix: separate xdph from hl
2025-06-26 23:38:23 +03:00
Vaxry
3d6476c902
Core: Add a test suite ( #9297 )
...
Adds a test suite for testing hyprland's features with a runtime tester
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-06-26 19:43:39 +02:00
rafiq
9a67e0421b
renderer: clamp rounding_power ( #10816 )
2025-06-26 19:26:46 +02:00
outfoxxed
3bbdf9dc5a
protocols: add ext-workspace implementation ( #10818 )
2025-06-26 18:32:44 +02:00
sam
1f337a7a5e
hyprctl: replace read-only strings with std::string_view ( #10851 )
2025-06-26 12:28:35 +02:00
UjinT34
452a158107
config: use parseScale for monitorv2 ( #10852 )
2025-06-26 12:28:21 +02:00
Tom Englund
f4f090e4b2
renderer: reduce a lot of glcalls and cache various states ( #10757 )
...
* opengl: cache viewport state
according to nvidia docs calling glViewPort unnecessarily on the same
already set viewport is wasteful and can cause state changes when not
needed. cache it in a struct and only call it when the viewport is
actually changing.
* opengl: cache glenable/gldisable state
avoid making multiple glenable/gldisable calls on already set caps, can
cause state changes and incur driver overhead.
* opengl: cache glscissor box
only call glscissor if the box actually has changed, try to avoid state
changes.
* opengl: cache gluniform calls
cache the gluniform calls, the uniform values are cached in driver per
program only the drawcalls setting the uniform yet again with the same
value on same location is causing more overhead then caching it ourself
and just no oping on it if no changes.
* shader: rewrite handling of uniforms and state
this is way faster as we don't need to mess with maps (hashing, etc) and instead can just use an array
* opengl: stuff and 300 shaders
* opengl: typo
* opengl: get the uniform locations properly
now that the legacy shaders are gone get the uniformlocations for
SKIP_CM etc, so they can be properly set and used depending on if
cm_enabled is set to false or true, before it was falling back to a
legacy shader that didnt even have those uniforms.
* opengl: check epsilon on float and remove extra glcall
seems an extra unset glcall was added, remove it. and check the float
epsilon on the glfloat.
* opengl: remove instanced shader draw
remove the instanced boolean from the vertex shader, might be neglible
differences, needs more benchmark/work to see if its even worth it.
* texture: cache texture paramaters
parameters where occasionally set twice or more on same texture, short
version wrap it and cache it. and move gpu churn to cpu churn.
add a bind/unbind to texture aswell.
* texture: use fast std::array caching
cache the texparameter values in fast array lookups
and incase we dont want it cached, apply it anyways.
* shader: fix typo and hdr typo
actually use Matrix4x2fv in the 4x2fv cache function, and send the
proper float array for hdr.
* texture: make caching not linear lookup
make caching of texture params not linear.
* minor style changes
* opengl: revert drawarrays
revert the mostly code style reduce loc change of drawarrays, and focus
on the caching. its a if else case going wrong here breaking
blur/contrast amongst others drawing.
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2025-06-25 12:42:32 +02:00
Mihai Fufezan
5a348fb7df
Nix: filter src using fileset
...
Allows reusing already-built derivation when changing files outside the
ones defined in the fileset.
2025-06-24 21:39:42 +03:00
Vaxry
aea8132001
buffer: don't use crazy listener::emit()
2025-06-24 15:23:53 +02:00
UjinT34
cf7e3aa448
renderer/cm: Add automatic hdr ( #9785 )
2025-06-23 14:33:09 +02:00
Vaxry
c7c8ca475b
config: add missing description for enforce_permissions
2025-06-23 13:56:02 +02:00
Vaxry
24e5f9974d
hyprctl: print no open windows instead of invalid request on empty clients
2025-06-23 13:49:30 +02:00
Vaxry
dd33128c2f
input: fix mouseDown triggering hl ops on locked ( #10809 )
2025-06-22 12:49:13 +02:00
zacoons
8b1d5560cf
renderer: add wrapping options to renderTextureWithBlur method ( #10807 )
2025-06-21 19:03:28 +02:00
vaxerski
2388874738
[gha] Nix: update inputs
2025-06-21 14:22:28 +00:00
Vladimir-csp
4be32dbff4
xwayland: Don't leave shell process ( #10802 )
2025-06-21 16:21:08 +02:00
fufexan
8ebff1948f
[gha] build man pages
2025-06-19 22:49:42 +00:00
Mihai Fufezan
a301d54df8
treewide: hyprland.org -> hypr.land
2025-06-20 01:49:20 +03:00
Mihai Fufezan
ff2f85641a
CI/Nix: add cache-nix-action
...
Use nixbuild/nix-quick-install-action which pairs well with
nix-community/cache-nix-action.
Should help with build times by reducing the number of packages needing
to be re-downloaded on each run.
Parameters are taken from https://github.com/nix-community/cache-nix-action
and may be tweaked later.
2025-06-20 01:37:59 +03:00
Jasson
b49d0ca20e
xwayland: Fix crash when copying from wayland to xwayland ( #10786 )
2025-06-19 19:44:38 +02:00
Vaxry
86b5e3bfbc
config: nuke explicit_sync settings
...
were not used anymore, explicit is on by default
2025-06-19 14:58:03 +02:00
Vaxry
54ccf9c6b3
renderer: make lock fail textures dynamically loaded
...
this should reduce idle vram usage by a whopping 16MB, but also might fix the tty unknown issue.
2025-06-19 13:46:42 +02:00
Vaxry
e999ad664d
hookSystem: avoid using manual mem management, fix leak
...
fixes #10790
2025-06-19 11:58:12 +02:00
7mile
9fb6b5d96b
input: Fix incorrect localcoords with a surface above an XWayland window ( #10773 )
2025-06-18 22:48:51 +02:00
Vaxry
0fb63c68e9
permissions: properly print config requests for plugins
2025-06-18 22:43:04 +02:00
Vaxry
83a4c61048
plugins: don't update config plugins on state unchanged
...
fixes #10781
2025-06-18 22:42:57 +02:00
Jasson
bef1321f00
xwayland: fix minor errors in previous refactor ( #10763 )
2025-06-18 10:16:22 +02:00
Jacob Ilias Komissar
0ece4af36a
grpupbar: Add config options to color inactive and locked groupbar titles ( #10667 )
2025-06-16 22:40:38 +02:00
Vaxry
aba2cfe7a8
asyncDialogBox: lock box in fdWrite to prevent a uaf ( #10759 )
2025-06-16 17:02:08 +02:00
Vaxry
d4e8a44087
windowrules/move: clamp max pos in onscreen to avoid assert crash
...
fixes #10760
2025-06-16 13:43:06 +02:00
Jasson
1905c41c65
xwayland: Use RAII instead or freeing memory manually ( #10677 )
...
As suggested by clang-tidy
2025-06-16 13:31:46 +02:00
UjinT34
bd5703d5c6
protocols/cm: fix wp invalid luminance check ( #10752 )
2025-06-15 23:13:57 +02:00
Vaxry
d037c54260
protocols: support xdg-shell v7
...
there's nothing special we need to add for this rev
2025-06-15 12:21:16 +02:00
UjinT34
c3894d9288
config/monitor: Add monitor v2 HDR rules ( #10623 )
2025-06-15 12:15:18 +02:00
Vaxry
3db3baa19e
opengl: use a stack for storing monitor transform enabled
...
fixes #10487
2025-06-15 12:11:28 +02:00
Vaxry
57d20a1bf6
internal: clean up dead snapshot code
2025-06-15 11:51:27 +02:00
Vaxry
472b52bc06
cursor: reset hc data after theme change
...
theme change invalidates the cairo surfaces there
fixes #10636
2025-06-15 11:47:10 +02:00
vaxerski
79b9edb85b
[gha] Nix: update inputs
2025-06-15 09:46:31 +00:00
may
f08167c877
input: add sticky option for drag_lock ( #10702 )
...
* allow configuring the sticky option for `drag_lock`
* enable sticky drag_lock by default as recommended by libinput
recommended here:
https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html
2025-06-15 11:45:06 +02:00
Joel-Valenciano
ad85406220
drm-lease: Add Multi-GPU Support ( #10099 )
2025-06-13 15:17:32 +02:00
Otto Modinos
d14f81e6ac
protocols: whitelist wp_color_manager_v1 for security_context ( #10723 )
...
Now that `wine` (and `proton`) supports Wayland it makes sense to allow the `wp_color_manager_v1` in Flatpak for native HDR without the need for `gamescope`!
2025-06-13 00:27:30 +02:00
linfindel
826061d166
README: Update image cdn ( #10722 )
2025-06-12 23:22:52 +02:00
Vaxry
748419faa5
hyprpm: check version and update automatically on add ( #10706 )
...
ideally should let the user know, but jic also checks for header updates
2025-06-12 13:40:55 +02:00
Vaxry
412c7dc7f7
renderer: fixup some missing fadeout cases with special
...
fixes some fadeout missing cases:
- closing last window
- closing above fs
- closing in general
fixes #10283
2025-06-11 17:52:23 +02:00
Vaxry
8329de1ab5
input: grab the correct active workspace on mouseMove
...
fixes #10651
2025-06-11 17:09:39 +02:00
Vaxry
144885d89f
anr: make dialog disappear if the app dies
...
fixes #10514
2025-06-11 17:00:16 +02:00
Vaxry
f7526d6be0
renderer: refuse rendering invalid resolutions
...
sometimes a driver fails to assign any reasonable mode in which case we might render 0x0 which will make us crash. Don't do that. Part 1 of #10678
2025-06-11 16:57:07 +02:00
Vaxry
6910ca76bd
protocols/subcompositor: fixup place_above and _below
...
fixes #10716
2025-06-11 16:54:47 +02:00
Viktor
6bdb1f413e
dwindle: add the ability to specify an aspect ratio for a singular window ( #10650 )
2025-06-10 08:20:31 +01:00
ilusha420
81468253ea
hyprpm: fix typo in help message ( #10687 )
2025-06-09 14:31:04 +03:00
Luuk Blankenstijn
231e01e39b
hyprctl: don't detect a negative value as a parameter ( #10671 )
2025-06-08 20:17:38 +01:00
Kamikadze
c6f713fefe
screencopy: fix incorrect noscreenshare positions with monitor scaling ( #10674 )
2025-06-08 08:19:23 +01:00
Kamikadze
91967f8ec0
renderer: fix incorrect cursor position when screencopy region with monitor scaling ( #10675 )
2025-06-08 08:18:42 +01:00
Kamikadze
0a47575c7f
internal: Use using instead of #define to alias smart pointers ( #10673 )
2025-06-08 08:13:56 +01:00
vaxerski
8801770981
[gha] Nix: update inputs
2025-06-07 20:14:08 +00:00
Kamikadze
66b99bd277
monitor: ensure autoDir is applied when changed ( #10672 )
2025-06-07 21:12:43 +01:00
sam
2794f485cb
hyprctl: Remove exceptions, use modern error handling ( #10664 )
2025-06-06 20:23:33 +01:00
Ufuk Ustali
0ac3bef724
input: support configuring drag_3fg from libinput ( #10631 )
2025-06-06 15:47:15 +01:00
vaxerski
456c820d52
assets: update header
2025-06-06 15:14:17 +02:00
UjinT34
c35c2fea40
config: Restore auto-center-* for monitors ( #10660 )
2025-06-06 08:01:19 +01:00
Friday
d6fbd89336
nix: use gcc15-built dependencies
2025-06-06 08:07:34 +03:00
XPhyro
fb7548cb41
screencopy: fix applying noscreenshare to invisible special workspaces ( #10628 )
2025-06-05 21:29:01 +01:00
Eric Li
423b69f5d3
config: add group: selector ( #10588 )
2025-06-05 21:17:04 +01:00
UjinT34
abdfc5ea40
config: add a new monitor v2 config syntax ( #9761 )
2025-06-05 15:56:46 +01:00
sam
59c886d855
internal: Catch filesystem exceptions while iterating RunTimeDir ( #10648 )
2025-06-05 15:19:54 +01:00
Jasson
d7a87ce6e2
xwayland: fix xwayland -> wayland clipboard ( #10646 )
2025-06-04 16:00:55 +01:00
vaxerski
d9f7448d82
xwayland: pad pid with leading zeroes in lockfile
...
fixes #10652
2025-06-04 16:54:12 +02:00
littleblack111
b5c0d0b8aa
keybinds: add an option to respect gaps out for floating to movewindow ( #9360 )
2025-06-03 19:48:56 +01:00
sam
b1d0a727cc
internal: Center window on parent if available ( #10582 )
...
Fixes #10537
2025-06-02 19:22:51 +01:00
Kamikadze
ef2c73af80
internal: embed example config ( #10608 )
2025-06-02 18:36:44 +01:00
Kamikadze
16c62a6dbb
internal: Fix HyprError not displaying at startup ( #10606 )
2025-06-01 21:03:53 +01:00
Jasson
2d1c6f88d2
xwm: Refactored functions in XWM.cpp ( #10569 )
...
* Refactored SXSelection::onSelection in XWM.cpp
- Made the function more readable and less redundant
- Extracted repeated conditions into booleans.
- Reduced nested conditionals
- Reused (conn) pointer
* Refectd readProp
* Refactor initSelection
2025-06-01 21:02:17 +01:00
vaxerski
82b8549542
hyprpm: refuse adding a new repo without update
2025-06-01 21:53:30 +02:00
Kamikadze
69c2b2926e
internal: refactor to use empty() ( #10599 )
2025-05-31 19:49:50 +01:00
Kamikadze
4078e1d17c
refactor: replace all typedef with using ( #10594 )
2025-05-31 14:02:02 +01:00
mitsuru
af2fdb5d58
nix: use gcc15
...
resolves Nix build/CI failures introduced in 9190443
bumps flake.lock as gcc15Stdenv wasn't available at the pinned version
of nixpkgs
2025-05-31 01:45:34 +03:00
Kamikadze
9190443d95
refactor: use std::ranges whenever possible ( #10584 )
2025-05-30 14:25:59 +01:00
littleblack111
9bf1b49144
snap: add option to respect gaps ( #10524 )
2025-05-28 14:20:03 +01:00
vaxerski
5cc6cb4945
groupbar: force recalc on visibility changes
...
fixes #10566
2025-05-28 15:18:30 +02:00
vaxerski
9b327ddfd1
monitor: mark 0, 0 presentation timestamps as invalid
...
fixes #10562
2025-05-27 21:26:47 +02:00
Kamikadze
24915a3a9b
windowrules: Add noscreenshare ( #10482 )
2025-05-27 16:10:22 +01:00
Nikolaos Karaolidis
90d0b8ecae
core: add auto-center arrangements ( #10527 )
...
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-27 15:51:59 +01:00
littleblack111
ddb9f8394d
config: fix inconsistant hint of default value ( #10556 )
...
similar to https://github.com/hyprwm/hyprland-wiki/pull/1093
2025-05-27 15:50:00 +01:00
littleblack111
a62ccb169a
config: fix crash on misnamed variable ( #10549 )
2025-05-27 08:33:17 +01:00
Vaxry
be6ee6e55f
cmake: disable gprof by default
2025-05-26 23:33:44 +02:00
Nikolaos Karaolidis
c2805aad92
config: add maxwidth monitor resolution mode ( #10528 )
...
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-26 19:25:58 +02:00
littleblack111
4c4c9bb324
dwindle: add better automatic window drag and drop direction detection ( #9704 )
2025-05-26 19:15:11 +02:00
Vaxry
292a7456af
eventLoop: fixup headers
2025-05-26 16:53:35 +02:00
Vaxry
2347050285
pass/surface: make sure popup blurs are marked for require live blur
...
fixes #10535
2025-05-25 18:48:32 +02:00
Vaxry
a58ab20e8b
debug/pass: show live/precompile blur in debug
2025-05-25 18:45:28 +02:00
Vladimir-csp
cc0792c1dc
hyprland-uwsm.desktop: Add TryExec
...
This should hide this entry when uwsm is missing (at least in DMs that handle TryExec)
2025-05-25 14:55:33 +03:00
vaxerski
28c9122adb
[gha] Nix: update inputs
2025-05-24 18:41:03 +00:00
Vaxry
55076edaac
versionkeeper: don't pop up on initial launch
2025-05-24 20:39:36 +02:00
Virt
81cd526f92
cursor: fix screencopy cursor pos and duplicate shape with sw cursors ( #10519 )
...
* cursor: account for hotspot with overridePos
* cursor: don't draw cursor on screencopy if using sw anyways
2025-05-23 23:41:35 +02:00
Mihai Fufezan
bd4733a0ff
flake.lock: update
...
nix/overlays: remove wayland-protocols overlay. PR landed in master a while ago
2025-05-22 18:02:20 +03:00
nezu
4f161da3d6
hyprpm: ignore pins when adding a package with a git rev ( #10502 )
...
ref #10436
2025-05-22 13:54:02 +02:00
darkwater
185c96849e
input: unhide cursor on tablet events after touch events ( #10484 )
2025-05-21 23:44:21 +02:00
zacoons
b90910c0dc
renderer: add wrapping options to renderTexture method ( #10497 )
2025-05-21 16:41:40 +01:00
Vaxry
eb3b38d40b
eventLoop: fixup event source callbacks
2025-05-19 01:27:30 +02:00
Vaxry
d9c8a37811
input: always allow focus to permission popups
2025-05-18 19:34:20 +02:00
Vaxry
158c0f2911
permissions: add permission management for keyboards ( #10367 )
2025-05-18 19:13:20 +02:00
zacoons
44cb8f769e
internal: added error log when getEdgeDefinedPoint is impossible ( #10462 )
2025-05-18 19:10:06 +02:00
Vaxry
705b97c4ac
input: revert #10416 and #10418
...
fixes #10451
2025-05-17 19:43:12 +02:00
Vaxry
c19f383685
hyprpm: fix crash with enable without an arg
2025-05-17 19:07:18 +02:00
Vaxry
bb5cd5b2dd
screencopy: store a fb before permission popup if the permission is pending ( #10455 )
...
stops rendering the permission popup on stuff like grim when it asks
2025-05-17 19:03:35 +02:00
Vaxry
bb9aa79b21
hyprpm: reject remove without a param
...
ref #10458
2025-05-17 18:10:35 +02:00
Vaxry
dfa4836216
hyprpm: fix execute permission bit on installed dirs ( #10435 )
2025-05-17 18:08:42 +02:00
vaxerski
18377d221d
[gha] Nix: update inputs
2025-05-17 11:08:13 +00:00
outfoxxed
2aa21625bd
input: ensure seat grabs from exclusive layers can be dismissed ( #10418 )
2025-05-17 13:06:48 +02:00
outfoxxed
2946009006
input: do not send mouse events when outside of a surface ( #10416 )
2025-05-16 23:39:28 +02:00
outfoxxed
b0cc49218d
protocols: simulate mouse movement after activating a toplevel ( #10429 )
2025-05-16 23:38:45 +02:00
Zach DeCook
a5c9b3e490
core: Include cstring whenever strncpy is used ( #10404 )
...
Fixes ppc64le build in alpine
2025-05-15 10:31:44 +01:00
outfoxxed
dfb841c303
desktop: prevent layers from dismissing their own seat grabs on map ( #10417 )
2025-05-15 10:16:03 +01:00
Tom Englund
5ceb0ec15d
core: drop the legacy renderer ( #10408 )
...
* core: drop the legacy renderer
the legacy renderer is broken and barely used, drop it.
* Nix: drop support for legacyRenderer
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-05-15 10:13:24 +01:00
outfoxxed
f707d86912
protocols/hyprland-surface: account for scaled monitor positions ( #10415 )
2025-05-15 10:12:55 +01:00
Yukari Chiba
75f2cb5f65
xwayland: do not include xcb.h when xwayland is disabled ( #10407 )
...
xcb.h should not be included when xwayland is disabled.
This allows hyprland to not use X11 libraries at all when xwayland is disabled.
2025-05-14 19:31:19 +01:00
Vaxry
a51e639d81
input: disallow virtual keyboards from changing LED state ( #10402 )
2025-05-14 17:48:17 +01:00
Tom Englund
59b2340680
opengl: add missing vao for screenshader ( #10397 )
...
missed creating vertex array objects in 04124988e8
add it.
2025-05-13 23:46:29 +01:00
outfoxxed
da3583fd5e
opengl: publicize shader creation/usage functions ( #10378 )
...
Allows plugins to create and use shaders again
2025-05-12 14:15:47 +02:00
Tom Englund
04124988e8
opengl: optimize shaders and reduce unneeded drawcalls ( #10364 )
...
* 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.
2025-05-11 18:36:20 +02:00
Vaxry
390a357859
renderer: use alpha for the lockttytext texture
...
ref #10348
2025-05-11 13:15:03 +01:00
Vaxry
9a87498bb1
renderer: minor damage fixes
2025-05-10 23:53:05 +01:00
Vaxry
f58bb72d3a
renderer: render blur on fade out ( #10356 )
2025-05-10 19:31:26 +02:00
vaxerski
60cd5b7a48
renderer: always render snapshots as 8bit
...
fixes issues with transparent windows on 10b
2025-05-09 22:16:21 +01:00
Florian "sp1rit
25cf06f6cf
build: require hyprgraphics>=0.1.3 ( #10350 )
...
49974d5 introduced use of types, which were only added in 0.1.3
2025-05-09 14:47:28 +02:00
Jan Beich
e44aae0c20
hyprpm: switch to numeric owner/group after f8bbe5124c ( #10345 )
...
On BSDs "root" is in "wheel" group. Instead of enumerating platforms
or probing "wheel" explicitly use numeric value for the superuser.
$ truss hyprpm add <url>
[...]
read(5,"install: unknown group root\n",1023) = 28 (0x1c)
[...]
[ERR] ✖ Failed to write plugin state
2025-05-09 14:18:15 +02:00
Jan Beich
fcb6f936ea
hyprpm: add missing include for libc++ after 1c530cbc66 ( #10344 )
...
hyprpm/src/helpers/Sys.cpp:24:24: error: implicit instantiation of undefined temp
late 'std::basic_ostringstream<char>'
24 | std::ostringstream oss;
| ^
/usr/include/c++/v1/__fwd/sstream.h:27:28: note: template is declared here
27 | class _LIBCPP_TEMPLATE_VIS basic_ostringstream;
| ^
2025-05-09 03:42:19 +02:00
Vaxry
9958d29764
version: bump to 0.49.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2025-05-08 21:15:18 +01:00
Vaxry
239cdd67fd
socket2: fix order of window events on map ( #10341 )
2025-05-08 22:10:31 +02:00
s1dd
f01e3043b8
desktop: cleanup code and use std::ranges ( #10289 )
2025-05-08 21:01:49 +02:00
Vaxry
04c98abd1f
layout: properly assign workspace and monitor when moving a child to the parent ( #10338 )
2025-05-08 21:00:28 +02:00
nyx
53bfb92d65
layout: allow interacting with pinned windows when fullscreened ( #10326 )
...
* layout: allow interacting with pinned windows when fullscreened
* IHyprLayout: format code
* e
2025-05-08 20:59:51 +02:00
Mihai Fufezan
2b3cac018e
flake.lock: update
2025-05-08 20:37:36 +03:00
Vaxry
f909b0f114
opengl: fix legacyrenderer
2025-05-08 18:22:44 +01:00
MightyPlaza
fa1e343b04
compositor: set fullscreenstate on movetoworkspace ( #10303 )
...
modified: src/managers/KeybindManager.cpp
2025-05-08 18:29:47 +02:00
davc0n
22b12e3013
refactor: cshader class to sshader struct ( #10324 )
2025-05-08 00:07:35 +02:00
Mihai Fufezan
7a971735af
flake.lock: update
2025-05-07 21:51:59 +03:00
Tom Englund
6abb5b0c7e
renderer: precompute fullalpha ( #10319 )
...
precompute it once instead of calculating it every single call, was showing
up as a lot of time wasted in profiling.
2025-05-07 19:02:07 +02:00
Tom Englund
0dfcba9825
DMABuffer: reserve vector and avoid UB ( #10317 )
...
actually reserve the vector instead of initializing it with the
m_attrs.fd.size() adding 4 invalid fd entries, and later emplace_back
the valid ones.
sync_merge_data name is defined as char name[32] a fixed size array, and
c++ technically doesnt allow assigning string literals directly to array
fields in aggregate initializers, it may compile but is technically
undefined behaviour or ill formed. zero initalise it and use
std::ranges::copy_n instead.
2025-05-07 18:15:27 +02:00
davc0n
e5df8cdc62
xwayland: refactor class member vars ( #10312 )
...
* xwayland: refactor class member vars
* xwayland: fix pure wayland build
2025-05-07 15:21:44 +02:00
Vaxry
f8bbe5124c
hyprpm: clean up root access and properly check input ( #10304 )
...
* manifest: reject bad names from parsing
* sys: restructure root functions
2025-05-06 22:43:08 +02:00
Vaxry
948277895e
popup: damage old size on unmap as well as new ( #10306 )
...
fixes #10305
chromium for some reason sets the popup size to like 8x8 at the same time as unmapping
2025-05-06 21:49:20 +02:00
Zebra2711
708a7c24ef
hyprpm: add missing return ( #10299 )
...
Add a missing return statement after handling the first superuser binary in the `dropSudo` function
Fixes: 1c530cb
Co-authored-by: Zebra2711 <zebra2711@users.noreply.github.com>
2025-05-06 14:53:28 +02:00
CyrenArkade
1ce614dfc0
animations: Add option for animating workspaces as if the first and last were adjacent ( #10277 )
...
* add option for animating workspaces as if the first and last were adjacent
* change wraparound detection to use IDs instead of dispatcher
* move shouldWraparound from MiscFunctions to Monitor
2025-05-06 03:54:27 +02:00
Jack Barnes
930eeac900
window: use stored size for new floating window when persistentsize is set ( #10212 )
...
* fix(window): use stored size for new floating window when persistentsize is set. fix hyprwm#9422.
* fix: replace `std::any_of` with `std::ranges:any_of`
* fix: use initialClass and initialTitle when storing sizes on close
* fix: add `xdgTag` as a new indicator
* fix: no {}
* fix: format with clang-format
2025-05-06 03:53:43 +02:00
shane blackthorne
ec93f8a1cd
socket2: add monitorremovedv2 event ( #10229 )
2025-05-06 03:52:36 +02:00
davc0n
997fefbc11
render: refactor class member vars ( #10292 )
...
* render: refactor class member vars
* render: fix clang format
2025-05-05 23:44:49 +02:00
Vaxry
c7eb141098
renderer: always try to apply a mode if pixel size is invalid ( #10291 )
2025-05-05 23:40:37 +02:00
Vaxry
1f50cdfa8b
hyprpm: wrap sudo cmd in quotes
...
ref #10288
2025-05-05 13:09:00 +01:00
s1dd
1c530cbc66
hyprpm: Minor optimizations and refactor of helpers and progress bar ( #10246 )
...
* hyprpm: optimize sys.cpp
* hyprpm: refine progress bar logic
* chore: fix fetchSuperuserBins
* chore: modify one line if/else statements
* chore: fix if/else statements
* chore: follow naming convention for const vars
* chore: revert shell escape logic
2025-05-05 04:22:22 +02:00
davc0n
9cd5b25745
protocols: refactor class member vars (u-z) ( #10282 )
...
* protocols: refactor class member vars (u-z)
* protocols: fix clang format
2025-05-04 23:39:00 +02:00
phonetic112
78ff20ddf0
workspaces: Fix empty flag not selecting active workspace ( #10237 )
2025-05-04 19:22:41 +02:00
davc0n
2626f89ea6
protocols: refactor class member vars (n-t) ( #10273 )
2025-05-04 19:21:36 +02:00
davc0n
adbae0f74d
protocols: refactor class member vars (a-m) ( #10265 )
2025-05-04 00:13:29 +02:00
davc0n
46ac115bd1
protocols: refactor class member vars (types) ( #10261 )
2025-05-03 18:54:50 +02:00
Honkazel
3465efcdc1
internal: Use vecnotinrect instead of !vecinrect ( #10262 )
...
* monitor: use vecnotinrect
* inputmanager: vecnotinrect
* clang format
2025-05-03 18:54:15 +02:00
Virt
cdf5736f1a
layerrules: fix abovelock interactivity for touch input ( #10253 )
2025-05-03 16:07:02 +02:00
davc0n
2d6ca96e07
plugins: refactor class member vars ( #10257 )
2025-05-03 16:06:24 +02:00
davc0n
d9cad5e1b6
protocols: refactor class member vars (core) ( #10259 )
2025-05-03 16:02:49 +02:00
Vaxry
0c736217a7
configmgr: fix CConfigValue<> from plugins
2025-05-02 17:53:55 +01:00
Vaxry
77ecf09506
internal: fix name confusion in SAlphaValue
...
fixes #10251
2025-05-02 16:29:15 +01:00
vaxerski
f1ac1847ff
[gha] Nix: update inputs
2025-05-02 15:08:46 +00:00
davc0n
ce821294e2
managers: refactor class member vars ( #10242 )
2025-05-02 17:07:20 +02:00
Vaxry
6f174a9e08
renderer: render fading out floating windows over fs
2025-05-02 00:16:17 +01:00
davc0n
5b3e489108
inputs: refactor class member vars ( #10230 )
2025-05-01 23:57:11 +02:00
Jan Beich
2670b8f772
hyprpm: add missing include for libc++ after 858c0e26d1 ( #10234 )
...
hyprpm/src/core/DataState.cpp:80:23: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
80 | std::stringstream ss;
| ^
hyprpm/src/core/DataState.cpp:149:23: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
149 | std::stringstream ss;
| ^
hyprpm/src/core/DataState.cpp:229:31: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
229 | std::stringstream ss;
| ^
/usr/include/c++/v1/__fwd/sstream.h:30:28: note: template is declared here
30 | class _LIBCPP_TEMPLATE_VIS basic_stringstream;
| ^
2025-05-01 20:48:13 +02:00
Vaxry
858c0e26d1
hyprpm: move to system directories for storing plugins ( #10211 )
2025-05-01 18:00:26 +02:00
Zetta1 Reid0
b5ef049ea1
master: Change center_master_slaves_on_right to center_master_fallback ( #10201 )
...
* Change center_master_slaves_on_right to center_master_fallback
2025-05-01 13:29:06 +02:00
davc0n
615e0dae46
layouts: refactor class member vars ( #10228 )
2025-05-01 13:27:07 +02:00
davc0n
ce4766772d
hyprerror: refactor class member vars ( #10227 )
2025-05-01 13:26:43 +02:00
Vaxry
8d6618104e
cmake: ignore Wclobbered
...
fails build otherwise
2025-04-30 23:06:40 +01:00
davc0n
50e1bec85f
helpers: refactor class member vars ( #10218 )
2025-04-30 23:45:20 +02:00
Vaxry
b8a204c21d
ci: minor fixes to glaze
2025-04-30 22:43:37 +01:00
Ikalco
2ee5118d7a
render: properly release rendered buffers ( #9807 )
...
* cleanup eglSync
* properly release buffers in renderer
* add renderingDoneCallback and use it in screencopy
* use static constructor for CEGLSync
2025-04-30 18:35:25 +02:00
Vaxry
5d005f11fa
xdg-bell: fix wrong resource cast
2025-04-30 14:07:23 +01:00
Vaxry
54c89104de
DonationNag: ask after each major update ( #10213 )
...
This changes how the donation nag timing works.
The donation nag will now appear:
- after a major update (e.g. 48 -> 49)*
- once in late july
- once in december
however, a donation nag will never pop up more than once a month. So, if there is an update on the 26th of November, and you get a popup on the 28th, you will not get one in december.
This is of course still disableable in your config.
2025-04-30 14:47:35 +02:00
Mihai Fufezan
b2ad21a65c
flake.lock: update
2025-04-30 09:26:58 +03:00
Vaxry
72cb5d24b6
permissions: disable automatic reloading of permissions from cfg
...
security reasons, avoid reading them live. Ideally we'd lock them behind sudo, but we can't do that.
2025-04-30 00:35:32 +01:00
Vaxry
9868b18378
input: don't use pointer hold logic for unmapped surfs
...
fixes #10215
2025-04-30 00:31:21 +01:00
Sander
208f4c48db
config: use natural increase and decrease of brightness for default cfg ( #10210 )
...
* feat(config): hyprland natural brightness
* feat(config): natural increase and decrease of brightness
2025-04-30 01:10:47 +02:00
Vaxry
4506871310
xdg-bell: avoid crashes on null toplevel
2025-04-30 00:10:07 +01:00
Vaxry
6483f4ec22
screencopy: don't render cursor when frame doesn't want it
2025-04-29 22:02:55 +01:00
UjinT34
ae1fe860ff
renderer: add render:send_content_type setting ( #9851 )
2025-04-29 22:09:14 +02:00
UjinT34
49974d5e34
cm: Use precomputed primaries conversion ( #9814 )
2025-04-29 21:29:40 +02:00
Vaxry
94bc132084
xdg-bell/xdg-tag: fix moved resource usage
2025-04-29 19:49:13 +01:00
davc0n
e9c3fcbb64
devices: refactor class member vars ( #10206 )
2025-04-29 19:51:07 +02:00
Vaxry
40147d3a3f
asyncdialogbox: fix missing header
2025-04-29 18:37:21 +01:00
Vaxry
23ecce0e7a
protocols: add support for xdg-system-bell-v1
2025-04-29 18:32:21 +01:00
Vaxry
465e3d979d
window: make AsyncDialogBoxes not closeable
...
we don't want the user to accidentally close a popup for permissions or ANR. They can dismiss them by clicking an appropriate option.
2025-04-29 18:20:06 +01:00
Vaxry
b10a43dabc
windowrules: add noclosefor
...
fixes #10027
2025-04-29 18:14:02 +01:00
Vaxry
5bd7ff884d
permissions: add perms for plugin loading ( #10184 )
...
Adds permission management for loading plugins
---------
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2025-04-29 18:59:43 +02:00
davc0n
2118440488
windows: refactor class member vars ( #10168 )
2025-04-28 22:25:22 +02:00
Vaxry
c505eb55ff
screencopy: support hw cursors while sharing with cursor
2025-04-28 20:18:02 +01:00
Vaxry
f5c5cfa960
keybindmgr: fixup bindn regression
...
fixes #10195
2025-04-28 00:18:51 +01:00
Vaxry
0302bfdc22
async: add Promise and use it for AsyncDialogBox
2025-04-27 13:28:06 +01:00
Vaxry
4f868a1f3c
SECURITY: init security policy
...
fixes #9921
2025-04-27 00:07:00 +02:00
nyx
94c55fe909
helpers: properly support next/prev for workspace switching ( #10074 )
2025-04-26 23:52:07 +02:00
Vaxry
742bce016c
decorationPositioner: update posinfo on window update
...
fixes #10175
2025-04-25 16:09:11 +01:00
Virt
4cf62c114e
layerrules: add abovelock to render above lockscreen ( #9793 )
2025-04-25 16:38:31 +02:00
Jason
41f5f67f6c
window: Fix order of urgency flag and event emission ( #10163 )
2025-04-25 02:37:49 +02:00
davc0n
02d7badd15
workspaces: refactor class member vars ( #10167 )
2025-04-25 02:37:12 +02:00
davc0n
0e80ecc534
layers: refactor class member vars ( #10149 )
...
* layers: refactor class member vars
* popups: rename m_WLSurface to m_wlSurface
2025-04-24 20:49:49 +02:00
M Matthew Hydock
be6268a7ec
groupbar: Add options for setting group bar title font weight (and indicator gap) ( #9617 )
2025-04-24 20:48:08 +02:00
WhySoBad
a9549dbca0
protocols: add Hyprland toplevel mapping implementation ( #9775 )
2025-04-24 18:10:57 +02:00
Vaxry
b06fbdb743
dwindle: use idealIgnoreReserved for moveWindowTo bbs
...
fixes #10005
2025-04-23 22:31:14 +01:00
davc0n
241a4935a2
compositor: refactor class member vars ( #10141 )
2025-04-22 15:23:29 +02:00
Mihai Fufezan
3577a6be31
nix/overlays: add w-p 1.43
2025-04-22 11:03:27 +03:00
Mihai Fufezan
2e540e4ec4
flake.lock: update
2025-04-22 11:00:49 +03:00
Vaxry
a4f7d7c594
protocols: add xdg_toplevel_tag_v1 support
...
Adds a new windowrule to target windows by xdgTag, xdgtag:
2025-04-21 22:30:27 +01:00
nyx
55e953b383
InputManager: add nofollowmouse ( #9994 )
...
* InputManager: add nofollowmouse
with this, focus_follows_mouse=1 acts like focus_follows_mouse=2 on the specific windows defined by the user
* e
* e
biggest e of all time
2025-04-21 20:48:27 +02:00
nyx
d29723cb76
keybinds: allow executing binds not bound to a key ( #10102 )
2025-04-21 20:47:14 +02:00
davc0n
400dd16072
debug: refactor class member vars ( #10130 )
2025-04-21 20:42:02 +02:00
Andrei V
a3b96961a2
tablet: naive window refocusing ( #10110 )
...
Signed-off-by: Andrei V <andrei@ptaxa.net>
2025-04-21 00:32:31 +02:00
Vaxry
a3d32f3b70
hyprpm: fix format
2025-04-20 23:23:17 +01:00
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 Ollerenshaw
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
alaricljs
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
Amadej Kastelic
b496e2c718
nix/module: load plugins using exec-once ( #9836 )
2025-04-03 10:43:06 +03:00
Arkady Buryakov
a41b8d5e97
groupbar: add text offset and upper gap settings ( #9733 )
...
* Groupbar: add keep_upper_gap setting to apply/remove outer gap offset to the upper side of groupbar
* Groupbar: add text_offset setting to adjust text vertical position in a group header
2025-04-02 22:26:46 +02:00
Armin
8654029f86
versionkeeper: create version file if not present ( #9829 )
2025-04-02 22:21:05 +02:00
nyx
a4e6c5d678
window: don't deactivate unfocused xwayland windows in groups ( #9781 )
...
* window: don't deactivate unfocused xwayland windows in groups
we dont want to deactivate unfocused xwayland windows because X is weird, keep the behavior for wayland windows
2025-04-02 00:51:37 +02:00
nyx
3a47c73f34
layout: center floating window at cursor when picked up from fullscreen ( #9780 )
...
* layout: center floating window at cursor when picked up from fullscreen
when picking up a floating window after it had been fullscreened before it would return to its previous position which looked ugly because the cursor could be no where near the windows original position, this patch makes it so that the window is returned to the users current cursor position
* E
2025-04-02 00:45:51 +02:00
X2E4VXpZKv
1f0fd79b91
internal: Don't force default cursor on config reload/monitor reconfigure ( #9815 )
2025-04-01 16:20:38 +02:00
Vaxry
d1a59ec39e
renderer: render tiled fading out above other tiled windows
...
fixes #9717
closes #9796
2025-04-01 00:25:09 +01:00
Vaxry
4c987b20e2
makefile: fix find command in installheaders
...
fixes #9812
2025-03-31 17:13:27 +01:00
nyx
2309270752
anr: add config for ping number before popup shows up ( #9782 )
...
* anr: make pings configurable
makes the pings of the dialog popup configurable
2025-03-31 18:06:17 +02:00
Vaxry
79b526a041
socket2: add minimized event for foreign-wlr
...
ref #995
2025-03-30 22:38:30 +01:00
nyx
075bbecabd
core: fix artifacts when fullscreening ( #9778 )
...
* 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
2025-03-30 23:28:12 +02:00
nyx
8aaffda969
core: fix null ref when resuming system ( #9794 )
...
* core: fix null ref when resuming system
* e
2025-03-30 23:18:04 +02:00
Shockingly Good
10a335631e
solitary: Fix the non-working tearing #9429 ( #9772 )
...
Fixes the non-working tearing by removing the incorrect
opaqueness check for the windows.
Fixes #9429
2025-03-30 20:29:39 +02:00
Emad Elsaid
da2d7c3971
config: Fix matching monitor by description to allow space prefix ( #9788 )
2025-03-30 03:12:15 +02:00
LeviVanDerMaas
05eb0aa43d
workspaces: Add binds:hide_special_on_workspace_change ( #9728 )
2025-03-30 03:11:39 +02:00
Tom Englund
fc7223edc0
synctimeline: check if fd is readable before wait ( #9789 )
...
a lot of the time the fd is already readable, and done. so just call the
waiter directly instead of making a waiter and adding it to the
eventloop.
2025-03-30 01:53:23 +01:00
Lee Bousfield
86c279d7d0
protocols: Don't update hdr metadata if image description is unchanged ( #9776 )
2025-03-30 01:25:27 +01:00
micha4w
46b00a4a86
makefile: add new shaders to make installheaders ( #9783 )
2025-03-30 01:25:02 +01:00
Tom Englund
4a79eea6dc
opengl: check for g_pHyprOpengl pointer ( #9791 )
...
restore the pointer check to avoid null ptr dereference on compositor
destruction.
2025-03-29 21:52:27 +01:00
UjinT34
7374a023ef
renderer/opengl: Extract shaders from source ( #9600 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-03-29 01:19:35 +01:00
Lee Bousfield
a46576afc3
xwayland: Cleanup server startup and FDs ( #9769 )
2025-03-28 17:12:25 +01:00
Lee Bousfield
10035a85cc
core: Don't damage the entire surface every frame ( #9763 )
...
* core: Don't damage the entire surface every frame
* core: Damage buffer on dims or transform change
* core: Use guards for scale and tr equality checks
2025-03-28 17:00:39 +01:00
Vaxry
c93140a5f1
surfacestate: reset buffer bit before applying to current
...
fixes #9759
2025-03-28 12:32:07 +00:00
Vaxry
5380cbcdda
workspaces: minor fixes to persistence
...
fixes #9741
2025-03-27 14:00:29 +00:00
Tom Englund
9ea76428b6
internal: fix minor ubsan errors ( #9743 )
...
* opengl: check if g_pHyprOpengl exist
on compositor destruction we can hit a race where a CEGLSync destructs
and tries to call eglDestroySyncKHR on a null g_pHyprOpengl.
/src/render/OpenGL.cpp:3019:32: runtime error: member access within null pointer of type 'struct CHyprOpenGLImpl'
#0 0x555565eed979 in CEGLSync::~CEGLSync() /src/render/OpenGL.cpp:3019
#1 0x555565f6271e in std::default_delete<CEGLSync>::operator()(CEGLSync*)
const /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/unique_ptr.h:93
* xdgshell: dont apply state on empty states
setsize can be called before a state has been added to pending,
resulting in calling ApplyState with a empty state.
/src/protocols/XDGShell.cpp:323:11: runtime error: null pointer passed as argument 2, which is declared to never be null
#0 0x5555659bf67e in CXDGToplevelResource::applyState() /src/protocols/XDGShell.cpp:323
#1 0x5555659bcedc in CXDGToplevelResource::setSize(Hyprutils::Math::Vector2D const&) /src/protocols/XDGShell.cpp: 256
#2 0x555563eed0ef in Events::listener_commitWindow(void*, void*) /src/events/Windows.cpp:841
2025-03-26 18:22:44 +01:00
Vaxry
0cd04bd666
surfacestate: track and apply updated state
...
fixes #9729
2025-03-26 17:22:21 +00:00
Vaxry
1c2b9a9ce3
opengl: don't attempt to compile cm on gles3.0
...
also disable the error for the cm shader
fixes #9738
2025-03-26 14:28:19 +00:00
vaxerski
cec084c178
pass/rect: include clipBox in opaque calculations
...
ref #9730 ref #9709
2025-03-26 11:47:04 +00:00
vaxerski
c2ef8fcc00
groupbar: round boxes
2025-03-26 11:44:38 +00:00
Tom Englund
3fc3521a97
pass: remove unusued timeline in texpass ( #9734 )
...
remove unused timeline and waitpoint in texpass and especially remove
the passing it to renderTextureInternalWithDamage that implicitly
converted it to bool. setting discardActive and allowCustomUV
2025-03-26 02:22:09 +01:00
Arkady Buryakov
9a67354fa2
Groupbar: apply scaling factor to text ( #9731 )
2025-03-26 02:07:56 +01:00
nyx
f7ba86d1f3
keybinds: add sendkeystate dispatcher ( #9599 )
2025-03-25 00:59:13 +01:00
Vaxry
f3db1b172c
decoration: bring back border_part_of_window
...
fixes #9683 , now under decoration: though
2025-03-24 23:57:50 +00:00
Tom Englund
2a6d070774
xwl: dont close the fd to early ( #9715 )
...
dont close the fd until the wl_event_source is removed, so we dont get
another event triggered with an already closed fd.
2025-03-24 19:33:07 +01:00
Vaxry
aec69131cd
seat: avoid sending null surfaces in leave/enter events
...
ref #9699
2025-03-24 14:10:47 +00:00
vaxerski
4b968e5bc1
[gha] Nix: update inputs
2025-03-24 12:57:34 +00:00
UjinT34
a852461c7d
renderer: Simplify and fix hdr metadata setting ( #9706 )
...
* simplify and fix hdr metadata setting
* keep incorrect(?) cm skip till #9600
2025-03-24 13:56:07 +01:00
Mihai Fufezan
e4abf26069
Nix: add changes from Nixpkgs derivation
2025-03-23 18:19:34 +02:00
Mihai Fufezan
006bd9eef5
protocols/meson.build: use native wayland-scanner
2025-03-23 18:15:17 +02:00
Vaxry
5ee35f914f
version: bump to 0.48.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2025-03-23 14:56:13 +00:00
entailz
aa1bd647b1
core/Compositor.hpp: fix non-relative Texture import ( #9703 )
2025-03-23 14:49:10 +02:00
Lee Bousfield
fdb7ca6c8f
core/compositor: Fix dropping cursor buffer data early ( #9700 )
2025-03-22 23:06:02 +01:00
UjinT34
6ab5a0befb
renderer: fix cm_fs_passthrough ( #9698 )
2025-03-22 18:34:01 +01:00
Lee Bousfield
6384f4acf4
core/compositor: Correctly track SHM buffer damage ( #9678 )
2025-03-22 17:13:44 +01:00
Aaron Blasko
4600043a49
hyprpm: return 1 when plugins are outdated ( #9694 )
...
* hyprpm: return 1 when plugins are outdated
* clang-formatted
2025-03-22 17:01:35 +01:00
Lee Bousfield
279b06044c
screencopy, render: Use explicit sync for screencopy ( #9697 )
...
* screencopy, render: Use explicit sync for screencopy
* screencopy: Check if explicit sync is enabled
* screencopy: Don't require explicit KMS enabled
2025-03-22 17:01:14 +01:00
Tom Englund
ccbdba7ee2
syncobj: refactor point timelines ( #9689 )
...
no need to store the resource, just store the csynctimeline as a shared
pointer and make the timeline own the syncobj fd.
2025-03-21 20:19:53 +01:00
UjinT34
c7f0519faf
core: fix DS and VRR automation ( #9334 )
2025-03-21 14:33:07 +01:00
Lee Bousfield
7ea4fbf0ba
types: Upgrade buffer ref from WP to SP ( #9677 )
2025-03-20 11:08:47 +00:00
Tom Englund
f6ca4bac51
syncobj: restore SHM buffer reset ( #9675 )
...
reset shm buffers early to mitigate stuttering animations, also reuse
the monitors eglSync and store the eglsync per monitor. this however
reintroduces flickering in dbeaver nonsyncobj application.
2025-03-20 11:39:55 +01:00
phonetic112
155eba57d8
groupbar: remove 2 pixel gap above groupbar ( #9664 )
2025-03-19 23:09:36 +01:00
Andrei V
7b10530a0d
XWayland: restore the abstract socket, and make it optional ( #9615 )
...
* Revert "xwayland: don't create an abstract unix domain socket on linux (#8874 )" (#9574 )
This reverts commit 2b01a5bcf6 .
* xwayland: make the abstract Unix domain socket optional (#9574 )
* xwayland: extend the default permissions for a regular Unix domain socket (#9574 )
* xwayland: a little refactoring for `createSocket`
2025-03-19 23:06:30 +01:00
Tom Englund
a25a214523
dmabuf: pop buffer on failure ( #9620 )
...
ensure it doesnt permanently gets stuck in the container on failure, pop
it from the container.
2025-03-19 17:49:20 +01:00
Lee Bousfield
c8d80a2920
ci: Fail on warnings ( #9668 )
...
* ci: Fail on warnings
* misc: Fix compiler warnings
2025-03-19 00:46:28 +01:00
Vaxry
03385fc07f
seatmgr: avoid crash on null surfs
2025-03-18 19:43:05 +00:00
vaxerski
cca0f48b74
renderer: add an option to disable cm and auto-skip cm if not necessary
...
fixes #9641
adds render:cm_enabled default true
2025-03-18 11:30:08 +00:00
Kamikadze
60edb376f2
config/defaultConfig.hpp: windowrulev2 -> windowrule ( #9663 )
2025-03-18 13:13:03 +02:00
tachyglossues
6f74d8d7e9
example/hyprland.conf: windowrulev2 -> windowrule ( #9662 )
2025-03-18 12:24:43 +02:00
Vaxry
ec4bea7901
config: nuke windowrule v1 syntax
2025-03-18 01:37:00 +00:00
Honkazel
9171db1984
renderer: delete now redundant ifdefs ( #9651 )
...
Hyprland for now requires aquamarine =>0.8.0 anyway
2025-03-18 02:29:08 +01:00
Ikalco
5f60fc7d00
renderer: only commit hw cursor stuff if needed ( #9654 )
2025-03-17 22:06:41 +01:00
Lee Bousfield
c4f46473df
monitor: Optimize direct scanout damage ( #9653 )
2025-03-17 22:05:44 +01:00
Lee Bousfield
011d7ccb91
internal: Fix compiler warnings ( #9646 )
2025-03-17 15:52:40 +01:00
Lee Bousfield
efc51eb7d1
managers: Use primary backend for cursor swapchain ( #9645 )
2025-03-17 15:51:18 +01:00
nyx
c2835b6b0f
groupbar: remove recursive window recalc ( #9561 )
2025-03-17 15:50:49 +01:00
Mihai Fufezan
d5d7f69d1e
flake.lock: update
...
aquamarine: bump to 0.8.0
hyprcursor: bump to 0.1.12
2025-03-17 14:50:35 +02:00
Ikalco
5cef2f44fe
renderer: allow commits when buffer is unchanged but cursor changed ( #9648 )
2025-03-17 13:06:58 +01:00
Vaxry
22154fa272
opengl: simplify cm pipeline
...
fixes a few mistakes, and skips the CM shader in cpu instead of adding a costly branch
ref #9641
2025-03-16 21:50:20 +00:00
Mihai Fufezan
2ddd16ef28
CMake: install frag files (for real this time)
2025-03-16 19:35:37 +02:00
Mihai Fufezan
d7382aa8a1
CMake: install frag files
2025-03-16 18:27:27 +02:00
Mihai Fufezan
90306bdae6
Meson: include frags in globber
2025-03-16 16:30:50 +02:00
Vaxry
b1ab0f7539
splashes: update for 3ya
2025-03-16 03:03:37 +00:00
Tom Englund
bf5e4bf116
syncobj: dont crash compositor on protocol errors ( #9627 )
...
dont call a member on null pointer if client misbehaves.
as in the weak pointer being expired.
2025-03-15 19:57:52 +01:00
Blackilykat
4c471218c9
renderer: fix window offset for dragged windows ( #9629 )
2025-03-15 19:15:09 +01:00
phonetic112
e59680481d
input: Fix clicking through groupbar tabs ( #9606 )
2025-03-15 01:22:39 +01:00
André Silva
f4315db50f
nix: mesa -> libgbm ( #9612 )
...
d209d800b7
2025-03-14 20:24:55 +02:00
Vaxry
3cc8e8c6be
renderer: don't crash if cm fails to compile
2025-03-14 15:20:08 +00:00
Vaxry
b37944605f
protocols: fix include
2025-03-14 14:35:01 +00:00
Vaxry
f4995c1837
descriptions: remove allow_early_buffer_release
2025-03-14 14:14:10 +00:00
Tom Englund
6ffde36466
syncobj: use eventfd instead of stalling fd checks ( #9437 )
...
* syncobj: cleanup and use uniqueptrs
cleanup a bit missing removals if resource not good, erasing from
containers etc. make use of unique ptrs instead. and add default
destructors.
* syncobj: rework syncobj entirerly
remove early buffer release that was breaking explicit sync, the buffer
needs to exist until the surface commit event has been emitted and draw
calls added egl sync points, move to eventfd signaling instead of
stalling sync point checks, and recommit pending commits if waiting on a
signal. add a CDRMSyncPointState helper class. move a few weak pointers
to shared pointers so they dont destruct before we need to use them.
* syncobj: queue pending states for eventfd
eventfd requires us to queue pending stats until ready and then apply to
current, and also when no ready state exist commit the client commit on
the current existing buffer, if there is one.
* syncobj: clear current buffer damage
clear current buffer damage on current buffer commits.
* syncobj: cleanup code and fix hyprlock
remove unused code, and ensure we dont commit a empty texture causing
locksession protocol and gtk4-layer-shell misbehaving.
* syncobj: ensure buffers are cleaned up
ensure the containers having the various buffers actually gets cleaned
up from their containers, incase the CSignal isnt signaled because of
expired smart pointers or just wrong order destruction because mishaps.
also move the acquire/point setting to buffer attaching. instead of on
precommit.
* syncobj: remove unused code, optimize
remove unused code and merge sync fds if fence is valid, remove manual
directscanout buffer dropping that signals release point on pageflip, it
can cause us to signal the release point while still keeping the current
buffer and rendering it yet again causing wrong things.
* syncobj: delay buffer release on non syncobj
delay buffer releases on non syncobj surfaces until next commit, and
check on async buffers if syncobj and drop and signal the release point
on backend buffer release.
* syncobj: ensure we follow protocol
ensure we follow protocol by replacing acquire/release points if they
arrive late and replace already existing ones. also remove unneded
brackets, and dont try to manual lock/release buffers when it comes to
explicit protocol. it doesnt care about buffer releases only about
acquire and release points and signaling them.
* syncobj: lets not complicate things
set points in precommit, before checking protocol errors and we catch
any pending acquire/release points arriving late.
* syncobj: move SSurfaceState to types
remove destructor resource destroying, let resources destroys them on
their events, and move SSurfaceStates to types/SurfaceState.hpp
* syncobj: actually store the merged fd
have to actually store the mergedfd to use it.
* syncobj: cleanup a bit around fences
ensure the current asynchronous buffer is actually released on pageflip
not the previous. cleanup a bit FD handling in
commitPendingAndDoExplicitSync, and reuse the in fence when syncing
surfaces.
* syncobjs: ensure fence FD doesnt leak
calling resetexplicitfence without properly ensuring the FD is closed
before will leak it, store it per monitor and let it close itself with
the CFileDescriptor class.
* syncobj: ensure buffers are actually released
buffers were never being sent released properly.
* types: Defer buffer sync releaser until unlock
* syncobj: store directscanout fence in monitor
ensure the infence fd survives the scope of attemptdirectscanout so it
doesnt close before it should have.
* syncobj: check if if acquire is expired
we might hit a race to finish on exit where the timeline just has
destructed but the buffer waiter is still pending. and such we
removeAllWaiters null dereferences.
* syncobj: code style changes
remove quack comment, change to m_foo and use a std::vector and
weakpointer in the waiter for removal instead of a std::list.
* syncobj: remove unused async buffer drop
remove unused async buffer drop, only related to directscanout and is
handled elsewhere.
---------
Co-authored-by: Lee Bousfield <ljbousfield@gmail.com>
2025-03-14 15:08:20 +01:00
André Silva
c754d7963f
nix: remove wayland-protocols overlay and bump flake ( #9613 )
...
* flake.lock: update nixpkgs
* nix: remove wayland-protocols bump
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-03-14 09:14:59 +02:00
UjinT34
8c97cb7858
renderer: add simple color management ( #9506 )
...
Adds proper color management and transformations for CM surfaces.
2025-03-14 00:15:18 +01:00
phonetic112
e86d3a14e4
groupbar: add an option to adjust gap sizes ( #9578 )
2025-03-12 15:09:09 +01:00
nyx
4b25fbe5fd
windows: respect noinitialfocus with workspace changes ( #9586 )
...
If a window is specifically placed on another workspace then we should
not "focus" that workspace even if the window itself never gets focused
when noinitialfocus is enabled for the window.
2025-03-11 18:32:01 +01:00
Vaxry
81e93acba4
groupbar: pass alpha to title tex render pass
...
ref #9598
2025-03-11 17:30:12 +00:00
Khalid J.
b21edb1a97
input: fix touch calibration matrix overriding
...
make the default behavior non-overriding to avoid overriding user-set
values elswehere.
2025-03-11 00:51:42 +00:00
MightyPlaza
e4af4b5e2e
core: update decorations on lockgroups ( #9573 )
...
modified: src/managers/KeybindManager.cpp
2025-03-10 18:40:46 +01:00
Ikalco
d30cc19d25
renderer: skip ds commits if buffer didn't change ( #9556 )
...
this fixes direct scanout glitches by ensuring that attemptDirectScanout doesn't try to recommit the same buffer to AQ
which would cause a pageflip event and the backendRelease to release the same buffer too early
2025-03-08 20:24:22 +01:00
nyx
f15b49e0fd
core: prevent crash when monitor list is empty ( #9572 )
2025-03-08 20:14:03 +01:00
nyx
c544c5115c
windowrules: store floating size on close instead of resize ( #9569 )
2025-03-08 14:20:27 +01:00
nyx
b80b64cd6c
windowrules: add option to allow size persistence between app launches ( #9422 )
2025-03-08 02:12:02 +01:00
vaxerski
4082e876d5
[gha] Nix: update inputs
2025-03-07 22:56:23 +00:00
Lee Bousfield
8ce1665fdb
protocols: Fix blocked color management get_information ( #9563 )
2025-03-07 23:54:56 +01:00
nyx
7753e8ea68
keybinds): prevent crash when executing movewindoworgroup ( #9551 )
2025-03-06 23:08:57 +01:00
Vaxry
cb4230e1c2
touch: reject swipe on locked sessions
...
fixes #9542
2025-03-06 22:08:23 +00:00
nyx
7055d0c138
master: add option to keep master window position ( #9537 )
2025-03-06 23:06:05 +01:00
nyx
4435f5c546
input: fixup mouse check for flipping x / y ( #9529 )
2025-03-06 17:33:01 +01:00
Lee Bousfield
7a84317f33
protocols: Fix cursor shape protocol valid shape check ( #9547 )
2025-03-06 16:54:47 +01:00
Abdalrahman Shaban
2433760786
hyprctl: Error handling improvements, minor cleanups ( #9536 )
2025-03-06 00:50:28 +01:00
Matt White
b51ab182ae
socket2: add activespecialv2 ( #9530 )
2025-03-05 20:33:33 +01:00
nyx
d7e7a29261
input: add flip_x and flip_y for touchpad ( #9481 )
2025-03-03 21:56:01 +01:00
Ikalco
f1ef724a87
protocols: Ensure protocol dtors are called in ProtocolManager dtor ( #9521 )
2025-03-03 01:57:49 +01:00
Vaxry
474bfcbccd
core: fix clang-format
2025-03-02 16:24:37 +00:00
Mihai Fufezan
905ca39bc9
nix/module: toHyprconf -> toHyprlang ( #9221 )
...
* nix/module: toHyprconf -> toHyprlang
Updated generator that will end up living in Nixpkgs' `lib/generators`.
* nix/module: use xdph package directly
The downstream module already applies hyprland's
finalPackage to the portalPackage.
* new lib
* lib: add flattenAttrs, remove category processing
Flattening attributes means we no longer need to process categories
separately. For all intents and purposes, they do not exist.
Simplify the codebase once again, while introducing an easy to grasp
recursive function.
Add a bit of documentation for toHyprlang, though I doubt it's clear
enough even now. Still needs proper NixDoc.
* lib: add proper NixDoc
* nix/lib: inherit from lib
2025-03-02 15:41:49 +02:00
Vaxry
3a21dd84b3
core: cleanup some smart pointer usage
2025-03-02 02:19:35 +00:00
Vaxry
e6be4af21f
core: add default initializers for ccompositor ptrs
2025-03-02 02:16:24 +00:00
Vaxry
2c78867a98
core: cleanup window properties
...
they don't need to be in CConfigManager, and belong to window instead
2025-03-02 02:13:37 +00:00
phonetic112
2acbb59bf2
core: ignore internal move workspace calls if the workspace doesn't change ( #9516 )
2025-03-01 19:34:38 +01:00
Vaxry
11943f761e
monitor: avoid crash on expired special workspace monitor owner
...
fixes #9477
2025-03-01 15:56:44 +00:00
Indy Ray
f148b96bea
input: Provide a non-zero time for button release triggered during window unmap. ( #9513 )
...
It doesn't seem that this is actually required, but it seems more consistant with other areas, such as in CVirtualKeyboardV1Resource::releasePressed.
2025-03-01 16:53:30 +01:00
Lee Bousfield
445337d03d
protocols: Fix IWaylandProtocol onDisplayDestroy m_pGlobal double-free ( #9507 )
2025-02-28 02:52:31 +01:00
Lee Bousfield
34f2a4713e
core: Add null activeWorkspace check in moveWorkspaceToMonitor ( #9503 )
2025-02-28 02:52:23 +01:00
Tuur Vanhoutte
d5920bc5da
internal: fix include paths ( #9500 )
...
* Fix include path in Monitor.hpp
* fix more includes
2025-02-27 00:56:11 +01:00
Vaxry
aee9b8ac19
protocols: fix relative include
2025-02-26 22:13:06 +00:00
Vaxry
32a3d84d74
protocols: fix wrong iface for xdg_dialog
...
fixes #9498
2025-02-26 20:49:31 +00:00
Soliprem
002cd91fbf
nix: wp-protocol version bump ( #9494 )
2025-02-26 19:36:24 +02:00
littleblack111
01f4074421
hyprctl/layers: print pid for layershell clients ( #9468 )
...
Adds a `getPID()` fn to layershell to print it in `hyprctl layers`
2025-02-26 16:03:06 +01:00
UjinT34
6787fe8933
protocols: Support wp color management proto ( #9444 )
...
Adds support for the recently merged w-p CM protocol alongside the (now deprecated) old CM WIP protocols
2025-02-26 15:56:37 +01:00
牧羊犬真Q
f0850905f0
cmake: add CXX_STANDARD_REQUIRED flag to ensure c++ version must be c++26 ( #9476 )
...
As the [cmake documentation](https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD_REQUIRED.html ) said, when we use the CMAKE_CXX_STANDARD without CXX_STANDARD_REQUIRED, then the standard version we set will be an optional value, and may decay back to older c++ version. So I add this configuration into cmakelist to ensure c++ version is c++26.
2025-02-25 14:03:09 +00:00
Vaxry
d1ea18b492
hyprctl/config: fixup config descriptions, fill out missing ones, provide more data
...
adds current and explicit, better parsing, and fixes missing / invalid ones
2025-02-25 14:03:04 +00:00
Vaxry
73ae9790f9
hyprpm: add --hl-url for custom forks
2025-02-24 13:11:30 +00:00
nyx
3458d7ac93
xwayland: improve dnd and cleanup ( #9405 )
...
Minor changes to xwayland dnd / regular dnd to fix various issues
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2025-02-24 03:52:10 +01:00
cyanbun96
e59464629f
config: fix a possible crash in the monitor config parser ( #9460 )
...
* Less crash-prone monitor config parser
* clang-format
2025-02-23 23:43:24 +01:00
littleblack111
2e81648980
internal: use isNumber from hyprutils ( #9467 )
2025-02-23 18:35:29 +01:00
Tom Englund
8f50460bfe
xcursor: move config check to sync gsettings ( #9473 )
...
move the check down into the function itself, 39df1f4 began syncing on
session change, but isnt checking for the setting itself, so instead of
duplicating checks all over. do it here.
2025-02-23 18:32:38 +01:00
Vaxry
f4b148df1e
anr: add xwayland support ( #9456 )
...
Adds XWayland support to ANR dialogs
2025-02-21 21:26:53 +01:00
Vaxry
0e24f9c0d5
anr: add a note for no pid dialogs
2025-02-21 16:58:22 +00:00
Aaron Tulino
2cfa5d2408
hyprctl: Add IPC support for Hyprsunset ( #9315 )
...
* Add IPC support for Hyprsunset
* clang-format
* Add documentation
2025-02-21 15:20:11 +01:00
Mihai Fufezan
fa246cb6ed
flake.lock: update hyprutils and aquamarine
2025-02-20 14:56:17 +02:00
nyx
6d25ef09cd
xwayland: add INCR support for clipboard transfers ( #9434 )
...
add INCR protocol support for large transfers
fix write handling for partial transfers
fix an issue where wayland windows could die from a paste from an
xwayland window
2025-02-19 16:29:39 +01:00
Vaxry
0137a5f6cd
anr: capitalize options
2025-02-18 15:20:00 +00:00
Vaxry
3c1a2e9fca
config/descriptions: add enable_anr_dialog
2025-02-18 15:18:34 +00:00
Vaxry
fb8eaba83f
core: add an ANR dialog
...
for xdg-shell, we can ping the wm_base, and thus render an ANR dialog if an app dies
for XWayland, there probably is a similar method, but I don't know about it and don't care.
2025-02-18 15:13:56 +00:00
nyx
3352317ca8
scripts/generateVersion.sh: convert to posix ( #9433 )
2025-02-18 16:18:22 +02:00
Vaxry
e59623d1d5
hyprctl: don't return empty str if there are no global shortcuts
...
fixes #6043
2025-02-18 00:33:36 +00:00
nyx
d01f9943e1
subsurfaces: dont try to access popup surfaces when handling subsurface updates ( #9421 )
2025-02-17 19:02:32 +01:00
andrewandreii
59c615c321
input: add follow_mouse_threshold ( #9392 )
2025-02-17 03:03:27 +01:00
Vaxry
e2a9271150
animations: add the gnomed animation style for windows
2025-02-16 20:53:49 +00:00
Maximilian Seidler
897ee276dc
xwayland: configure on a configure request and cleanup geometry conversion ( #9375 )
...
* xwayland: configure the window on a configure request
* xwayland: move coordinate conversion handling to their own functions
* xwayland: rename configure to configureRequest
2025-02-16 01:20:42 +01:00
andrewandreii
94a30889a7
keybinds: fix some errors not returning a failure ( #9416 )
2025-02-15 20:04:02 +01:00
nyx
9228116c9a
xwayland: fix a possible clipboard race condition ( #9394 )
2025-02-15 20:03:37 +01:00
Roberto Previdi
410da2e46f
workspaces: update persistence on workspace rename ( #9368 )
2025-02-15 15:01:52 +01:00
nyx
7a6fde8414
internal: redirect exec'd app output to /dev/null ( #9411 )
2025-02-15 14:51:17 +01:00
Tom Englund
3eb6cb1875
syncobj: ensure we only add waiters on succesful checks ( #9412 )
...
timeline check only returns nullopt on ETIME_ERR , meaning the if check
later on returns true if drmSyncobjTimelineWait returns anything else
like EINVAL/EPERM/EACCESS etc, so actually check the returned .value()
of the std::optional. also move the fd to rvalue references.
2025-02-15 14:48:52 +01:00
Vaxry
2f967037aa
config: set no_hw_cursors to auto by default and disable on tearing
...
when tearing, updates to the overlay plane may be ignored by the kernel. To avoid the cursor being a slideshow, disable hw cursors
2025-02-15 00:29:27 +00:00
Vaxry
1309b59f2c
monitor: report a scheduled frame when tearing on cursor move
2025-02-15 00:18:43 +00:00
Vaxry
fb36815b01
renderer: remove spammy log
2025-02-14 22:51:41 +00:00
Honkazel
df3fba1572
internal: remove unused variable ( #9402 )
2025-02-14 16:31:03 +01:00
Maximilian Seidler
40adb3dfb4
config: actually set initial beziers ( #9400 )
2025-02-13 11:37:59 +00:00
Anthony Ruhier
5d2b008294
renderer: disable explicit if aquamarine output doesn't support it ( #9396 ) ( #9398 )
...
The explicit settings ignore the aquamarine output.supportsExplicit
attribute, which creates glitches on drivers not supporting explicit
sync (example: freedreno).
If the output has been set as not supporting explicit, disable the
explicit settings.
2025-02-13 11:09:25 +00:00
Maximilian Seidler
208f94fe12
animations: sync inactive/active border angles when using borderangle animations ( #9401 )
2025-02-13 11:08:03 +00:00
Maximilian Seidler
1789405163
session-lock: send locked when in unsafe state ( #9399 )
2025-02-13 11:06:36 +00:00
nyx
68bb3e7f0a
env: move XDG_SESSION_TYPE to before backend init ( #9390 )
2025-02-12 13:54:42 +00:00
J. J. Ramsey
f83fe9986b
protocols: add version 2 of ext-idle-notify-v1 protocol ( #8959 )
...
Signed-off-by: James Ramsey <james.jehiel.ramsey@gmail.com>
Co-authored-by: James Ramsey <james.jehiel.ramsey@gmail.com>
2025-02-11 15:58:43 +01:00
Mihai Fufezan
f2d43e5f21
nix/overlays: add wayland-protocols overlay
2025-02-10 20:17:29 +02:00
Mihai Fufezan
e1179b665b
flake.lock: update
2025-02-10 20:11:35 +02:00
Vaxry
f261fb6fe0
groupbar: fix groupbar missing when indicator_height is <= 0
...
ref #9291 #9372
2025-02-09 17:58:09 +00:00
Vaxry
3a43e7bb9a
config: default movefocus_cycles_fullscreen to false
...
less confusing
2025-02-09 17:50:54 +00:00
Vaxry
1f97643e83
core: add mallopt to modify trim threshold
2025-02-09 17:38:20 +00:00
clamydo
56f6f61596
tablet: take active_area_size into account when sending tip event ( #9325 )
...
* fixes #9322 , take `active_area_size` into account when sending tip event
* check if `relative_input` is set
As suggested by @y47s5s68tq870r7tc1xpp755pabopg
* refactoring active area in own function to keep it DRY
* coding style
* making transformation static
---------
Co-authored-by: clamydo <clamydo@users.noreply.github.com>
2025-02-09 15:30:30 +01:00
Honkazel
8e10ddb592
datadevice: fix wrong param ( #9370 )
...
Reason: look at the setReceive parameters and also at the next line(tries to narrow)
2025-02-08 22:00:55 +01:00
nyx
feb8ad48f0
groups: deactivate unfocused windows in groups ( #9354 )
2025-02-08 15:05:44 +01:00
Tom Englund
f7fcbe32c9
renderer: various fixes towards improving gpu calls robustness ( #9188 )
...
ensure framebuffer textures are detached and deleted, avoid leaving framebuffers bound when not needed
* render: avoid calling glDeleteProgram on no program
its safe to do so but it adds a bunch of unnecessery lines in apitrace
when tracing. if guard it and return early.
* opengl: ensure texture and buffers are unbound
ensure bound buffers are unbound after use, also detach textures from
framebuffer before deleting it otherwise it will become dangling and
essentially leak.
2025-02-08 01:46:26 +01:00
Paul Cross
a724332eb8
desktop: add ability to target pinned windows in workspace rules ( #9344 )
...
* desktop: add ability to target pinned windows in workspace rules
* desktop: add ability to target pinned windows in workspace rules
* fix formating
2025-02-08 01:45:13 +01:00
Vaxry
54441e0c4e
renderer: fix fade out on silent moves to special
2025-02-06 17:45:28 +00:00
WhySoBad
acbcf0cf11
toplevelexport: fix transformed origin for shm buffers ( #9343 )
...
* toplevelexport: fix transformed origin for shm buffers
* toplevelexport: fix style nits
2025-02-06 12:42:20 +00:00
vaxerski
30b49c75bf
popup: improve ::at() behavior
2025-02-06 12:15:41 +00:00
Maximilian Seidler
ff9e059de6
window: move size reporting to animation begin callback ( #9298 )
...
* window: fix resizes with an update callback
* window: fixup sendWindowSize
Remove the size argument from sendWindowSize, since it is now a member of the Window class
and we don't want any mismatches between m_vRealSize and what we report.
Remove sendWindowSize from mapWindow, since we shouldn't need it.
* window: sendWindowSize on animation begin
* window: move most calls to sendWindowSize to the animation begin
callback
* window: remove sendWindowSize in unmanaged if not fullscreen
2025-02-06 11:21:04 +00:00
Tom Englund
f1e32cd122
core: avoid .at() and use [] operator ( #9347 )
...
avoid .at() where it makes sense and use [] operator in loops.
2025-02-06 11:18:04 +00:00
nyx
868b2b544a
window: fix missing surface null checks to prevent crashes ( #9350 )
2025-02-06 11:17:12 +00:00
Vaxry
8a6778f0a0
scripts: don't overwrite generated version if we're not in a git repo
2025-02-05 15:42:01 +00:00
raf
64591c85aa
nix: add hydraJobs output for aggregating Hyprland build jobs
2025-02-05 16:55:33 +02:00
nyx
873bff390e
renderer: fix missing null checks to prevent crashes ( #9332 )
2025-02-05 15:53:09 +01:00
Tom Benham
84c9baecc6
keybinds: Added toggleswallow dispatcher ( #5548 )
...
* Added `toggleswallow` dispatcher
* clang-format
* Removed brackets for 1-line if
2025-02-05 09:56:41 +00:00
vaxerski
3b99e906df
compositor: don't iterate over unmapped ls-es in vectorToLS
...
fixes #9312
2025-02-04 10:18:08 +00:00
Vaxry
5e7292434a
compositor: guard null ws in updating fade
2025-02-03 22:36:10 +00:00
Vaxry
70cfc7cc9c
cmonitor: guard old workspace
2025-02-03 19:53:14 +00:00
Vaxry
1da0b2c02e
subprojects: update h-p
...
fixes #9309
2025-02-03 19:45:26 +00:00
Alexander
708d166360
dispatchers: add cyclenext hist option ( #9055 )
2025-02-03 02:34:30 +01:00
Vaxry
44004abc01
config: fix includes
2025-02-02 22:20:28 +00:00
UjinT34
31431a9271
protocols: Support content-type-v1 proto ( #9226 )
2025-02-02 20:25:29 +01:00
Alexander
70d94fec13
refactor: clang-tidy in compositor ( #9241 )
...
Co-authored-by: Alexandr Krylov <t@ruenya.nix>
2025-02-02 18:34:26 +01:00
outfoxxed
373108102c
protocols: implement hyprland-ctm-control rev 2 ( #9267 )
...
* protocols: implement hyprland-ctm-control v2
* bump h-p and nix
2025-02-02 18:31:04 +01:00
micha4w
97a24ec6f3
Nix: change meson buildtype from debugoptimized to debug
2025-02-02 14:32:03 +02:00
Vaxry
64fefa3749
desktop: move popups to UPs and fix missing subsurface resource
...
fixes #9283
2025-02-01 19:10:19 +00:00
Vaxry
e380b6ed66
popup: take xdg geometry into account in input calcs
...
fixes #9023
2025-02-01 15:49:10 +00:00
Vaxry
88adae73ba
pass: add input region debug
2025-02-01 15:31:31 +00:00
Vaxry
c6f672257b
desktop: move popup and subsurface ctors to factories
...
makes sure m_pSelf is set before we do anything like possibly adding children
fixes #9275
supersedes #9276
2025-02-01 15:08:30 +00:00
Maximilian Seidler
5b43c106bd
animation: don't immediately disconnect active vars during tick ( #9272 )
2025-02-01 15:44:20 +01:00
Mihai Fufezan
d11d069715
CI/Nix: remove deprecated magic-nix-cache-action
2025-02-01 09:29:06 +02:00
nyx
ddf180fa30
render: enforce framebuffer offloading and remove introspection toggle ( #9217 )
2025-01-31 17:08:43 +01:00
nyx
a4b7d1c2d7
xwayland: correct pointer coordinate mismatch in X11 windows ( #9259 )
...
refactor(xwayland): add back comments
2025-01-31 14:36:56 +01:00
Mihai Fufezan
12b5034c99
configWatcher: watch both symlinks and canonical paths ( #9219 )
2025-01-31 14:36:22 +01:00
Vaxry
9c38287410
groupbar: various visual improvements
...
added rounding, round at edges, and indicator height
2025-01-31 13:32:36 +00:00
Brayden Zee
ac5668192e
desktop: fix segfault when destroying a partially create layer surface ( #9247 )
2025-01-31 13:33:51 +01:00
Aaron Tulino
7d51dee103
hyprctl: Extract IPC code to separate method ( #9223 )
...
This makes it possible to use the same IPC code for more projects in the future
2025-01-31 13:33:36 +01:00
nyx
ea16b64ec1
xwayland: prevent invalid window configurations for X11 apps ( #9253 )
...
* fix(xwayland): prevent invalid window configurations for X11 apps
* refact(xwayland): remove unneeded line
2025-01-31 13:26:08 +01:00
Ikalco
e6a9cfab91
monitor: preferred mode now tries first 3 modes if preferred fails before erroring ( #9246 )
2025-01-31 13:23:32 +01:00
nyx
ef03f69116
xwayland: handle window coords correctly ( #9238 )
2025-01-30 22:36:42 +01:00
Tom Englund
32c0fa2f2f
core: begin using CFileDescriptor from hyprutils ( #9122 )
...
* config: make fd use CFileDescriptor
make use of the new hyprutils CFileDescriptor instead of manual FD
handling.
* hyprctl: make fd use CFileDescriptor
make use of the new hyprutils CFileDescriptor instead of manual FD
handling.
* ikeyboard: make fd use CFileDescriptor
make use of the new CFileDescriptor instead of manual FD handling, also
in sendKeymap remove dead code, it already early returns if keyboard
isnt valid, and dont try to close the FD that ikeyboard owns.
* core: make SHMFile functions use CFileDescriptor
make SHMFile misc functions use CFileDescriptor and its associated usage
in dmabuf and keyboard.
* core: make explicit sync use CFileDescriptor
begin using CFileDescriptor in explicit sync and its timelines and
eglsync usage in opengl, there is still a bit left with manual handling
that requires future aquamarine change aswell.
* eventmgr: make fd and sockets use CFileDescriptor
make use of the hyprutils CFileDescriptor instead of manual FD and
socket handling and closing.
* eventloopmgr: make timerfd use CFileDescriptor
make the timerfd use CFileDescriptor instead of manual fd handling
* opengl: make gbm fd use CFileDescriptor
make the gbm rendernode fd use CFileDescriptor instead of manual fd
handling
* core: make selection source/offer use CFileDescriptor
make data selection source and offers use CFileDescriptor and its
associated use in xwm and protocols
* protocols: convert protocols fd to CFileDescriptor
make most fd handling use CFileDescriptor in protocols
* shm: make SHMPool use CfileDescriptor
make SHMPool use CFileDescriptor instead of manual fd handling.
* opengl: duplicate fd with CFileDescriptor
duplicate fenceFD with CFileDescriptor duplicate instead.
* xwayland: make sockets and fds use CFileDescriptor
instead of manual opening/closing make sockets and fds use
CFileDescriptor
* keybindmgr: make sockets and fds use CFileDescriptor
make sockets and fds use CFileDescriptor instead of manual handling.
2025-01-30 11:30:12 +00:00
Honkazel
7d1c78f4a3
core,hyprctl: clang, clang-tidy, typo fixes and dtors changes ( #9233 )
...
* declare dtor once + DMABBUF typo fix
* dup include + clang moment
* linux-dmabuf: last minute nit change
2025-01-30 11:07:06 +00:00
Vaxry
d462cc7fa1
subsurface: fix invalid parent typo
...
fixes #9224
2025-01-29 23:16:25 +00:00
Vaxry
09ec1cca51
popup: stop refocusing at unmap
...
fixes #9018
2025-01-29 23:05:59 +00:00
Mihai Fufezan
6fc9c8e479
flake.lock: update
2025-01-29 22:45:38 +02:00
Vaxry
6131919715
monitor: round refresh rates in sorting modes
...
fixes #9209
2025-01-29 13:34:11 +00:00
vaxerski
aaa5573c73
config/hyprctl: fix keyword not updating autoreload
...
ref #9139
2025-01-29 10:50:39 +00:00
vaxerski
344e32d71b
pass/rect: fix bounding / opaque regions
...
fixes #9212
2025-01-29 10:42:46 +00:00
Owen L.
d41135d07c
input: change window grab cursor to closed hand ( #9196 )
2025-01-29 10:27:34 +01:00
nyx
b884f1f7c8
renderer: calculate UV using both pixel and monitor dimensions ( #9210 )
2025-01-29 09:41:56 +01:00
Vaxry
3d1dd6b5c7
presentation: log a fixme when there is a feedback leak
...
ref #8087
2025-01-28 23:43:31 +00:00
Tom Englund
1d3904c3e7
configmgr: properly free glob memory
...
globfree is only freeing internally allocated resources, so also call
free the on glob_t memory we allocated.
2025-01-28 11:19:52 +01:00
Tom Englund
529ad4eaf4
ikeyboard: free xkbSymState in clearManuallyAllocd
...
asan reported a leak on xkbSymState on destruction, because it wasnt
beeing unrefed, was only being unrefed on calls to updateXKBTranslationState.
2025-01-28 11:19:52 +01:00
DDoSolitary
d3042e5358
xwayland: respect window size set by configure requests ( #9190 )
2025-01-28 10:04:57 +00:00
Jan Beich
d2773d7a4e
deps: add libinotify-kqueue on BSDs after 8dd2cd41fb ( #9197 )
...
src/config/ConfigWatcher.cpp:2:10: fatal error: 'sys/inotify.h' file not found
2 | #include <sys/inotify.h>
| ^~~~~~~~~~~~~~~
2025-01-27 23:06:48 +01:00
matt1432
5fd90548dc
nix: fix duplicate inputs and update flake.lock
2025-01-27 22:45:18 +02:00
Mihai Fufezan
25d5ce4833
CI/setup_base: add libspng
2025-01-27 22:25:27 +02:00
DDoSolitary
e7a72de9b5
xwayland: send synthetic configure events ( #9193 )
2025-01-27 17:45:15 +01:00
littleblack111
cb7ed4f62b
ci: clang-format fix ( #9145 )
...
* move
* revert, comment via peter-evans/commit-comment@v3
* remove
2025-01-27 17:41:26 +01:00
Vaxry
2a478c30ca
core: fix clang-format
2025-01-27 13:41:38 +00:00
Vaxry
04ac46c543
version: bump to 0.47.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2025-01-27 11:43:43 +00:00
Vaxry
2f55806d6f
renderer: fix rare case when a tiled window would be rendered over fs
2025-01-26 21:06:25 +00:00
user111111111111111111111111111111111
3b207d29bd
core: update groups on movewindow ( #9183 )
2025-01-26 20:06:50 +01:00
Vaxry
6bd6c5512e
hooksystem: avoid huge include for HANDLE
2025-01-26 18:38:35 +00:00
Vaxry
bb5b09def0
renderer: fix funky corners
...
oopsie
2025-01-26 16:00:29 +00:00
Vaxry
efe29a2461
shadow: avoid drawing empty shadows
2025-01-26 16:00:28 +00:00
Vaxry
e951011503
renderer/internal: stop using box pointers
...
in favor of const refs
2025-01-26 15:05:34 +00:00
Vaxry
16aeb24bc1
core: make persistent workspaces always follow the config
...
instead of just staying after open, they will now be enforced on their respective monitors
fixes #8769
2025-01-26 14:40:42 +00:00
Vaxry
74d0f34cf3
pointer: always scale the cpu cursor to the right size
...
fixes #9003
2025-01-26 14:25:54 +00:00
Maximilian Seidler
4abf9155ee
window: only set m_iMonitorMovedFrom when the workspace is visible ( #9178 )
2025-01-26 14:00:52 +01:00
Vaxry
0a28e13787
desktop: move desktop types to memory-safe pointers
2025-01-26 12:54:38 +00:00
Maximilian Seidler
3cd6e3960f
xwayland: fix pointer mismatches with multiple monitors ( #9179 )
2025-01-26 13:23:39 +01:00
Vaxry
8b1d6e3009
subsurface: damage the entire parent on size change
...
the previous method doesn't exactly work, idk todo fix
fixes #8784
2025-01-25 21:57:58 +00:00
Vaxry
445acec2a2
core: move sendWindowSize off of xwaylandmgr
...
additionally fixes that one weird x11 issue with floating windows being mis-sized on open
2025-01-25 20:36:44 +00:00
Vaxry
45c3787e75
window: revert only set m_iMonitorMovedFrom, when moving to a different monitor
...
This reverts commit 089fdd1ea0 .
Great commit.
2025-01-25 19:37:52 +00:00
Junxuan Liao
9199a9746d
input: pass touch events to lock screens ( #9129 )
...
* refactor: use weak pointers for session lock surfaces
* input: pass touch events to lock screens
2025-01-25 19:44:13 +01:00
Vaxry
bce58d9d65
dwindle: fix possible crash on null ws
2025-01-25 18:34:15 +00:00
heather7283
f3fc8d599a
config/ConfigWatcher.cpp: add missing include needed for clang ( #9166 )
2025-01-25 19:23:53 +01:00
Maximilian Seidler
107723bdf4
config: disable borderangle by default ( #9165 )
2025-01-25 19:23:36 +01:00
Mihai Fufezan
065e89648b
flake.lock: update
2025-01-25 15:33:27 +02:00
Vaxry
354d4594de
xwayland: various window handling fixes
...
I hate this fucking garbage
2025-01-25 02:35:41 +00:00
Maximilian Seidler
089fdd1ea0
window: only set m_iMonitorMovedFrom, when moving to a different monitor ( #9160 )
2025-01-25 00:27:24 +01:00
heather7283
1815f9a2e5
compositor: fix incorrect cast, use lambda capture instead ( #9161 )
2025-01-25 00:26:46 +01:00
Vaxry
d8f79d7678
core: add --verify-config to verify the config with Hyprland
...
fixes #9135
2025-01-24 20:30:21 +00:00
Maximilian Seidler
80b2fd135b
animations: fix borderangle once ( #9149 )
2025-01-24 19:22:05 +01:00
Vaxry
fda9790cde
layout: force full damage on toggling floating mode
...
fixes #8849
2025-01-24 17:51:16 +00:00
heather7283
9b3f71390c
layershell: check if layer is valid ( #9156 )
...
fixes compositor crash when client tried to create a layer surface with
invalid layer argument
2025-01-24 16:51:31 +01:00
Maximilian Seidler
0e5d03a557
datadevice: do the unfocus surface stuff before dndActive is true ( #9157 )
2025-01-24 16:50:15 +01:00
Vaxry
57a39984dd
input: abord dnd op on escape pressed
...
ref #9154
2025-01-24 13:37:30 +00:00
Vaxry
944e36ea2e
config: fix misc:disable_autoreload
...
fixes #9139
2025-01-24 13:23:23 +00:00
Vaxry
4a1b960cbe
layout: set window size after toggling floating
2025-01-24 00:49:47 +00:00
Vaxry
5d8261aee2
xwayland: avoid sending value of real size to xwayland
2025-01-24 00:25:14 +00:00
Vaxry
d075d1cab9
pass/rect: fix bounding box
2025-01-23 22:59:42 +00:00
Vaxry
bb099e5733
pass/rect: fix box shrinking with bb
...
fixes #9084
2025-01-23 22:57:14 +00:00
Vaxry
dadb2e0949
opengl: use uv to avoid rendering the entire blurbox
...
additionally can use smoothing for rounding
fixes #9086
2025-01-23 22:41:46 +00:00
Vaxry
a8c2d5a616
layout: damage window properly on float mode changes
...
fixes #8849
2025-01-23 22:15:14 +00:00
outfoxxed
465cf66df1
protocols: add hyprland_surface_v1.set_visible_region implementation ( #9120 )
2025-01-23 22:57:33 +01:00
Vaxry
1a0a22ad03
configmgr: fix crash on very early plugin loads
2025-01-23 21:27:11 +00:00
Vaxry
0a1ae48a9f
core: move all shared_ptrs from the STL to hyprutils ( #9143 )
2025-01-23 21:55:41 +01:00
Mihai Fufezan
ae403e6a05
flake.lock: update
2025-01-23 14:48:37 +02:00
Junxuan Liao
ae4e38d9d5
tablet: send motions on tip events ( #9132 )
...
Typically, the position of the tool tip also changes on tool tip events, so we
should forward this update to the clients.
2025-01-23 12:35:13 +00:00
littleblack111
ecae3c5e4b
ci: fix "Resource not accessible by integration" for cf workflow ( #9144 )
2025-01-23 12:32:44 +00:00
maround95
f1bd62806e
core/renderer: Add GPU hotplug support ( #8980 )
2025-01-23 11:08:19 +00:00
DDoSolitary
fda5626594
xwayland: fix sending large clipboard data ( #9134 )
2025-01-22 14:27:46 +00:00
DDoSolitary
c90dbfab6f
xwayland: fix clipboard mime name and atom mismatch ( #9137 )
2025-01-22 14:26:53 +00:00
Vaxry
d335c8f101
fractional-scale: avoid redundant and duplicate scale events
...
fixes #9126
2025-01-22 10:41:04 +00:00
amnesiacsardine
c8a0443adc
config/ConfigManager.cpp: add instruction to edit config ( #9130 )
2025-01-22 12:16:46 +02:00
Christoph Hrdinka
ce48bc5408
flake.lock: update ( #9128 )
2025-01-21 21:21:00 +02:00
Alexander
da6e966313
keybinds: add visible arg for cyclenext ( #9045 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2025-01-21 14:17:07 +00:00
Zach DeCook
a661203bb6
xwayland: fix crash when trying to initialize without Xwayland installed ( #9077 )
2025-01-20 18:40:51 +00:00
DDoSolitary
9e8d9791c7
xwayland: support sending clipboard change notification on focus ( #9111 )
2025-01-20 17:53:29 +00:00
Maximilian Seidler
2d82a92324
config: fix float animation speeds < 0 ( #9123 )
2025-01-20 16:48:04 +00:00
Maximilian Seidler
407453166c
protocols: add hyprland_lock_notify_v1 implementation ( #9092 )
2025-01-19 18:21:36 +00:00
vaxerski
8dd2cd41fb
core: move to inotify for monitoring the config files
...
instead of manually polling every second which is not efficient, use inotify.
an added bonus is that inotify is much much faster
2025-01-19 16:11:12 +01:00
vaxerski
0a0e56d99c
core: use readFileAsString instead of cat for os-release
2025-01-19 14:04:59 +01:00
outfoxxed
086fd7ece8
protocols: do not destroy screencopy resources before client request ( #9048 )
2025-01-19 12:51:42 +00:00
Tom Englund
4da9b7cc5b
core: reserve vector sizes as much as we can ( #9118 )
...
avoid reallocations as much as possible with a few edge cases where the
reservation overshoots a tiny bit. but a few bytes of memory short term
is better used then the overhead of potential reallocation.
2025-01-19 10:38:42 +00:00
Charlie Root
f56153a9c1
nix/module.nix: expand nixos module for configuring hyprland
...
Expand the nixos module to be able to configure hyprland, just like the
current home-manager module does.
2025-01-18 12:48:38 +02:00
Mihai Fufezan
a36fa5c229
Nix: disable hyprpm
...
It does not work properly on Nix anyway. If you were using hyprpm in
some way before, please switch to using the `plugins` option in the
HM module (and the upcoming option in the NixOS module, soon™).
2025-01-18 11:39:44 +02:00
Mihai Fufezan
fdfcfc824e
CMake, Meson: add option controlling hyprpm building
2025-01-18 11:39:44 +02:00
Mihai Fufezan
d01756c1f4
Meson: properly install 'hyprland' symlink ( #9091 )
2025-01-18 10:59:25 +02:00
UjinT34
078e13f463
renderer: Auto enable wide color gamut in HDR mode ( #9090 )
2025-01-17 20:23:57 +00:00
vaxerski
47d645d84a
core: fixup includes
2025-01-17 19:14:55 +01:00
Beau
b65f8a8723
desktop/DesktopTypes.hpp: fix include ( #9104 )
2025-01-17 18:56:43 +01:00
vaxerski
401a3bae61
core: fix warning in shadow
2025-01-17 18:56:43 +01:00
vaxerski
76a899627e
regex: log an error if regex parsing fails
2025-01-17 18:56:43 +01:00
vaxerski
b7a3c45269
core: add LIKELY and UNLIKELY macros
...
helps the compiler optimize
2025-01-17 18:56:39 +01:00
user111111111111111111111111111111111
2bad73354a
core: cleanup header includes ( #9088 )
...
Cleanup some unneeded includes to speed up compilation
2025-01-17 15:21:35 +00:00
Vaxry
0dc7367a70
renderer: use cairo for cpu buffer rendering ( #9071 )
...
Instead of a wonky memcpy which doesn't work when anything non-standard is used (size, pos, transform), just use cairo
2025-01-16 14:42:39 +00:00
UjinT34
52b9ae592b
renderer: fix fullscreen hdr check ( #9076 )
2025-01-16 13:13:47 +01:00
vaxerski
25add26881
renderer: unload background texture if it's disabled
...
ref #9031
2025-01-14 17:52:32 +01:00
outfoxxed
f16f170433
protocols: immediately copy toplevel content when ignoreDamage set ( #9049 )
...
Also sets m_ignoreDamage, as it wasn't set before.
2025-01-14 16:44:09 +00:00
outfoxxed
a6b263713a
protocols: allow hyprland-toplevel-export to capture hidden windows ( #9041 )
2025-01-12 17:10:36 +00:00
outfoxxed
4f0f512cab
protocols: do not capture cursor in toplevel without pointer focus ( #9042 )
2025-01-12 17:09:02 +00:00
UjinT34
a3a7499317
renderer: Do not set hdr metadata unless needed ( #9014 )
2025-01-12 17:02:41 +00:00
staz
b117fae3b4
keybinds: fix movefocus fallback for special workspaces ( #9040 )
2025-01-12 17:00:56 +00:00
Toria
2671656a75
helpers/Monitor.cpp: fix include path ( #9039 )
2025-01-12 18:35:10 +02:00
Maximilian Seidler
2778aff08f
animations: fix XWayland cursor glitch and refactor skill issues ( #9033 )
2025-01-11 16:38:04 +00:00
Maximilian Seidler
9e4f90aedf
animation: fixup adding animvars during ::tick ( #9030 )
2025-01-11 16:35:57 +00:00
Alexander
15dc024a39
keybinds: fix previous_per_monitor logic ( #9010 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2025-01-11 16:05:53 +00:00
littleblack111
3b85690aa6
config: add exec(-onec) with rules and execr(-once) ( #8953 )
2025-01-11 15:58:05 +00:00
vaxerski
cef09fbfe6
animation: avoid crashes in ::tick() on mutations
...
mutating the active variables is valid during a tick, we can't let it crash
2025-01-10 21:55:19 +01:00
UjinT34
a8b568c6c4
core: Add render:allow_early_buffer_release to make buffer release configurable ( #9019 )
2025-01-10 18:42:26 +00:00
Vaxry
b5fb6110ab
core: Add a periodic donation request ( #8981 )
...
Will fire once in december and july. Disableable with `ecosystem:no_donation:nag`
2025-01-10 18:09:40 +00:00
littleblack111
da9252a23e
keybinds: fix nullptr deref in forcekillactive ( #9021 )
2025-01-10 15:16:52 +00:00
vaxerski
8475a8ef99
core: always use goal size to send to clients
2025-01-10 14:09:16 +01:00
Dardo D Kleiner
f9c37ca43b
windows: honor xdg_toplevel_set_fullscreen output hint ( #8965 )
...
Co-authored-by: Dardo D Kleiner <dardo.kleiner@nrl.navy.mil>
2025-01-09 22:38:38 +00:00
vaxerski
9dc9366fc6
config: fix animations requiring all args
...
fixes #9009
2025-01-09 22:08:16 +01:00
littleblack111
85aba23cbe
ci(clang-format): directly do the clang-format instead of error ( #8955 )
...
Will suggest a clang-format fix on every MR that violates it.
2025-01-09 20:54:25 +00:00
zakk4223
2d1ebadb9b
selectors: add a tag: to for matching window tag(s) by regex ( #8985 )
2025-01-09 20:52:26 +00:00
Maximilian Seidler
e66eab7b6a
animationmgr: don't warp based on POINTY value ( #9000 )
2025-01-09 11:13:47 +00:00
littleblack111
c9822b08f9
keybinds: add new window destruction dispatchers ( #8962 )
2025-01-08 21:16:34 +00:00
vaxerski
983bc067da
opengl: fix crash on null fb stencil op
2025-01-08 12:34:43 +01:00
vaxerski
b320bc2dc6
core: use cpu-buffer hw cursors on nvidia by default
2025-01-08 12:29:24 +01:00
vaxerski
ad64726f5d
opengl: only allocate offMainFB on demand
...
These are not used by hyprland, only potentially plugins. No need to keep the VRAM allocated all the time
2025-01-08 11:33:45 +01:00
Maximilian Seidler
5fa2594659
renderer: don't access hdrMetadata optional if it has no value ( #8987 )
2025-01-08 10:28:55 +00:00
staz
75727e7c17
protocols: fix compilation error ( #8988 )
2025-01-08 10:28:47 +00:00
vaxerski
67e1e46f9b
window: fixup fade out animation on silent moves
2025-01-07 20:58:49 +01:00
vaxerski
308b1f3afb
core: minor fixes for animation rewrite
2025-01-07 20:30:44 +01:00
vaxerski
c143907857
config: update animation even if disabled
2025-01-07 20:27:07 +01:00
UjinT34
830350a1f7
core: Add support for HDR and color management protocols ( #8715 )
2025-01-07 18:32:50 +00:00
vaxerski
95542e4488
animationmgr: fix invalid include
2025-01-07 19:13:35 +01:00
Maximilian Seidler
5642ed331d
core: move parts of the animation system to hyprutils ( #8868 )
...
* core: change animation manager to use Hyprutils::Animation
* config: move animation config to hyprutils animation tree
* use g_pAnimationManager->createAnimation and the new PHLANIMVAR template
* core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks
* core: adapt animated variable usage (dereference the shared pointer)
* misc: bump CMakeLists to hyprutils 0.3.3
2025-01-07 17:55:14 +00:00
Zetta1 Reid0
c7086f936a
master: add option to show slaves on left in center orientation ( #8940 )
...
Co-authored-by: Zetta1_Reid0 <11255-Zetta1_Reid0@users.noreply.gitlab.xfce.org>
2025-01-07 17:50:34 +00:00
Pollux
b9f110ef87
shaders: fix blank windows when using corner rounding ( #8969 ) ( #8971 )
2025-01-06 19:30:57 +00:00
Byso
1bf4937b02
hyprctl: fix hyprctl --batch not working with exec rules ( #8952 )
2025-01-06 16:52:59 +00:00
UjinT34
6a90b50545
core/compositor: fix too early buffer release ( #8966 )
2025-01-06 16:52:35 +00:00
Mike Will
602d6b7356
snap: don't snap to any windows if workspace has a fullscreen window ( #8870 )
2025-01-06 16:37:13 +00:00
vaxerski
780e3dd542
[gha] Nix: update inputs
2025-01-06 14:29:29 +00:00
vaxerski
f1a7a7497e
datadevice: guard XWayland server against crashes
...
The server might be dead or restarting, and we'd deref null
ref #7822
2025-01-06 15:27:57 +01:00
vaxerski
f390f48a07
pass: fixup debug mode rendering of input boxes
2025-01-05 23:19:13 +01:00
vaxerski
1b06d222cf
pass/surface: fixup invalid expansion by old -1 rounding param
...
fixes #8889
2025-01-05 20:35:24 +01:00
vaxerski
391ff29110
pass: improve pass debug mode
2025-01-05 19:49:31 +01:00
Pollux
a5c14370c1
renderer: Add supercircular window corners ( #8943 )
...
renderer: Add supercircular shadows and borders
config: Add rounding_power to default and example configs
rule: add `roundingpower` window rule
2025-01-05 18:38:49 +00:00
Sergio Miguéns
b0bae15499
master: make loop around optional when cycling ( #8926 )
2025-01-04 16:40:33 +00:00
vaxerski
e8317ae34d
xwayland: don't define atoms on no_xwayland builds
...
fixes #8661
2025-01-04 17:35:11 +01:00
vaxerski
a25d228840
windows: minor initial workspace improvements
...
ref #8942
2025-01-04 17:21:02 +01:00
vaxerski
60f069d540
groupbar: fix missing ellipsize for text
...
fixes #8938
2025-01-04 00:25:01 +01:00
vaxerski
2e6e0e9278
core: guard workspace and monitor in moveWorkspaceToMonitor
...
ref #7822
2025-01-04 00:10:21 +01:00
davc0n
f69e72eca1
socket2: add focusedmonv2 event ( #8921 )
...
* socket2: add focusedmonv2 event
* socket2: remove workspace name from focusedmonv2
2025-01-03 22:43:48 +00:00
rszyma
b0cd9972e8
github: bug issue template improvements ( #8894 )
2025-01-03 12:47:34 +00:00
vaxerski
f3c49c1295
pass: ignore empty rectangles queued
...
ref #8935
2025-01-02 21:58:23 +01:00
vaxerski
4971725b69
config: avoid querying the fs every tick
2025-01-02 18:29:10 +01:00
vaxerski
1697171fc0
pass: allow removing all pass elements of a given type
2025-01-02 18:14:45 +01:00
vaxerski
81721b8aa8
groupbar: unify title rendering
...
moves the text renderer to the unified opengl impl
2025-01-02 17:50:55 +01:00
vaxerski
365caa49ff
keybinds: attempt to wrap around if fallback is allowed in movefocus
...
fixes #8909
2025-01-02 17:36:02 +01:00
vaxerski
94381e5999
dnd/seat: avoid sending button events during a dnd op
...
fixes #8781
2025-01-02 15:58:28 +01:00
outfoxxed
42fd366046
protocols: fix alpha-modifier noncompliance ( #8929 )
...
Also fixes small issues with hyprland-surface opacity < 1.0 while
surface alpha = 1.0.
2025-01-02 11:53:57 +00:00
Raymond Bian
cbd2451570
renderer: fix CRendererHintsPassElement reset duplication issue ( #8928 )
2025-01-02 11:51:59 +00:00
outfoxxed
dde3e082c9
protocols: add hyprland_surface_v1 implementation ( #8877 )
2025-01-01 23:34:02 +00:00
vaxerski
9f3c9ac01a
pass: mark crucial elements as undiscardable
2025-01-01 22:55:21 +01:00
vaxerski
7f177fa1cf
layershell: return focus to a valid ls on close if possible
2025-01-01 17:28:04 +01:00
vaxerski
d64ac47202
pass: improve pass debugging
2025-01-01 17:26:05 +01:00
vaxerski
4e93b2def5
renderer: use a render pass for render modif in client render
...
fixes #8918
2025-01-01 14:11:21 +01:00
vaxerski
aff34089c4
monitor: avoid crashes on no good modes
...
fixes #8915
2025-01-01 13:47:16 +01:00
davc0n
1989b0049f
hyprpm: add glaze dependency FetchContent fallback ( #8899 )
...
Use FetchContent to retrieve glaze dependency if not available with
find_package.
Allows to build hyprpm w/o installing glaze at system level (on some distros is
not available in official repositories).
2024-12-30 19:12:29 +00:00
vaxerski
9f933da1c5
renderer: fix oversized blur precalcs not blurring at all
...
fixes #8839
2024-12-30 20:00:45 +01:00
Ikalco
af301312d5
core: fix custom resolutions ( #8897 )
2024-12-30 18:45:42 +00:00
vaxerski
8c14c2a5f4
ctm: disable fade animation by default on nvidia
...
Fixes #8891 , the nvidia driver dies when we spam CTM too much.
2024-12-30 11:58:35 +01:00
Ikalco
cb211d83f6
internal: few small monitor improvements ( #8890 )
...
* remove framesToSkip, its not used anymore
* only set drm format when needed after leaving direct scanout
* always set drm damage
2024-12-29 23:19:12 +00:00
khushal-solves
fde569db65
master: replace always_center_master with slave_count_for_center_master ( #8871 )
...
- Replaced boolean config parameter `always_center_master` to an integer value `slave_count_for_center_master` for more control on when to center master window.
- Also updated configuration parameter, type, description and related internal variable.
New description: **when using orientation=center, make the master window centered only when at least this many slave windows are open. (Set 0 to always_center_master)**
This effects center orientation of master layout.
Now, user can control when the master window would be centered
2024-12-29 23:11:16 +00:00
Tuur Vanhoutte
5b37d53992
hyprpm: add an option to force reload all plugins ( #8883 )
2024-12-29 23:09:17 +00:00
vaxerski
deb077c346
ctm: add an internal fade animation to ctm transitions
2024-12-29 19:21:20 +01:00
vaxerski
3f40d6d936
pass: scale blur region in ::render
2024-12-29 12:56:58 +01:00
Mike Will
a364e80425
snap: give edge snapping precedence over corner snapping ( #8873 )
2024-12-29 11:18:14 +00:00
Clayton
2b01a5bcf6
xwayland: don't create an abstract unix domain socket on linux ( #8874 )
2024-12-28 14:07:42 +00:00
Ikalco
8d4c18d723
core: refactor/improve monitor mode selection ( #8804 )
2024-12-28 13:32:04 +00:00
vaxerski
c600e1aaff
[gha] Nix: update inputs
2024-12-27 21:51:12 +00:00
Mike Will
cca0adf6a3
snap: revert #8659 , use bounds checking instead of bit mask ( #8872 )
...
They seem like the same check, but a snap bit might not be
turned on as expected if we grab a different corner after
an edge has already been snapped.
2024-12-27 21:49:45 +00:00
vaxerski
534adad6b1
pass: scale blur regions properly
2024-12-27 17:49:05 +01:00
user111111111111111111111111111111111
775111b603
foreign-toplevel: update active on null window focus ( #8860 )
...
* update ForeignTopLevel on null window focus
* fix
* clang
2024-12-27 15:20:55 +00:00
khushal-solves
85632e7c33
internal: update window position/size after changing fullscreenstate ( #8865 )
...
This effects fullscreen group of floating windows.
2024-12-27 15:20:38 +00:00
Tuur Vanhoutte
43ca66779b
hyprpm: use glaze to parse hyprctl plugin list ( #8812 )
...
* Use std::filesystem::path in hyprpm DataState to avoid concatenating strings with (folder + "/" + file)
* Added getPluginStates helper method in DataState
* Small clang-tidy improvements
2024-12-27 14:40:46 +00:00
vaxerski
e75e2cdac7
functionHooks: wait for hyprland pages before returning addr for trampo
...
ref #8845
2024-12-26 11:31:59 +01:00
vaxerski
2eaa4d80a0
debug: fix overlay not rendering
2024-12-26 00:16:42 +01:00
Avi Herman
dddb64dc35
internal: added reference to CTimer class in KeybindManager ( #8836 )
2024-12-25 19:09:45 +00:00
staz
1a3d17da91
debug: fix ISDEBUG checking ( #8823 )
2024-12-25 16:33:10 +01:00
vaxerski
2a24a61126
pass: improve blur region detection
2024-12-25 00:57:55 +01:00
vaxerski
2e2e2e2cad
monitor: bring back old description behavior
...
this makes description match the beginning again. Fixes #8756
2024-12-23 21:17:38 +00:00
Mihai Fufezan
68a5842f06
Nix: fix TAG substitution
2024-12-23 20:07:12 +02:00
Mihai Fufezan
5f7ad767db
flake.lock: update
2024-12-23 00:39:17 +02:00
Vaxry
a4a4fffffb
renderer: allow plugins to know what window was rendered in post
2024-12-22 22:07:08 +00:00
Vaxry
1830296df3
debug: add debug:pass for debugging the render pass
2024-12-22 17:20:33 +00:00
Vaxry
e536b02248
Renderer: rewrite render scheduling ( #8683 )
...
This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
2024-12-22 17:12:09 +01:00
Vaxry
1cc1a46c2e
core: fade in windows when they are brought from invisible workspaces
2024-12-22 16:04:10 +00:00
Vaxry
31422ae25d
windowrules: add negative: prefix for negating a regex
...
fixes #8799
2024-12-21 23:07:34 +00:00
Vaxry
57921d7dbd
windowrules: precompute regexes for window/layer rules
2024-12-21 19:21:50 +00:00
Aqa-Ib
8e8073c421
groups: honor group lock window rule ( #8782 )
2024-12-21 17:35:47 +01:00
Vaxry
52ee7a8748
data-device: fix edge case crash on null xwm
...
fixes #8787
2024-12-21 15:08:00 +00:00
Vaxry
71dc9f6128
pluginAPI: add register dispatcher v2
2024-12-19 20:23:32 +00:00
Aqa-Ib
fd67ee9ecd
layout: apply group rules after window creation ( #8779 )
...
* apply group rules after window creation
* clang-format
2024-12-19 20:22:40 +01:00
Vaxry
bec18dc6f9
core: fix possible crash on null active workspace
...
fixes #7822
2024-12-19 19:11:15 +00:00
Ikalco
5b714f05f8
internal: Make static analysis more happy ( #8767 )
...
* make functions used in 1 file static
* fix invalid substr param -1
* give default initializer to borderGradier
* move RASSERT from printf to std::print
2024-12-19 02:56:01 +01:00
Aaron Blasko
7c43eed2c1
hyprpm: fix hyrpm sometimes returning 0 despite errors occuring ( #8761 )
...
* hyprpm: fix hyrpm sometimes returning 0 despite errors occuring
* there u go
2024-12-19 01:33:57 +01:00
Kamikadze
23e7d8f6a7
logging: fix Gpu info ( #8764 )
2024-12-19 00:08:57 +01:00
Jan Beich
df06cb4d71
core: Unbreak build on FreeBSD ( #8762 )
...
* CrashReporter: restore explicit environ(7) after 8bbeee1173
BSD systems don't declare environ(7) in any header like POSIX suggests.
src/signal-safe.cpp:12:23: error: use of undeclared identifier 'environ'
12 | for (char** var = environ; *var != nullptr; var++) {
| ^
* fix
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-12-18 20:15:44 +01:00
Vaxry
0fec38fe72
xwayland: fix compile with no xwayland
2024-12-18 19:09:02 +00:00
Vaxry
80a4852266
xwm: fixup targets in selection requests
...
fixes #8719
2024-12-18 15:24:37 +00:00
Vaxry
4c4471c66d
xwayland: fix dnd including xwayland
...
ref #8759
2024-12-18 15:14:37 +00:00
Vaxry
6378c8ed65
core: avoid activating toplevel-less surfaces
...
ref #8609
2024-12-18 15:01:12 +00:00
Ikalco
49e5f9c428
logging: get broader GPUINFO ( #8753 )
2024-12-18 15:56:53 +01:00
Khalid
5f1df55fcb
hyprctl: Fix hyprctl batch JSON command ( #8749 )
2024-12-17 18:26:02 +01:00
Ikalco
e2c78c00e5
internal: remove dead code ( #8748 )
2024-12-17 17:31:27 +01:00
normaltaro
bd7092a9fe
binds: cycle within group on single monitor if no window found in the argument direction. ( #8714 )
2024-12-17 17:12:38 +01:00
Mihai Fufezan
c7d9719910
flake.lock: update
2024-12-17 10:20:33 +02:00
Austin Horstman
7ae7920572
flake.lock: update ( #8742 )
2024-12-17 03:15:39 +01:00
Vaxry
4b6163aef3
windowrules: fixup duplicate rule enum tags
...
fixes #8746
2024-12-17 01:57:35 +00:00
Vaxry
788ae58897
version: bump to 0.46.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2024-12-16 23:38:56 +00:00
Vaxry
bba2d9a197
versionkeeper: init version to 0.0.0 if no file is present
2024-12-16 23:37:13 +00:00
Austin Horstman
e340e9f431
nix/meson: add re2 dependency ( #8738 )
...
* nix/default: add re2 dependency
* meson: add re2
2024-12-16 20:22:36 +01:00
Vaxry
c2d14a2013
opengl: fixup missed /4 in oklab parsing
2024-12-16 18:53:21 +00:00
Vaxry
95cdedee04
windowrules: fix prop rules with boolean values
2024-12-16 18:44:19 +00:00
Vaxry
0706c1a1f7
layerrules: fix ignorezero not working
...
fixes #8737
2024-12-16 18:37:34 +00:00
Vaxry
aecf1abddd
opengl: fixup invalid ogl uniform reads
2024-12-16 18:34:19 +00:00
Vaxry
b9f82e9968
animationmgr: fixup stack-use-after-return
2024-12-16 18:31:07 +00:00
Vaxry
e06b520427
core: Move regex from stdlib to re2 ( #8736 )
...
Moves the regex handling from stdlib to re2
2024-12-16 19:21:44 +01:00
Vaxry
dab50b3ef3
core: Optimize window/layer rule application and scanning ( #8735 )
...
Optimizes window and layer rule parsing and later usage.
2024-12-16 19:05:24 +01:00
Mihai Fufezan
eaac5c7cbd
flake.lock: update
2024-12-16 18:06:00 +02:00
Vaxry
a5234f26e4
core: drop using deques in favor of vectors
...
No point in most of these.
2024-12-16 15:58:19 +00:00
Vaxry
de3ad245dc
input: add warp_back_after_non_mouse_input
...
adds cursor:warp_back_after_non_mouse_input
fixes #8675
2024-12-15 23:54:14 +00:00
Vaxry
db24964877
xwayland: Support cross DnD from Wayland ( #8708 )
...
Adds support for drag-and-drop from Wayland clients to XWayland ones
2024-12-15 00:37:17 +01:00
Vaxry
9f7a96b997
core/data: Use pointer focus for DnD operations ( #8707 )
...
fixes #7737
2024-12-14 16:19:56 +01:00
Vaxry
3cba4ba44e
hyprctl: avoid crash on null pwuid
...
fixes #8693
2024-12-13 22:36:42 +00:00
Vaxry
8237627f3a
compositor: fix monitor arrangement with mixed auto directions
...
fixes #8518
2024-12-13 22:31:30 +00:00
Vaxry
35e134e570
hyprctl: add an inhibitingIdle field to windows
...
fixes #4322
2024-12-13 21:30:24 +00:00
normaltaro
452a7e6905
dispatchers: Add an option to prioritize focus change within groups with movefocus ( #8601 )
...
* modified movefocus dispatcher to prioritize focus change within groups
* pass clang-format check
* `movefocus` cycling groups set optional to config bool `movefocus_cycles_groupfirst`
* Update ConfigDescriptions.hpp
2024-12-13 21:28:57 +01:00
Mike Will
61a51bb4ef
snap: bias reserved area when its size is greater than zero ( #8694 )
2024-12-13 17:34:04 +01:00
Vaxry
aefaeedf5e
data-device: fixup wrong box expansion
...
oopsie 7c03e9d376 was wrong
2024-12-12 12:16:59 +00:00
Vaxry
cef5e6dd7c
layersurface: use lastMonitor and not monitor from cursor for new ls
...
fixes #8622
2024-12-11 22:31:38 +00:00
Vaxry
7c03e9d376
core/data-device: expand damage region to fix minor px errors
...
fixes #7656
2024-12-11 22:30:17 +00:00
Mike Will
df956a0f6f
windowrules: add rules for mouse and touchpad scroll factors ( #8655 )
2024-12-11 17:27:49 +00:00
rooot
33f271c29a
hyprpm: target installed instead of running version ( #8634 )
...
---------
Signed-off-by: rooot <hey@rooot.gay>
2024-12-11 17:49:09 +01:00
Vaxry
e892310953
workspace: update hasFullscreenWindow in updateWindows
2024-12-11 16:03:04 +00:00
Pavel Belyavsky
4d05677e8d
config: add 'force' option for 'cursor:warp_on_change_workspace' ( #8681 )
...
* config: add 'force' option for 'cursor:warp_on_change_workspace'
* manager: throw the expression into the function arguments
* config: fix description of `cursor:warp_on_change_workspace`
2024-12-10 21:55:05 +01:00
Alexander Iliev
c16044a5c8
core: Fix workspace selector parsing ( #8687 )
...
Search for the closing bracket when parsing a workspace selector.
This is needed when the `m[desc:<monitor description>]` selector
is used, as the monitor description always contains spaces.
2024-12-10 21:54:51 +01:00
littleblack111
d94d8b4ab2
windows: allow replacing existing fullscreen ( #8566 )
...
* feat: `binds:allow_replace_fullscreen`
this allows replacement of fullscreen window(i.e. fullscreening another
window when one is already fullscreened on the workspace)
this is used when a floating window that is spawned on top of a
fullscreen wanted to be fullscreened
* clang-format
* remove: config for `allow_replace_fullscreen`
2024-12-10 21:09:47 +01:00
Vaxry
bb5c3f2702
core/output: don't send enter too aggresively
...
sometimes this might be like 1px and send enter to the wrong output
fixes #8654
2024-12-10 01:40:35 +00:00
Vaxry
0a27af8cd1
crashreporter: avoid clang warning
2024-12-08 18:52:39 +00:00
Mihai Fufezan
c106f454c1
CI/Nix: temporarily disable cross build
2024-12-07 22:01:32 +02:00
Vaxry
875b598a33
github: mention PR guidelines in the template
2024-12-07 18:01:19 +00:00
Vaxry
8bbeee1173
core: Add clang-tidy ( #8664 )
...
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
Vaxry
b1e5cc66bd
core: Add support for hyprqtutils' update screen ( #8651 )
...
* Nix: add hyprland-qtutils to PATH
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-06 15:45:02 +01:00
Mike Will
5ff02902ee
snap: use the bit mask to check if snapping occurred ( #8659 )
2024-12-06 15:25:14 +01:00
Vaxry
cccca7c02e
renderer: drop requesting OUT_FENCE_PTR
2024-12-06 14:15:46 +00:00
Mihai Fufezan
10a4365f7d
Nix: create TAG info from version
2024-12-06 10:16:18 +02:00
Vaxry
a7a6eedc21
core: move version include to hyprctl
2024-12-05 19:35:50 +00:00
Vaxry
888bdf4e23
hyprctl: add directScanout to hyprctl monitors
2024-12-05 19:33:54 +00:00
Vaxry
ceef4fb3a5
core: feeling a bit quirky today.
2024-12-05 03:36:50 +00:00
Vaxry
22f7d6f142
core: add a few festive splashes
...
adds two new 'special' splash types for xmas and new years. Activated based on local time.
2024-12-05 01:59:36 +00:00
Mike Will
f9e4998a6d
snap: check which corner is being grabbed for monitor snapping ( #8637 )
2024-12-04 19:12:04 +01:00
Vaxry
3c617ce33c
internal: fixup some missed updateColorsOk() calls
2024-12-03 22:58:30 +00:00
vaxerski
f6ac755cf7
cleanup: Revert use doLater instead of adding idle event handlers ( #8624 )
...
This reverts commit 6d7544458d .
2024-12-03 21:15:25 +00:00
Vaxry
320144ae72
core: move colorspace handling to oklab ( #8635 )
...
* Meson: add hyprgraphics
* Nix: add hyprgraphics
* CI/setup_base: get hyprgraphics-git
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-03 18:58:24 +00:00
Vaxry
92186898c0
version: add link versions for other utils ( #8619 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-12-02 16:31:22 +00:00
UjinT34
10a9fec7fc
master: make center ignore reserved areas ( #8625 )
2024-12-02 15:32:32 +00:00
Ikalco
6d7544458d
cleanup: use doLater instead of adding idle event handlers ( #8624 )
2024-12-01 17:14:35 +00:00
Vaxry
d26439a0fe
nix: update flake
2024-11-30 17:42:40 +00:00
littleblack111
ef6b0c81c9
cleanup: remove leftover var in ThreadManager.cpp ( #8611 )
2024-11-30 16:40:23 +00:00
Vaxry
8f83d29f00
renderer: restore discard mode after IME render pass
...
ref #8555
2024-11-28 23:51:59 +00:00
Daringcuteseal
22bf2853e6
hyprpm: fix incomplete unmet dependencies message
2024-11-28 17:48:46 +02:00
nyx
5963970be5
descriptions: change allow_pin_fullscreen value to false ( #8592 )
2024-11-28 15:25:24 +00:00
Vaxry
8b51eeb7ae
core: fix compilation outside stdlibc++
...
fixes #8603
2024-11-28 14:31:43 +00:00
Andre Toerien
5329298b52
sessionLock: don't send motion events on every surface commit ( #8584 )
2024-11-27 19:59:00 +00:00
Agent00Ming
e9a7fb8f91
renderer: fix incorrect early return ( #8590 )
...
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-11-27 14:17:45 +00:00
Ikalco
1fb720b62a
seat: fix double scrolling in some applications ( #8583 )
2024-11-26 13:52:43 +00:00
Vaxry
2687788236
hyprctl: verify runtime dir exists in instances()
...
ref #8579
2024-11-25 14:42:11 +00:00
Vladimir-csp
0ddb952d7a
hyprland-uwsm.desktop: Just reference plain entry ( #8553 )
2024-11-25 16:18:50 +02:00
Nabil Otsmane
1930a95000
shm: fix shm fd size check before creating or resizing shm_pool ( #8572 )
...
* protocols: fix shm fd size check before creating or resizing shm_pool
* added static to function
2024-11-25 00:50:35 +00:00
Vaxry
cc38e7e18f
config: don't overwrite errors in gradients
2024-11-24 14:53:36 +00:00
Vaxry
55ec8bd512
config: throw an error explicitly when parsing colors in gradients
...
ref #8552
2024-11-24 02:46:28 +00:00
Mike Will
54f57797e9
snap: account for position of multiple monitors ( #8543 )
2024-11-23 14:36:28 +00:00
littleblack111
65f66dcf0d
binds: add option to allow fullscreening a pinned window ( #8526 )
2024-11-23 14:32:13 +00:00
Ryan
451d7a41fc
renderer: add option to blur IME popups ( #8521 )
2024-11-23 14:29:29 +00:00
Vaxry
00d6261cc0
hyprpm: move temp files to XDG_RUNTIME_DIR
...
avoid /tmp, it's cringe
2024-11-23 14:18:13 +00:00
Vaxry
745a82ce8a
core: workspace-related function cleanup / refactor
...
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
2024-11-22 16:01:02 +00:00
Vaxry
a847bc67b1
monitor: fix default focus when switching to a fs workspace
2024-11-22 15:22:35 +00:00
may
b100344595
keybinds: actually suppress internal keybinds instead of passing them along ( #8538 )
2024-11-22 02:31:42 +00:00
Tom Englund
943b3d467b
bezier: optimize setup of bezier curves ( #8528 )
...
avoid reallocations by resizing and copy the pVec into the resized
m_dPoints, reduce the amount of calculations in baking to only do it
once per iteration instead of twice. precompute in getYforT and getXforT
return early in getYForPoint if x is equal or below 0. and use const
references where we can.
these changes we are now down to an average of "time to bake: 2.50µs."
on my machine compared to before average of "time to bake: 11.15µs"
2024-11-22 01:47:51 +00:00
vaxerski
940f7aa990
renderer: fixup blur optimization considitons
...
fixes #8531
2024-11-20 11:02:21 +00:00
Vaxry
e5fa017172
internal: fix some misused configStringToInt conversions
...
fixes #8523
2024-11-20 10:32:50 +00:00
Vaxry
c4eda46d0e
xdg-shell: even more robust layout min/max size
...
although I don't think any apps use this, but better safe than sorry
2024-11-19 22:07:25 +00:00
Vaxry
aa067a4cf1
xdg-shell: don't report invalid min/max sizes on unset
...
fixes #8522
2024-11-19 21:40:16 +00:00
Vaxry
67cee43006
internal: minor cleanups for color results
2024-11-19 01:16:11 +00:00
Vaxry
47a1650c48
miscfunctions: move configStringToInt to std::expected
2024-11-18 23:53:38 +00:00
Vaxry
936dfedbad
keybinds: move to managed pointers
2024-11-18 19:56:26 +00:00
MightyPlaza
6113f4da7f
keybinds: allow repeating multiple binds ( #8290 )
2024-11-18 19:48:13 +00:00
Maximilian Seidler
cc923ad031
config: update the configStringToInt implementation ( #8476 )
...
Copied from hyprlang and removed std::expected.
2024-11-18 19:45:22 +00:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
df9ff44899
Fix example config name in auto-generated cfg header ( #8509 )
...
Previously, it was suggesting to find `hypr.conf` in the `examples/` folder which doesn't exist. This patch fixed that to point to the existing file.
Additionally, the change updates `HYPR` to `HYPRLAND` in the same header.
2024-11-18 17:54:18 +02:00
Aqa-Ib
97493511f9
internal: fix changeWindowZOrder reordering incorrectly ( #8494 )
2024-11-18 14:44:15 +00:00
Vaxry
505c1f8f4a
miscfunctions: fix cross build
2024-11-18 14:35:09 +00:00
johannes hanika
6744bb57c6
constraints: don't warp pointer position on release ( #8491 )
...
this was annoying for nuklear properties/ui slider elements that grab
the pointer via GLFW_CURSOR_DISABLE to allow more range and finer control.
upon mouse release, the pointer is reset to the middle of the window
without this patch, making long mouse movements necessary to go back
to the original position for readjustments. fwiw the new behaviour
is consistent with x11 and weston.
2024-11-18 14:02:34 +00:00
Vaxry
2259a88551
miscfunctions: add missing include
2024-11-18 13:59:57 +00:00
Vaxry
1ba050d603
shell: propagate new machanism from hyprctl to miscfunctions
2024-11-17 21:58:00 +00:00
Vaxry
e8717a4fce
shell: don't use fgrep, prefer grep -F
2024-11-17 21:57:04 +00:00
Alessio Molinari
9b03307653
hooks: add pre connected/disconnected monitor events ( #8503 )
2024-11-17 19:34:03 +00:00
Vaxry
b735295d2b
windows/xdg: minor cleanup of min/max size calculations
...
fixes #8495
2024-11-17 19:31:54 +00:00
Vaxry
8d5cdedbd3
hyprpm: fix format crash
...
ref #8487
2024-11-17 16:46:49 +00:00
Vaxry
4f591e807a
renderer: simplify blur enabling logic
2024-11-17 16:42:30 +00:00
Vaxry
fb91c2550f
renderer: don't render unmapped popups
...
fixes #8485
2024-11-17 16:16:54 +00:00
Alexandre Acebedo
0ddbd1c3a4
renderer: add lockdead_screen_delay ( #8467 )
2024-11-17 15:58:18 +00:00
Ruslan
af83c82513
hyprctl: add json output on hyprctl -j plugins list ( #8480 )
...
---------
Co-authored-by: Руслан Новокшонов <r.novokshonov@vk.team>
2024-11-16 23:18:30 +00:00
staz
9d37b1b073
workspacerules: Do not check 'on-created-empty' if using a workspace windowrule ( #8486 )
2024-11-16 23:07:33 +00:00
vaxerski
cf18eca86d
[gha] Nix: update inputs
2024-11-16 23:06:35 +00:00
Vaxry
ec1e6be003
core: guard pmonitor in focuswindow
...
may be null
fixes #8483
2024-11-16 23:05:02 +00:00
sslater11
83be2480c4
workspace: fix missing name via focusworkspaceoncurrentmonitor ( #8484 )
2024-11-16 16:39:58 +00:00
littleblack111
7affc34ab4
bind: new long press option ( #8302 )
...
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-11-15 23:21:59 +00:00
Vaxry
098e491a43
protocols: mark primarySelection as not privileged
...
fixes #8479
2024-11-15 00:47:34 +00:00
UjinT34
967fe76a60
drm: enable explit out fence in AQ ( #8431 )
2024-11-15 00:45:13 +00:00
Tom Englund
940ed3d525
xcursors: store themes in a std:set to order it ( #8474 )
...
using a unordered_set means its store based on a hash_value meaning
currently it can end up loading inherited themes before the actual theme
itself depending on the hash of the theme name used, reason for using
set at all over vector is to keep unique members and not foreverever
looping broken inherit themeing.
2024-11-14 20:38:16 +00:00
Vaxry
6f7280a690
descriptions: add use_cpu_buffer
2024-11-14 20:20:51 +00:00
Vaxry
20031cea92
pointer: add drm dumb buffers for cursors ( #8399 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-11-14 20:15:51 +00:00
Mihai Fufezan
3fb47372b7
flake.lock: update
2024-11-13 21:34:52 +02:00
Vaxry
bb160cfe37
makefile: add stub to discourage direct make
2024-11-12 15:26:25 +00:00
SoSeDiK
a29cfa7843
logging: Add some context to config error logs ( #8326 )
2024-11-12 00:53:55 +00:00
nnra
f5fa84554f
config: Changed the default value of decoration:blur:ignore_opacity to true ( #8418 )
...
This change is made in order to deliver the blur look majority of people
expect by default.
2024-11-11 15:49:35 +00:00
Mihai Fufezan
b88e4a1a9a
Nix: disable uwsm desktop file installation
...
Will be enabled in the NixOS module.
2024-11-11 16:52:42 +02:00
Mihai Fufezan
ff411658e8
Lock uwsm desktop file behind feature flag
...
The file in the repo cannot be used in NixOS due to missing full paths,
and the fact that `uwsm` does not have access to `PATH` to find the
listed binaries. Might be useful in other situations as well.
2024-11-11 16:52:42 +02:00
Mihai Fufezan
943c7d18cc
meson: autodetect systemd
2024-11-11 16:52:42 +02:00
Izmyname
ccfae82ad1
rename hyprland-systemd.desktop and remove hyprland-session.service
2024-11-11 16:52:42 +02:00
izmyname
430b5c302a
systemd: hyprland-systemd.desktop -> hyprland-uwsm.desktop
...
Remove hyprland-session.service.
2024-11-11 16:52:42 +02:00
Vaxry
8fa4cfb7df
keybinds: don't animate fullscreen size/pos changes coming in
...
when fullscreen, don't animate the pos/size when switching to another fullscreen window, as they can look weird and distracting.
Ideally we would do it differently but it's not really possible to do well without reading minds
2024-11-11 13:55:37 +00:00
dawsers
a551f85b91
renderer: scaled surfaces could have zero area ( #8423 )
2024-11-11 13:48:50 +00:00
JManch
07052a515b
pointer: map devices across all outputs by default ( #8352 )
2024-11-11 13:45:33 +00:00
WavyEbuilder
1fa0cd7a75
debug: clean up fetching of the contents of /proc/device-tree ( #8413 )
2024-11-11 13:44:41 +00:00
Vaxry
c10739e6e3
core: fixup execAndGet
...
fixes #8410
2024-11-10 22:53:11 +00:00
WavyEbuilder
9e628067fc
debug: clean up opening of files in HyprCtl ( #8401 )
...
`std::ifstream` is more suited than `execAndGet` here.
2024-11-10 15:54:15 +00:00
Vaxry
99b01c5d12
hyprpm: fix format
2024-11-10 15:54:00 +00:00
Vaxry
a8ff3a452c
core: move to os/Process from hyprutils
...
nix bump too
2024-11-09 17:14:25 +00:00
Vaxry
dca75db127
defaultConfig: fixup smart gaps rules
2024-11-09 16:56:43 +00:00
Vaxry
a425fbebe4
version: bump to 0.45.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2024-11-09 14:27:47 +00:00
Vaxry
cca227a53e
tablet: use inputMgr unified naming scheme
...
ref #8301
2024-11-09 02:34:04 +00:00
Vaxry
b9c439a55e
compositor: make sure we don't ret early on no surface
...
if there is no implicit surface passed, make sure the current focus is not null, otherwise we nope early without focusing the window
fixes #8293
2024-11-09 02:27:01 +00:00
Vaxry
726d697821
popup: minor cleanups
...
don't iterate over unmapped popups in breadthfirst, don't refocus if it wasnt in focus
ref #8293
2024-11-09 02:26:24 +00:00
Vaxry
0ccc0ace88
input: ignore non-kb ls-es in refocusLastWindow
...
ref #8293
2024-11-09 02:25:54 +00:00
Vaxry
f43d4a8638
layershell: minor cleanups and improvements to focus
...
ref #8293
2024-11-09 02:25:34 +00:00
Vaxry
4c7a2faf85
input: cleanup device naming logic
...
ref #8301
2024-11-09 01:53:05 +00:00
nickodei
3b66351eeb
input: Refocus window on scrolling if follows mouse ( #8361 )
2024-11-08 17:25:37 +00:00
Mihai Fufezan
e58e97b0a3
Nix: build aquamarine and hyprutils in debug when using hyprland-debug
2024-11-07 10:54:52 +02:00
Mihai Fufezan
2dd0b2af71
flake.lock: update
2024-11-07 10:54:52 +02:00
dawsers
2ec2b3bfb3
renderer: minor fixup to window rendering logic ( #8359 )
...
Don't render animating windows out of their monitor when they are not moving workspaces
2024-11-06 23:30:17 +00:00
Vaxry
0ec128e5ed
renderer: don't rely on datarootdir for local share
2024-11-06 22:11:46 +00:00
Mihai Fufezan
083a5cf3c1
CI: update actions
2024-11-06 19:50:01 +02:00
Aqa-Ib
8f42401aa8
groups: add merge_groups_on_groupbar ( #8362 )
2024-11-06 16:52:10 +00:00
Vaxry
97a309b784
layershell: check if workspace is valid in onMap
...
ref #8296
2024-11-06 14:02:44 +00:00
izmyname
3bf6f78dad
hyprland-systemd.desktop: change name back to Hyprland ( #8351 )
2024-11-05 20:14:48 +02:00
Kamikadze
e4ab28b1fb
defaultConfig: update default config values for shadows ( #8360 )
2024-11-05 18:03:37 +00:00
Vaxry
81ad218b8b
shadow: fix double premultiplication
...
shader takes straight alpha aaaa
2024-11-05 16:28:55 +00:00
Vaxry
64c46db087
hyprctl: add mirrorOf to hyprctl monitors
...
fixes #8026
2024-11-05 16:20:04 +00:00
Vaxry
0920572e70
shaders: improve corner AA in borders shader
2024-11-05 16:11:05 +00:00
Vaxry
55ccb1a8cf
shaders: fixup jagged edges in texture rounded corners
2024-11-05 16:00:39 +00:00
Vaxry
d1638a09ba
shadow: add sharp and refactor options
...
options moved to decoration:shadow:
2024-11-05 15:44:40 +00:00
Vaxry
e3882b23d0
screencopy: fix build with legacyrenderer
...
fixes #8355
2024-11-05 09:59:03 +00:00
Vaxry
88e9e03945
renderer: add expand_undersized_textures
...
adds an option to disable the texture expansion for textures that are smaller while resizing up
2024-11-04 19:45:23 +00:00
Mihai Fufezan
0fb9a04526
flake.lock: update xdph
2024-11-04 20:01:40 +02:00
Mihai Fufezan
44899cd548
nix/overlays: fix xdph overlay
...
Partial fix for https://github.com/hyprwm/Hyprland/issues/8343
2024-11-04 19:43:25 +02:00
Gliczy
cd0d049126
flake.lock: update xdph
2024-11-03 18:43:08 +02:00
Vaxry
180c26ada6
renderer: safeguard against non-sampleable currentFB in blurMainFb
...
fixes #8325
2024-11-03 15:16:13 +00:00
trianta
5833abbbd1
xwayland: minor fixups for stability ( #8323 )
...
* xwayland: add inline safe closing of fds and fix LOCK_FILE_MODE permissions
* xwayland: auto recreate xwayland instance if it crashes
* xwayland: delay auto-restart until later
2024-11-03 14:59:46 +00:00
diniamo
514e0ff509
flake: update nixpkgs
2024-11-03 12:14:49 +02:00
Vaxry
40081cb330
renderer: improve api around new framebuffer changes
...
ref #8325
2024-11-02 15:26:45 +00:00
Mihai Fufezan
32b18179dd
CMake: systemd fixes
2024-11-02 00:20:52 +02:00
Pavel Solovev
29e7dc6428
Systemd fixes
...
Fix installation path, install the service only if the systemd option is enabled
2024-11-02 00:20:52 +02:00
izmyname
3c0605c68e
hyprland-systemd.desktop improvements ( #8318 )
2024-11-01 19:21:36 +02:00
Vaxry
d8b865366a
renderer: Add a missing texture asset and a user check
...
When an asset is missing, instead of a black screen, render an obnoxious, yet standard, missing texture.
Additionally, warn the user assets failed to load.
Shoutout to Arch for having their assets broken for months. Fix your shit. I am tired of it, and it's negatively impacting users.
2024-11-01 15:52:09 +00:00
vaxerski
3852418d24
hyprctl: reload windowrules on reloadAll
2024-11-01 13:03:12 +00:00
Ikalco
c4d214c42d
monitors: fix vrr breaking monitor disconnect ( #8314 )
2024-11-01 12:30:26 +00:00
Mike Will
93b4478e70
snap: add option border_overlap and other improvements ( #8289 )
...
* snap: add option `border_overlap` and other improvements
I really liked the way borders used to overlap when snapping and how
only the window's main surface would snap to the monitor, so I would
like to bring that behavior back, but in the form of a config option.
Other improvements include:
- reduced the number of snap functions from 4 down to 2, and only
one ever gets called at any given time.
- border size should not be added to gap size. It seemed like the
right thing to do at the time, but it makes snapping feel way
stronger than it actually should.
- all const variables have been given the all-caps naming convention.
- to avoid excessive casting, border size is declared as a double.
- to avoid excessive x + w, y + h calculations. I'm using a struct
called Range and working only with start and end values until the
very end of the function.
- check for both monitor snapping as well as reserved monitor space
snapping in a relatively efficient way.
* snap: always border-align for corners and reserved monitor space
We probably don't want to treat reserved monitor space as if it were just
a smaller monitor. Instead, it should be treated more like a borderless
window, which means our window's border should never encroach upon it.
2024-10-31 11:21:08 +00:00
Tom Englund
7c7a84ff60
internal: more profiling less calls and local copies ( #8300 )
...
* compositor: reduce amount of window box copies
mousemoveunified can call this very frequently, the cbox copying
actually shows up as an impact in such cases, move it down in the scope
and only do it when necessery.
* core: constify and reference frequent calls
profiling shows these as frequent called functions try to reduce the
amount of copies with references and const the variables.
* pointermgr: remove not used local copy, const ref
remove unneded local copies and const ref cursorsize.
* inputmgr: reduce amount of calls to vectortowindow
the amount of calls to g_pCompositor->vectorToWindowUnified fast ramps
up in cpu usage with enough windows existing and moving the mouse, move
the PWINDOWIDEAL up and reuse it if its already the same.
* protocol: compositor remove unused local copy
remove unused local copy of accumulateCurrentBufferDamage and const
previousBuffer.
* renderer: reduce scope of variables and refactor
move a few variables down in their scopes to reduce the amount of calls
and copies when not needed, also add one more for loop in
renderWorkspaceWindows and store the windows in a vector with
weakpointers that should be rendered, this adds a loop but reduces the
amount of repeated calls to shouldRenderWindow and also makes the rest
of the loops go over way smaller vector when many windows exist.
2024-10-30 23:20:32 +00:00
Vaxry
a0b2169ed6
input: revert #8279
2024-10-30 22:14:43 +00:00
nickodei
ee91df62f0
input: simulate mouse movement after scroll to refocus window ( #8279 )
2024-10-30 19:12:16 +00:00
MightyPlaza
12c1bb936d
internal: check size limit in layouts ( #8298 )
...
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/helpers/MiscFunctions.cpp
modified: src/helpers/MiscFunctions.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/macros.hpp
2024-10-30 18:58:36 +00:00
Aqa-Ib
5f721dce36
group: fix moveWindowIntoGroup ( #8297 )
2024-10-30 10:00:58 +00:00
staticssleever668
d679d20029
seat: avoid sending pointless 'keymap' and 'repeat_info' events ( #8276 )
...
#### Describe your PR, what does it fix/add?
Fix lag spikes when pressing more than 6 keys at the same time.
#### Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Debugging process:
<details>
This is triggered by typing some applications, like CopyQ or XWayland.
Typing in Firefox doesn't lead to lag, however it itself does lag
handling these events.
Profiling CopyQ shows that paths leading to
`QtWaylandClient::QWaylandInputDevice::Keyboard::keyboard` take over
80% of processing time of an otherwise idle program.
Looking at output of 'wev' even when it's not focused shows same events
received over and over again.
```
[14: wl_keyboard] repeat_info: rate: 25 keys/sec; delay: 300 ms
[14: wl_keyboard] keymap: format: 1 (xkb v1), size: 64754
```
Looking at what passes through CInputManager::onKeyboardKey() ->
CSeatManager::setKeyboard() shows Hyprland 'switching' between endpoints
of the same keyboard, one of them being named like the other but with
'-1' suffix.
</details>
Tested changing layouts in Fcitx5 and with following config.
```
input:kb_layout = us,cz
input:kb_variant = ,qwerty
input:kb_options = grp:alt_shift_toggle
```
Also tested changing 'input:repeat_delay' while running.
Curiously, now these events appear in the output of 'wev' only once.
Changing layouts still seems to work fine though.
#### Is it ready for merging, or does it need work?
Ready for merging.
2024-10-28 19:25:27 +00:00
MightyPlaza
7188ee4f99
hyprctl: move setprop into dispatchers ( #8275 )
...
* move setprop into dispatchers
modified: src/debug/HyprCtl.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
* add deprecated
modified: src/debug/HyprCtl.cpp
2024-10-28 18:18:58 +00:00
Tom Englund
c7315617eb
internal: few more marginal optimisations from profiling ( #8271 )
...
* deco: reduce local temporars and function calls
profiling shows this is a high used function, reduce the amount of
function calls and local temporar copies and also check if we even need
to add extents at all in the loop.
* popup: optimize bfhelper in popups
pass nodes as const reference and reserve the size of the children node
vector help reduce the reallocations.
* procotol: make compositor bfhelper use const ref
use const ref for nodes and reserve second nodes vector size to reduce
amount of reallocation needed.
2024-10-28 18:02:52 +00:00
Aqa-Ib
d49a1334a8
swallow: check if swallow_regex doesn't exist ( #8265 )
...
Avoid to run CWindow::getSwallower() when `swallow_regex` doesn't exist in the user's config file.
2024-10-28 16:52:14 +00:00
Mike Will
2c481202ef
layout: slight adjustments to snapping logic ( #8273 )
...
fixes some bugs with resizing and corner snapping
2024-10-28 13:39:05 +00:00
Vaxry
6cf193e166
layout: don't snap to self and allow same-pid snaps
...
fixes #8255
2024-10-27 23:41:22 +00:00
Vaxry
b1120ec433
layout: window snapping cleanup + fixes
...
way better now heh
fixes #8259 fixes #8267
2024-10-27 23:39:57 +00:00
Vaxry
5d4b54b012
core: move internal structures to monitor pointers ( #8266 )
2024-10-27 18:45:38 +00:00
Ryan
b6e226c320
groupbar: set locked color when groups are globally locked ( #8257 )
2024-10-27 18:26:42 +00:00
Tom Englund
f9b52203f5
internal: optimize cursor move a bit ( #8264 )
...
* window: inline and const getWindowMainSurfaceBox
getWindowMainSurfaceBox gets called a lot of times from deep down from
mousemoveunified, profiling mousemoveunified it spends quite a lot of
cpu time in here, let the compiler optimize the call to
getWindowMainSurfaceBox by inlining and making it const. reducing the
overhead.
* inputmgr: return early and use std::any_of
return early in mousemoveunified to reduce the amount of unnecessery
calls to various pointers when not needed, also make isconstrained use
std::any_of instead of for loop to use the STL optimized paths with
hopes and dreams marginally faster.
* decoration: return early, reduce temporar copy
return earlier and reduce the temp copies by using one .lock instead of
two
2024-10-27 17:51:26 +00:00
Aqa-Ib
a3d3b4fd64
groups: fix swallowing ( #8223 )
...
* fix swallowing for groups
* remove unnecessary check
* clang-format
* clarify comment
* make variables consistent
* make aditional variables consistent
2024-10-27 01:44:55 +01:00
izmyname
f3f7d3629a
Build with hyprland-session.service ( #8251 )
...
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-26 22:49:00 +03:00
Damianu
c356e42500
misc: Fix bad links to wiki ( #8240 )
...
Same as in https://github.com/hyprwm/hyprland-wiki/pull/828
2024-10-26 16:50:31 +01:00
Aqa-Ib
0b29caf9ab
core: fix group members disappearing when you move the group to another monitor ( #8237 )
...
* fix group members disappearance when you move the group to another monitor
* remove repeated action
2024-10-26 02:22:37 +01:00
Vaxry
3dd8db83f1
pointer: add default auto for no_hw_cursors
...
auto defaults to off on nvidia, on for everyone else. Gotta wait until we do fucking drm_dumb and it fucking works
2024-10-26 02:12:43 +01:00
Vaxry
d5689bb539
internal: cleanup CMonitor usage and fix a few ref hogs
...
ref #8221
2024-10-26 02:06:13 +01:00
izmyname
e5384774a8
example/hyprland-session.service: add support for xdg autostart ( #8230 )
2024-10-25 23:38:59 +03:00
Tom Englund
f0e023bff2
security-context: avoid UB in C macro ( #8229 )
...
to safely use wl_container_of with a class the class has to be no
virtual functions, no inheritance, and uniform access control (e.g all
public)
work around this by putting this into a destroywrapper struct.
2024-10-25 11:26:48 +01:00
izmyname
3cec45d821
Improve hyprland-session.service ( #8225 )
2024-10-24 17:50:53 +03:00
czlabinger
7f46680ab1
hyprctl: add caps/num lock state for keyboards ( #8145 )
...
---------
Co-authored-by: Behzad <behzadasbahi@gmail.com>
2024-10-24 14:01:08 +01:00
Honkazel
f603a22af0
internal: Remove some unused lambda captures ( #8218 )
2024-10-24 13:12:41 +01:00
Honkazel
cdac64970e
Makefile: fix legacyrendererdebug typo ( #8214 )
2024-10-23 23:32:39 +03:00
chitoroagad
6e0aadc585
updated flake.lock
2024-10-23 07:19:55 +03:00
Aqa-Ib
2b6ff6837e
groups: add group_on_movetoworkspace ( #8159 )
2024-10-23 00:51:25 +01:00
Vaxry
29997ef4ba
default/config: improve default animations
...
objectively better
2024-10-22 21:34:21 +01:00
KAGEYAM4
5e96d738e6
hyprpm: Add option to notify on fail and keep original notify ( #8167 )
...
* Only generate notification on fail
Hyprpm fail/pass notification are mutually exclusive.
* Add option to notify on fail and keep original notify (#1 )
* Add option to notify on fail and keep original notify
---------
Co-authored-by: KAGEYAM4 <75798544+KAGEYAM4@users.noreply.github.com>
---------
Co-authored-by: littleblack111 <littleblack11111@gmail.com>
2024-10-22 00:28:42 +01:00
Ikalco
9df0f0b66c
renderer: fix floating window damage ( #8182 )
2024-10-21 16:09:14 +01:00
Mike Will
4093b993a2
input: add snapping to floating windows ( #8088 )
...
* add snapping to floating windows
Works for both moving and resizing of windows.
It comes with 3 options:
`general:snap:enabled` - whether it's enabled, off by default
`general:snap:window_gap` - minimum gap in pixels between windows before
snapping. Setting to 0 effectively turns off this method of snapping.
`general:snap:monitor_gap` - minimum gap in pixels between window and
monitor edges before snapping. Again, setting it to 0 effectively turns
it off.
* snap: add more ignore criteria and change if clause into a guard
* snap: refactor code
* snap: new refactoring approach and account for border size
* snap: do corner snapping after all edge snapping is done
The approach of performing corner snaps after each individual edge snap
results in far fewer scenarios where snapping can occur.
After trying it out for a while, I found that I prefer an approach
that's more prone to snapping.
* snap: combine snapWindows and snapMonitor into a single function
* snap: add forced aspect ratio functionality
* snap: avoid directly referring to border_size config value
* snap: address vaxerski feedback
- add new line between functions
- use std::function typedef for SnapFn and make snap functions static
- avoid uninitialized variable declarations.
- change ignore condition m_bIsX11 to isX11OverrideRedirect()
- use braces for CBox and Vector2D declarations.
- add SNAP_INVALID to eSnapEdge enum
- use bitshift notation for eSnapEdge and eRectCorner
- make performSnap a non-member function.
* snap: add corner-snapping to forced aspect ratio mode
2024-10-21 16:08:25 +01:00
Vaxry
08cc063e17
monitor: avoid crash on released buffer in surf
2024-10-19 23:48:25 +01:00
Vaxry
a17850e41c
layersurface: fixup brace style
2024-10-19 23:47:28 +01:00
Vaxry
6a5c342063
layersurface: round geom in arrangeLayerArray
...
fixes #8171
2024-10-19 23:45:51 +01:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
Vaxry
ce3ba798df
defaultConfig: improve smart gaps
2024-10-19 17:03:22 +01:00
Vaxry
0eaf3581a3
window: guard PMONITOR in commit listener
...
ref #8170
2024-10-19 16:24:03 +01:00
Vaxry
62ee5cc273
monitor: modernize/refactor last legacy-handled events
2024-10-19 16:21:47 +01:00
Vaxry
48bf32c5de
foreign-toplevel-wlr: don't send updates to X11 OR windows
2024-10-19 16:09:53 +01:00
Vaxry
904f9b6aee
foreign-toplevel: don't send updates to X11 OR windows
2024-10-19 16:09:53 +01:00
Maximilian Seidler
e5d3a71263
config: fix generateConfig loop ( #8164 )
...
* config: fix generateConfig loop
* config: cleanup getMainConfigPath
2024-10-19 15:49:56 +01:00
Maximilian Seidler
0e630e9e74
session-lock: reset seat grab on a new session lock ( #8147 )
2024-10-17 21:05:55 +01:00
MightyPlaza
5f30cb7753
windowrules: allow specifying max size in size window rule ( #8021 )
...
* allow specifying max size in size window rule
modified: src/events/Windows.cpp
* clean up
modified: src/events/Windows.cpp
2024-10-17 21:03:17 +01:00
Behzad
495b92fb53
makefile: fix typo ( #8127 )
2024-10-17 15:20:18 +01:00
Vaxry
b57086aa43
window: properly break cycles in X11TransientFor
...
ref #8045
2024-10-16 22:23:15 +01:00
zakk4223
09581d32fd
hyprpm: Fix crashes due to misplaced fmt argument(s) ( #8140 )
2024-10-16 22:13:59 +01:00
Aqa-Ib
86e9f69a69
layout: move applyGroupRules() to onWindowCreated() ( #8139 )
2024-10-16 22:13:35 +01:00
Vaxry
781828a56e
output: send enter events on late wl_output binds
...
fixes #6560
2024-10-16 21:59:33 +01:00
vaxerski
0baf166d39
[gha] Nix: update inputs
2024-10-16 10:01:31 +00:00
Aqa-Ib
ace803948a
layout: enable group rules for new floating windows ( #8122 )
...
* layout: enable group rules for new floating windows
* fix comment
* do not apply group rules to a new floating window if it shouldBeFloated.
fixes child windows
* comment
2024-10-16 10:59:47 +01:00
Aqa-Ib
01c2ff34dd
layout: simplify the conditions to autogroup ( #8120 )
2024-10-14 19:31:17 +01:00
fanlumaster(Fany Full)
22b1370ae5
IME: Fixup IME popup candidate windows position when scale is not 1.0 ( #8117 )
2024-10-14 18:03:16 +01:00
deadacute
f309681d4a
example: update desktop file to include DesktopNames
2024-10-14 18:26:07 +03:00
Ikalco
ce62521883
drm-lease: fix crashes and implementation ( #8116 )
2024-10-14 11:37:42 +01:00
Aqa-Ib
e7fd0f5aec
layout: deny auto-grouping a new floating window into a tiled group ( #8108 )
2024-10-14 00:25:19 +01:00
Vaxry
abfd550ee2
xwm: avoid infinite parent lookup loop in lookupParentExists
...
ref #8045
2024-10-14 00:24:32 +01:00
Vaxry
8e51a36c7f
config/example: add optional smart gaps to the default config
...
ref #8106 #8114
2024-10-14 00:19:10 +01:00
Vaxry
5c3bd8e93d
notif-overlay: add a bit of padding for icons
2024-10-13 17:26:44 +01:00
Toni500git
05a5e0b4f1
hyprland: convert std::cout and std::cerr to std::println()
2024-10-13 14:13:56 +01:00
Toni500git
b61d4c3636
hyprctl: convert std::cout and std::cerr to std::println()
2024-10-13 14:13:56 +01:00
Toni500git
e79d3cd2ef
hyprpm: convert std::cout and std::cerr to std::println()
2024-10-13 14:13:56 +01:00
Vaxry
1822707c7e
drm-syncobj: fix crash on missing timelines
...
fixes #8092
2024-10-12 17:56:46 +01:00
Vaxry
c3f7c9bbb5
xcursor: don't crash on broken permissions in X themes
...
ref #8079
2024-10-12 15:18:39 +01:00
UjinT34
ee8116ac5d
input: Fix VRR for constrained cursors ( #6877 )
2024-10-12 01:29:51 +01:00
Edgars Cīrulis
f5db483973
drm-timeline: Add check for conflicting acquire and release points ( #8083 )
...
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-10-12 01:12:07 +01:00
Toni500github
7564b26b7d
internal: improve version query and define HYPRLAND_VERSION ( #8034 )
2024-10-11 12:19:16 +01:00
Jasson
178a300eea
xwayland: minor cleanups and fixes ( #8076 )
2024-10-11 12:07:25 +01:00
Vaxry
d655a10381
config/layout: nuke no_gaps_when_only ( #8072 )
2024-10-11 10:56:19 +01:00
Vaxry
b65773bea9
hyprpm: disallow shallow on unknown branch
2024-10-10 11:01:13 +01:00
Vaxry
c4eb194033
gammactrl: guard pMonitor in setGamma
2024-10-09 22:00:06 +01:00
Aqa-Ib
6ae89940c7
layout: add merge_floated_into_tiled_on_groupbar ( #8042 )
2024-10-09 10:58:49 +01:00
JManch
3d28879c26
hyprerror: fix height calc with bottom bar ( #8043 )
2024-10-09 10:24:35 +01:00
trianta
223dcc8bac
output: update state even if no owner exists ( #8044 )
2024-10-09 10:24:05 +01:00
Mihai Fufezan
6ce07ee864
CI/release: remove script backup line
2024-10-09 12:00:43 +03:00
Vaxry
bc299928ad
output/xdg-output: avoid sending events to released globals
...
ref #6835
2024-10-09 00:26:40 +01:00
Vaxry
ac658500fb
keyboard: update group state on change for the sym resolve state
...
fixes #8038
2024-10-08 23:33:10 +01:00
Vaxry
8cced091f5
renderer: reserve space for error at the bottom if that's set
...
ref #8040
2024-10-08 21:58:40 +01:00
Vaxry
91299f7039
hyprerror: make hyprerror reserve space ( #8040 )
2024-10-08 21:20:25 +01:00
Vaxry
60308a2bb5
defaultConfig: add a nofocus rule for weird X windows
...
ref #6543
2024-10-08 20:28:34 +01:00
Aqa-Ib
613eac4603
layout: remove unnecessary check after 45e8219 ( #8037 )
2024-10-08 19:31:15 +01:00
JManch
e4a26f4f1d
dispatchers: allow leading whitespace in window parameter ( #8016 )
2024-10-08 17:50:06 +01:00
Vaxry
57b632ead8
pointer: expand sw cursor damage box
...
fixes #8031
just a bit, rounding errors I guess
2024-10-08 17:03:19 +01:00
Vaxry
1bf63dfdcd
protocols: Add support for hyprland-ctm-control-v1 ( #8023 )
...
* initial ctm support
* flake.lock: update
* Meson: bump required versions and add ctm proto
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-08 16:59:15 +01:00
vaxerski
e0cfbec66b
keybinds: fixup xkb_states for resolve_by_sym
...
fixes #7750
2024-10-08 13:15:58 +01:00
davc0n
b3a7e3109b
misc: refactor version command ( #8027 )
...
Fixes a minor spacing issue if git status is not dirty.
Additionally now should be easier to extend it eventually.
2024-10-08 11:42:51 +01:00
Aqa-Ib
45e82199fb
layout: add drag_into_group to control merging dragging windows ( #8004 )
2024-10-08 11:20:41 +01:00
Vaxry
4711796d38
config: give simple help for super+q not working
...
only on default config :P
2024-10-08 09:54:25 +01:00
Ikalco
0d70c44253
screencopy: fix screencopy frames not being cleaned up ( #8017 )
...
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-10-08 01:23:48 +01:00
MightyPlaza
a364df4c9e
internal: use clampWindowSize to unify min/maxsize handling ( #8014 )
...
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
2024-10-07 19:52:49 +01:00
Artur Manuel
46d990f1b6
feat: add a custom made treewide formatter ( #7992 )
2024-10-07 21:49:19 +03:00
Timon Schelling
5bf7b1e1fa
flake.nix: add xdph follows
...
fixes a duplicate hyprland-protocols instance sometimes being created due to xdph not following hyprlands instance
2024-10-07 21:43:35 +03:00
Aqa-Ib
97444ed7a8
layout: fix auto group when opening a new window in a non-focused workspace using window rules ( #8006 )
2024-10-07 13:22:55 +01:00
Vaxry
4e41cda27e
security-context: close client fds after disconnect
2024-10-06 15:08:26 +01:00
Vaxry
da86aac0f5
security-context: implement protocol
...
fixes #7318
2024-10-06 14:07:07 +01:00
Vaxry
0c7a7e2d56
version: bump to 0.44.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
2024-10-06 12:04:13 +01:00
Vaxry
0ec6072a29
single-pixel: set buffer size to 1,1
2024-10-05 16:36:57 +01:00
Vaxry
3ca699debf
opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMP
...
avoid error spam on select hw
2024-10-05 14:57:18 +01:00
Vaxry
52c0919621
monitor: arrange monitors on connect and disconnect
2024-10-05 14:41:44 +01:00
Vaxry
6fbfeefc71
protocolmgr: don't expose the fallback output
2024-10-05 14:40:03 +01:00
Vaxry
46bf87c8d1
monitor: use a scope guard for disconnect events
2024-10-05 14:37:12 +01:00
Vaxry
595eb89f6e
renderer: Fix resize artifacts (stretching, bumps) ( #7499 )
2024-10-05 01:01:21 +01:00
Vaxry
a815b14bf1
monitor: cleanup and modernize scheduleDone
2024-10-05 01:01:21 +01:00
Vaxry
3a5052a714
compositor: update all xdg outputs on arrange
2024-10-05 01:01:21 +01:00
Vaxry
8e237b006f
xdg-output: minor cleanups
2024-10-05 01:01:20 +01:00
Theo Paris
1ed925b69c
internal: fix missing include directive ( #7984 )
...
This should fix building with clang.
2024-10-04 09:41:27 +01:00
Maximilian Seidler
aed529f695
renderer: fix uvBR calculation ( #7975 )
2024-10-03 23:00:44 +01:00
Aqa-Ib
de68e065fe
layout: fix dragging a window into a group after e242694 ( #7976 )
2024-10-02 21:25:25 +01:00
Aqa-Ib
e2426942e5
layout: add auto_group to control default grouping ( #7883 )
2024-10-02 10:22:19 +01:00
Vaxry
5c6c300abf
wayland/output: send geometry in updateState
2024-09-30 17:42:36 +01:00
Vaxry
6bd3397141
wlr-output-management: accept 0 refresh rates
...
fixes #7879
2024-09-30 17:40:38 +01:00
Vaxry
68fd32c810
byteoperations: add missing header
2024-09-30 17:27:10 +01:00
Vaxry
3ddb16bd5b
compositor/wayland: up the max buffer size to avoid disconnects when app hangs
2024-09-30 17:25:57 +01:00
Trianta
f6387536f6
protocol: fix missing include
2024-09-30 10:06:39 +03:00
Trianta
968f6a6013
meson: fix arch build with new protocol
2024-09-30 10:06:39 +03:00
Vaxry
488efab636
single-pixel-buffer: new protocol impl
...
fixes #6624
2024-09-30 00:58:16 +01:00
Gliczy
6649255d54
flake.lock: update
2024-09-29 17:56:27 +03:00
Luke Chen
4b00cba319
dwindle: add movetoroot method to layout messages ( #7903 )
2024-09-29 14:47:59 +01:00
Mike Will
9e418671e1
config: add descriptions for dwindle and master layout options ( #7933 )
2024-09-29 14:42:10 +01:00
Mihai Fufezan
d73c14751a
CI/Nix: git+https -> github
2024-09-28 21:53:18 +03:00
bivsk
6f313de952
core: Fix Musl builds ( #7934 )
...
Musl does not include the internal type `__time_t`.
Use `time_t` instead.
2024-09-28 13:46:31 +01:00
Mike Will
2cf6e7862a
dwindle: add config option split_bias ( #7920 )
...
If `default_split_ratio` is greater than 1.0, `split_bias` will give the
bigger half to a specific window:
0 - positional (default)
1 - current window
2 - opening window
2024-09-28 01:49:40 +01:00
Mihai Fufezan
58669fef77
flake.lock: update
2024-09-27 18:35:29 +03:00
Vaxry
e20aef7d53
opengl: remove debug log
2024-09-26 22:34:33 +01:00
Mihai Fufezan
b2143a98e2
CI/Nix: no longer build with submodules
2024-09-27 00:07:52 +03:00
Mihai Fufezan
f75f8efb1b
Meson: add tracy dependency
2024-09-27 00:07:52 +03:00
Mihai Fufezan
be96787ed0
CMake: use udis86 from pkg-config, fallback to subproject
...
Only canihavesomecoffee's fork (the one the subproject uses) provides
a .pc file, so we either find the correct version or we use the
subproject.
2024-09-27 00:07:52 +03:00
Mihai Fufezan
89d945aabe
CMake: use hyprland-protocols from pkg-config, fallback to subproject
...
protocolnew: fix external path, which may not be in $CMAKE_SOURCE_DIR
2024-09-27 00:07:52 +03:00
Mihai Fufezan
27211c71e9
Meson: try to find udis86 through pkgconfig, fallback to subproject
...
Only the fork provides a .pc file, so there's no risk of linking the wrong
lib version. If pkg-config can't find it (most cases), fall back to using
the subproject through the wrap file.
2024-09-27 00:07:52 +03:00
Mihai Fufezan
14942bca60
Nix: re-add hyprland-protocols
2024-09-27 00:07:52 +03:00
Mihai Fufezan
77f2a01304
flake.lock: update nixpkgs
2024-09-26 21:17:07 +03:00
Mihai Fufezan
7b56ce6521
CI/Nix: add cross build
2024-09-26 21:17:07 +03:00
Jörg Thalheim
32a8caf7e7
Nix: also test cross build
2024-09-26 21:17:07 +03:00
Vaxry
caaa9b11e4
wlr-output-configuration: Improve output configuration ( #7571 )
2024-09-26 11:10:53 +01:00
Kamikadze
b1ad2d8066
dispatchers: fixup dpms toggle ( #7875 )
...
now toggles every monitor individually
2024-09-26 00:08:50 +01:00
Vaxry
22746b3046
hyprctl: use the getMonitorData helper everywhere
2024-09-25 23:38:11 +01:00
Vaxry
49713fab04
pointermgr: avoid hogging CMonitor refs
2024-09-25 23:15:41 +01:00
vaxerski
8b86ee8bf0
github: encourage usage of --systeminfo if Hyprland won't launch
2024-09-25 10:39:33 +01:00
vaxerski
2a052c69f3
core: add a --systeminfo parameter to gather systeminfo without running
2024-09-25 10:36:51 +01:00
Vaxry
2320b2241c
Internal: move to Mat3x3 from hyprutils ( #7902 )
...
* Meson: require hyprutils >= 0.2.3
* flake.lock: update hyprutils
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-09-25 10:01:13 +01:00
vaxerski
8f5188269b
hyprctl: add solitary field to hyprctl monitors
2024-09-25 09:59:18 +01:00
vaxerski
00c8626863
hyprctl: add submap request
...
fixes #7898
2024-09-24 11:25:05 +01:00
Vaxry
0a211f29f5
hyprctl: add defaultName to workspacerules
...
fixes #7886
2024-09-24 01:19:05 +01:00
Vaxry
d279d7c4c6
eventloop: dispatch pending in session on start
...
fixes #7855 #7391
2024-09-24 00:49:29 +01:00
diniamo
6c78b03bb7
flake: update xdph
2024-09-24 00:47:34 +01:00
Vaxry
f79497087b
internal: nuke wlsignal and related
...
old semi-wrappers for wl_signal, they are no longer used
2024-09-24 00:47:34 +01:00
Artur Manuel
508bde1f61
core: add HYPRLAND_CONFIG environment variable ( #7851 )
2024-09-23 16:40:19 +01:00
diniamo
e5ff19ac0f
flake: update xdph
2024-09-22 11:55:13 +03:00
Mihai Fufezan
8579066c7a
Nix: clean up derivation
2024-09-21 14:27:13 +03:00
Vaxry
9232bc2c00
internal: move to hyprutils' scopeguard
...
bumps hyprutils dep to 0.2.2
2024-09-21 00:37:17 +01:00
Vaxry
db0b764a5a
shm: send a static list of shm formats
...
fixes #7733
2024-09-20 22:56:15 +01:00
Mihai Fufezan
278583b8a1
flake.lock: update
2024-09-20 20:16:13 +03:00
Jasson
4414cd07e2
xwm: Minor cleanup, add wrappers for basic types ( #7856 )
2024-09-20 12:32:04 +01:00
Vaxry
9e98fb0167
dmabuffer: attempt importing failed dmabufs as implicit
...
don't ask me why, vulkan doesn't like this.
funny note, broken on wlroots :P
fixes #7037
2024-09-20 10:47:41 +01:00
Mihai Fufezan
9856378384
Nix: use mold linker
2024-09-19 18:53:34 +03:00
Mihai Fufezan
dfa1bd0cd4
Meson: pass AQUAMARINE_VERSION argument
2024-09-19 13:48:31 +00:00
vaxerski
92df6b0dce
version: log build aquamarine version
...
log the built against aq version, might be useful when it's mismatched to identify the problem
2024-09-19 11:40:00 +01:00
vaxerski
71963972bf
args: add --version to binary args
2024-09-19 11:40:00 +01:00
Arisa Snowbell
1bc05b1f9f
xwayland: use proper path for the XWayland sockets ( #7852 )
...
fixes #7849
2024-09-19 11:08:02 +01:00
Vaxry
e6cf643f5a
pointermgr: Hide hardware cursor on leave ( #7806 )
2024-09-18 18:47:53 +01:00
Jasson
94140e886e
xwayland: Some readability improvements ( #7807 )
...
* Readability improvements xwayland server
* Made requested changes
* removed braces
* fix
* Ok this time is fixed
* Formatting
2024-09-18 18:12:26 +01:00
Mihai Fufezan
b248d59713
Nix: fix meson PCH flag
2024-09-18 19:43:56 +03:00
Mihai Fufezan
cbc0ff6ec0
Nix: disable PCH
2024-09-18 18:54:00 +03:00
Mihai Fufezan
6b6554adb8
flake.nix: inherit stdenv from package
...
Means we no longer have to change the base stdenv in two places.
2024-09-18 18:43:39 +03:00
Mihai Fufezan
d936eb437b
flake.lock: update aquamarine
2024-09-18 17:26:51 +03:00
vaxerski
883d01084c
userchecks: add an xdg_current_desktop check
...
ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/251
if the XDG_CURRENT_DESKTOP is externally managed (e.g. DE, DM, etc) Hyprland will not overwrite it. In those cases, if that's undesired, portals and other apps depending on it might break.
2024-09-18 11:22:12 +01:00
Aqa-Ib
0564b46a5e
dispatchers: allow moveintogroup when floating ( #7818 )
...
This allows to use the moveintogroup dispatcher when windows are floating. I don't know why was this disabled in the first place though.
Cheers!
2024-09-18 11:05:17 +01:00
André Silva
3c9716acfd
gammactrl: fix potential crash on monitor removed ( #7828 )
2024-09-17 14:37:20 +01:00
vaxerski
581f6659f8
data-device: conform to reported source actions
...
fixes #7815
2024-09-17 12:55:48 +01:00
vaxerski
e72ae6b25f
hyprctl: allow parsing empty value
...
fixes #7821
2024-09-17 11:24:54 +01:00
Leiser Fernández Gallo
9e35656244
internal: Delay monitor events/hooks ( #7797 )
...
* Delay monitor messages
* Format
2024-09-15 21:03:42 +01:00
AlvinaNancy
e87758529e
internal: Fix change group current fullscreen state query ( #7802 )
2024-09-15 18:25:06 +01:00
Sungyoon Cho
eb97d949aa
textinput: don't reset if ti isn't enabled ( #7798 )
2024-09-15 17:31:38 +01:00
Ikalco
e74efd87e5
internal: fix initial cursor warping ( #7793 )
2024-09-14 23:37:18 +01:00
Vaxry
4dbdb556fe
data-device: don't send default action of move
...
gtk doesn't like it?
2024-09-14 23:36:06 +01:00
Vaxry
5ee4b19691
data-device: send clock time in motion events
...
remove hack
2024-09-14 23:35:45 +01:00
Vaxry
d35e70a8c6
cmake: drop ninja dep
2024-09-13 17:56:44 +01:00
diniamo
c35ed8363f
nix: adapt cmake options
2024-09-13 19:44:38 +03:00
diniamo
d505b33665
nix: use meson
2024-09-13 17:54:49 +03:00
Sungyoon Cho
118be4dea0
textinput: fix tiv3 leave ( #7761 )
2024-09-12 17:41:24 +01:00
trianta
73b9756b8d
xwayland: remove extra x11 deactivation ( #7755 )
2024-09-12 10:15:01 +01:00
fufexan
8b9e385943
[gha] Nix: update inputs
2024-09-11 16:10:51 +00:00
Mihai Fufezan
e01da1fd7a
Meson: format
2024-09-11 19:09:17 +03:00
Mihai Fufezan
7a8c013edc
Meson: fix protocols, clean up
2024-09-11 19:09:16 +03:00
Vaxry
518399a95b
pointermgr: avoid derefing null outputs
2024-09-11 09:30:21 +01:00
Sungyoon Cho
155d44016d
textinput: handle IME resetting ( #7731 )
2024-09-10 14:49:10 +01:00
Alexandre Acebedo
13f90bb87a
update xdph commit in flake.lock
2024-09-10 16:38:47 +03:00
davc0n
c67b257e51
build: Set cmake_minimum_required to version 3.30 ( #7709 )
...
* build: Set cmake_minimum_required to version 3.30
* Nix: add patch for CMake min ver
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-09-10 11:06:37 +01:00
Maximilian Seidler
8237d7e1a4
input: move dmps activation to input listeners ( #7721 )
2024-09-09 21:29:00 +01:00
vaxerski
85da1a17d8
[gha] build man pages
2024-09-09 15:19:44 +00:00
justmessingaround
9609b04ff9
man: Fixed the man page to show the new information ( #7713 )
...
* Update Hyprland.1.rst
* Update Hyprland.1
2024-09-09 16:19:17 +01:00
darkwater
04421063af
config: add order rule for layers ( #7697 )
2024-09-09 10:10:08 +01:00
davc0n
43e1415e71
assets: Remove execute permission from lockdead.png ( #7715 )
2024-09-09 10:01:26 +01:00
Sungyoon Cho
e1448732b3
tiv1: fix deleting first character ( #7716 )
2024-09-09 09:58:44 +01:00
Richard Ayotte
7c4c402bd7
config: include XF86Audio* key bindings to default cfg ( #7695 )
2024-09-08 22:04:07 +01:00
Aqa-Ib
6179b17903
github: improve issue template ( #7699 )
...
* github: improve issue template
Require to check that you have searched through open and closed issues before committing.
* fix yaml syntax
* clarify text
* validation
* revert validation
* markdown
* done
2024-09-08 21:12:01 +01:00
Davide Conti
05b48d48d9
config: Limit max volume to 100%
2024-09-08 22:53:28 +03:00
diniamo
07a21fdfa9
github(nix-build): switch to better nix installer, attempt at fixing hash mismatch ( #7701 )
...
* github(nix-build): switch to DeterminateSystems/nix-installer-action
* github(nix-build): switch to a direct git reference instead of cloning
* github(nix-ci): attempt to fix CI for pull requests
2024-09-08 21:20:45 +03:00
Vaxry
0f594732b0
props: bump version to 0.43.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix (CI) / update-inputs (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix (CI) / build (push) Has been cancelled
2024-09-08 17:48:21 +01:00
Vaxry
312411fc70
windows: support size with pseudo tiled
...
fixes #7690
2024-09-08 00:46:46 +01:00
trianta
70add904c4
config: add exec-shutdown for running commands on shutdown ( #7683 )
...
* config: add exec-shutdown for running commands on shutdown
* compositor: delay stopping until after exec-shutdown
2024-09-07 20:54:33 +01:00
Darth ŠČ!
5ca4823128
config: Added default button mapping for xf86 keys ( #7672 )
...
* Added default button mapping for laptop multimedia keys for volume and brightness
* Added default button mapping for laptop multimedia keys for volume and brightness into example config
2024-09-07 16:14:23 +01:00
outfoxxed
0500213086
input: try to refocus a focusable window when seat grabs are reset ( #7669 )
2024-09-07 01:06:55 +01:00
outfoxxed
b0fca6eaf0
input: kb focus mouse focused window if unset ( #7666 )
...
Normally it shouldn't be possible to have mouse focus with no kb
focus, but it does happen, and when it does this makes it considerably
less annoying.
2024-09-06 01:03:12 +01:00
Maximilian Seidler
4988e00b1d
input: move idle notify to input handlers ( #7659 )
...
* Revert "input: don't emit idle activity when calling simulateMouseMovement (#7649 )"
This reverts commit ea10592ad3 .
* input: move idle notify calls to input event listeners
* input: don't post idle activity when keyboard is not enabled
2024-09-06 00:58:57 +01:00
Sungyoon Cho
0fad7a0bb0
workspacerules: fix on-created-empty window focus ( #7657 )
2024-09-06 00:54:01 +01:00
Sungyoon Cho
727f1b54cd
textinput: fix ime activation in some edge cases ( #7660 )
...
* textinput: clear ti3 state when focused surface gets destroyed
* textinput: send enter to newly created ti in focus
2024-09-05 20:04:23 +01:00
Mihai Fufezan
c80457be02
nix: add COMMITS var
2024-09-05 21:26:12 +03:00
Parola Marco
4a42c5ed20
config: Add a variable to prevent groups from merging after being dragged ( #7650 )
...
* config: Add a variable to prevent groups from merging after being dragged
* Fixed code style for [f777f028]
2024-09-05 17:29:33 +01:00
trianta
bd6d6e7f33
xwayland: add option to enable/disable xwayland ( #7633 )
...
* config: add xwayland enabled option to config
* xwayland: use DISPLAY env variable for enable/disable of new launches
* xwayland: close X11 windows when turning of XWayland
* clang: format fix
* config: add better description for xwayland:enabled
* xwayland: close X11 windows on disable without crashes
* xwayland: better method of informing CXWayland if xwayland enabled
* xwayland: prevent closing non-xwayland windows on disable
* misc: loop formatting
2024-09-05 17:26:46 +01:00
Maximilian Seidler
027140b731
sessionLock: ensure sls focus in some edge cases ( #7647 )
...
* input: return early in mouseMoveUnified when the session is locked
* sessionLock: make make a commit an opportunity to focus session lock surfaces
* compositor: allow resetting focus when session is locked
* input: remove redundant PMONITOR checks
PMONITOR is checked above
* input: check isSessionLocked earlier in mouseMoveUnified
A bit of reordering, so that we don't call some stuff that is irrelevant
when the session is locked
2024-09-04 16:59:00 +01:00
Maximilian Seidler
ea10592ad3
input: don't emit idle activity when calling simulateMouseMovement ( #7649 )
2024-09-04 11:23:29 +01:00
vaxerski
9b54342baa
Revert "syncobj: wait for deadline instead of available"
...
This reverts commit cf6a1716ae .
Fixes #7628
2024-09-03 14:47:34 +02:00
Mihai Fufezan
8f9887b0c9
Nix: remove unused dependencies
2024-09-02 23:48:58 +03:00
Jan Beich
fa39df4731
CMake: drop unused deps after 016da234d0
...
Found via LDFLAGS += -Wl,--as-needed (default in Meson).
Some dependencies are only used by aquamarine.
2024-09-02 23:48:58 +03:00
Jan Beich
f7249bd331
CMake: drop duplicate -luuid after 5262292abc
2024-09-02 23:48:58 +03:00
Sungyoon Cho
6934e7aa2b
textinput: don't deactivate ime if another ti is focused ( #7617 )
2024-09-01 21:33:31 +02:00
Sungyoon Cho
8bbeee2041
textinput: send deactivate to ime on destory ti ( #7614 )
2024-09-01 18:44:33 +02:00
Mihai Fufezan
7a24e564f4
flake.lock: update xdph again
2024-09-01 19:37:25 +03:00
Mihai Fufezan
4b5b8a7630
flake.lock: update xdph
2024-09-01 18:14:14 +03:00
Mihai Fufezan
5b1375141b
flake.lock: update
2024-09-01 17:18:57 +03:00
Tom Englund
4af9410dc2
xwm: read atom name from xcb ( #7546 )
...
expand the debug trace logging by actually reading the atom name from
xcb if not found in HYPRATOMS, will also print the proper atom for xcb
internal ones and not just the HYPRATOMS ones.
2024-09-01 12:04:28 +02:00
Ikalco
a6315b0af4
core: fix crash on monitor removed with gammaControl ( #7601 )
...
* fix crash on monitor removed with gammaControl
* Update GammaControl.cpp
2024-08-31 21:55:08 +02:00
TheMical
cac59fefec
data-device: Fix selection mismatch when wlr resets primary selection ( #7598 )
2024-08-31 21:43:02 +02:00
Ikalco
1ac2fc3f7e
protocols: destroy new xdgDialog protocol at right time ( #7600 )
2024-08-31 21:07:23 +02:00
Vaxry
cf6a1716ae
syncobj: wait for deadline instead of available
...
avoids slow apps from lagging the desktop
2024-08-31 18:33:04 +02:00
NotAShelf
10d7219807
CI: clarify Nix CI jobs; disable on forked repositories
2024-08-31 17:17:36 +03:00
Ikalco
838ed87d6f
renderer: minor direct scanout fixes ( #7594 )
2024-08-31 15:07:52 +02:00
Jan Beich
76b82fdde7
meson: explicitly specify path for find(1) ( #7590 )
...
assets/install/meson.build:1:10: ERROR: Command `/bin/sh -c 'find -type f -not -name "*.build"'` failed with status 1.
2024-08-31 11:01:02 +02:00
Vaxry
c5fd577181
config: Add a window rule to render while unfocused ( #7582 )
2024-08-30 17:37:52 +02:00
Vaxry
fbd6354393
presentation-feedback: minor fixups
2024-08-30 15:53:45 +02:00
Vaxry
fd8d8e122e
keybinds: fixup misused kb state
...
fixes #7369
2024-08-30 15:53:45 +02:00
Vaxry
1c9d56998d
xdg-dialog: implement new protocol
2024-08-30 15:53:44 +02:00
darkwater
242e06b242
keybinds: release mods after sendshortcut ( #7581 )
2024-08-30 15:06:49 +02:00
Vaxry
25e72949a1
window/xwayland: minor property cleanup
...
fixes #6921
2024-08-30 14:12:23 +02:00
trianta
259dcd838e
xwayland: update overrideRedirect on map and configure ( #7575 )
2024-08-30 14:04:09 +02:00
Mihai Fufezan
ef33198e8f
flake.lock: update aquamarine and hyprutils
2024-08-30 14:10:46 +03:00
Vaxry
604eb21a7e
renderer: better lockscreen dead behavior ( #7574 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-08-29 23:30:12 +02:00
Mihai Fufezan
92a0dd164e
flake.lock: update
2024-08-29 13:41:03 +00:00
Vaxry
b9b8e6220f
renderer: fade out windows on silent moves
2024-08-28 21:54:49 +02:00
Vaxry
a95df6b57e
xwm: don't mark selection events as succeeded
...
fixes #7401
2024-08-28 20:37:07 +02:00
Vaxry
9642311ac2
window: don't focus on activate if window isn't mapped yet
...
ref #7089
2024-08-28 20:33:38 +02:00
Ikalco
98e99cd03d
renderer: ensure buffer format on commit ( #7556 )
2024-08-28 15:07:13 +02:00
diniamo
8210a1d7ac
nix(flake): update aquamarine
2024-08-28 15:28:01 +03:00
Vaxry
d105c7403c
hyprctl: add next and all to switchxkblayout
...
fixes #7555
2024-08-28 14:05:31 +02:00
Vaxry
00ee1cf98e
data-device: send dndFinished when dnd offer is destroyed while unfinished
...
fixes #7496
see 711c5bb43f
see https://bugs.kde.org/show_bug.cgi\?id\=482142
2024-08-28 13:45:13 +02:00
Ikalco
7dd0f76e5a
logs: don't get timezone every time logging ( #7550 )
...
its expensive cause cpp dum
2024-08-28 13:19:06 +02:00
Tom Englund
17ed4fc04c
hyprctl: avoid parsing string::npos on invalid cmd ( #7544 )
...
* hyprctl: avoid parsing string::npos on invalid cmd
invalid lines passed to hyprctl keyword made the string parsing try to
parse std::string::npos, avoid that and return an error text instead.
* style
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-08-27 20:42:30 +02:00
Nick H
6a8824253c
build: Fix NO_XWAYLAND compilation ( #7538 )
2024-08-27 20:41:46 +02:00
Serenity Braesch
eb42adc4c0
Fix missing include needed by clang
2024-08-26 22:36:43 +03:00
raf
09dbcabcc7
CI: disable stale workflow on forks ( #7535 )
...
The stale workflow will run unconditionally, but will fail on forks due to
`STALEBOT_PAT` not being set. Trigger the workflow *only* if we are on the
main repo, where we can guarantee the PAT. Also formats the YML syntax to be
slightly more readable.
2024-08-26 20:24:57 +02:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
Tom Englund
1ea47950f4
misc: fix some minor typos ( #7530 )
...
* keybindmgr: fix typo in swap prev
seems a suspicious extra ) got added, remove it.
* configmgr: dont dereference invalid iterator
i think the idea here was to print the key and not the iterator at or
past .end()
2024-08-26 18:02:44 +02:00
Tom Englund
8d6c18076f
core: make most for loops use const references ( #7527 )
...
why not let the compiler optimise things for us at hyprspeeds when we
can.
2024-08-26 17:25:39 +02:00
Tom Englund
9c5a37a797
build: fix 32bit builds ( #7510 )
...
ensure the correct type is passed to std::clamp and std::max int64_t is
different on 64bit compared to 32bit, also in presentationtime
tv_sec is __time_t and on 32bit its a 32bit type so right shift count >= width
of type. so only bit shift on 64bit. and avoid potential nullptr deref
in the for loops, check for .end() before *it <= endID.
2024-08-26 14:08:30 +02:00
Adithya Ajith
ca85455a8e
misc: Rename all instances of "emtpy" to "empty" ( #7522 )
2024-08-26 12:25:52 +02:00
Maximilian Seidler
28f6c2df59
sessionLock: fix misc:allow_session_lock_restore ( #7511 )
...
* Revert "sessionLock: fix the check for locking a locked session (#6843 )"
This reverts commit 9ff83f4aa9 .
* sessionLock: remove early check for session beeing locked
It is checked in the `onNewSessionLock` handler, which also respects the
`misc:allow_session_lock_restore` option.
2024-08-26 10:27:34 +02:00
Vaxry
83ab3ae0af
xwaylandmgr: minor refactor to activateSurface
...
Make it more efficient now that we can + fix possible nullptr deref
fixes #7514
2024-08-26 10:24:45 +02:00
trianta
b672118f92
xwayland: deactivate xwayland focus if wayland is focused ( #7458 )
...
* xwayland: deactivate xwayland focus if wayland is focused
* xwayland: deactivate last xwayland surface after focusing wayland
2024-08-25 16:37:03 +02:00
Nelo-T. Wallus
aac90d9279
hyprpm: Fix checking dependencies ( #7504 )
...
* hyprpm: Fix checking dependencies
* hyprpm: Check for dependency "pkg-config"
---------
Co-authored-by: Nelo-T. Wallus <nelo@wallus.de>
2024-08-25 13:13:48 +02:00
Ikalco
66586c38f5
keybinds: refactor dispatchers to be better ( #7331 )
2024-08-24 18:45:53 +02:00
Vaxry
82c67e61a9
config: fix uninitialized values with mode parsing
2024-08-24 15:24:55 +02:00
Vaxry
e45e606fbd
layersurface: don't unref from monitor until dtor
...
reee
2024-08-24 15:22:10 +02:00
Sungyoon Cho
688fe5c147
windowrules: add fullscreenstate field ( #7466 )
...
* windowrules: add fullscreenstate field
* fix typo
2024-08-23 20:42:14 +01:00
MahouShoujoMivutilde
a3b75559b3
input: Fix modifier keys getting stuck if depressed during config reload ( #7486 )
...
The problem:
If `input:numlock_by_default = true`, depressed mods will get stuck
on config reload; this takes effect after some other mod is pressed.
This restores 0.41.2 behavior, with the exception that selected keyboard
layout is preserved.
918d8340af/src/managers/input/InputManager.cpp (L993-L1002)
2024-08-23 20:35:52 +01:00
Tom Englund
df4f222482
layersurface: remove layer on destroy from monitor ( #7457 )
...
remove destroyed layer weakptrs on destroy, we can hit multiple
null ptr derefs in renderering on mirroring and unmirroring displays
otherwise.
2024-08-23 14:06:52 +01:00
vaxerski
3b663f4afc
screencopy: fixup 10-bit sharing via shm on nvidia
2024-08-23 14:13:49 +02:00
Red
f634b9e61a
Fix crash reports having execute permission
2024-08-22 15:28:01 +03:00
Mihai Fufezan
bdb296a83c
flake.lock: update
2024-08-22 14:30:17 +03:00
Mihai Fufezan
4fa63104c9
Nix: exclude wayland-scanner until next staging merge
2024-08-22 14:30:10 +03:00
Florian Klink
a437e44a6a
CMakeLists: wayland.xml is in wayland-scanner pkgdatadir
...
See 6c4a695045/meson.build (L129-136)
Similar fix as https://github.com/hyprwm/aquamarine/pull/55 .
2024-08-22 13:50:00 +03:00
Tom Englund
cae937c51b
layersurface: dont rollover on size_t ( #7451 )
...
unneded rollover on size_t if force equals -1
2024-08-21 22:05:03 +01:00
James R Larrowe
8162fae377
Fix Makefile too
...
... did this ever work?
2024-08-21 23:09:13 +03:00
James R Larrowe
c5786be695
Fix static asan patch
2024-08-21 23:09:13 +03:00
Mihai Fufezan
1b1ecf77e0
Nix: include xcursor regardless of xwayland
2024-08-21 22:37:28 +03:00
vaxerski
883463f9dd
animations: add workspace in/out configs
2024-08-21 14:38:07 +02:00
Tom Englund
3e7325af57
output: dont cast enum out of range ( #7448 )
...
avoid casting non typed enum out of range, looks like
WL_OUTPUT_MODE_CURRENT was the intention here.
2024-08-21 11:52:40 +01:00
ParaN3xus
946ed1f32a
core: add option to control which window to focus on close ( #7368 )
2024-08-21 11:24:42 +01:00
Ali Atashrooz
4eff224a7f
example/config: fix typo in default config ( #7446 )
...
* Update hyprland.conf
* Update defaultConfig.hpp
2024-08-21 11:24:02 +01:00
vaxerski
c86db7bbb0
monitor: avoid dangling references to old monitors being undestroyed
...
ref #7414
2024-08-19 18:44:22 +02:00
vaxerski
272d904870
monitors: avoid crash on wayland output removal
2024-08-19 18:36:14 +02:00
JL2210
01e3da4d51
examples: more systemd examples ( #7409 )
...
These allow launching hyprland with a systemd service. They provide
graphical-session.target which allows enabling services such as the
ones for Waybar and Mako.
2024-08-19 14:02:09 +01:00
Jan Beich
33015546c6
config: add missing header for libc++ after 92744b5b9a ( #7403 )
...
In file included from src/pch/pch.hpp:1:
In file included from src/Compositor.hpp:11:
src/config/ConfigManager.hpp:147:10: error: no template named 'variant' in namespace 'std'
147 | std::variant<SBoolData, SRangeData, SFloatData, SStringData, SColorData, SChoiceData, SGradientData, SVectorData> data;
| ~~~~~^
2024-08-19 13:46:36 +01:00
loseardes77
83d88fa564
hyprpm, hyprctl: update shell completions
2024-08-19 00:21:59 +03:00
diniamo
11dfb8397b
flake: update aquamarine
2024-08-19 00:18:26 +03:00
vaxerski
f4045ab8d0
screencopy: fix 10b format r/b flip
2024-08-18 22:57:21 +02:00
vaxerski
fa12efdd2a
protocol: fix logm template checks
2024-08-18 22:54:47 +02:00
vaxerski
bf611fbbf3
screencopy: nuke unused stuff
2024-08-18 22:40:21 +02:00
Tom Englund
5afc4dc42e
compositor: update suspendstate on window move ( #7396 )
...
hyprctl dispatch -- movetoworkspacesilent x,"^kitty$" where X is the
current workspace makes kitty stops updating until current workspace is
changed while it is on the screen. update the suspend state after it has
been moved.
2024-08-18 20:02:46 +01:00
vaxerski
50348a3ddb
renderer: pass custom modelines to aq
...
ref #7390
2024-08-18 20:19:13 +02:00
vaxerski
279ec1c291
linux-dmabuf: allow on split-node systems
...
ref #7364
2024-08-18 19:52:01 +02:00
Tom Englund
1006663b6e
shm: align size to stride ( #7383 )
...
calculate the size to the stride we got to better align it.
2024-08-18 09:23:27 +01:00
Sami Liedes
b2a18aa80a
input: Fix disabling tap-to-click ( #7304 )
...
* Allow disabling tap-to-click
* Style fix
2024-08-18 08:14:42 +01:00
leiserfg
d21a6b12b8
Update aquamarine input in flake
2024-08-18 09:47:39 +03:00
vaxerski
912e7ba82d
render: fixup format mismatch after leaving DS
...
fixes #7373
2024-08-17 19:27:20 +02:00
Vaxry
92744b5b9a
IPC: Add config descriptions ( #7377 )
...
Thanks @gulafaran for the work
---
Co-authored-by: @gulafaran
2024-08-17 17:33:16 +01:00
Tom Englund
c5feee1e35
xcursormgr: dont apply scale on gsettings ( #7316 )
...
gtk scales the cursor size itself since its CSD so if we scale the size
its gonna get double scaled. incorporate the scale into xcursormanager
to keep track of it.
2024-08-16 17:00:59 +01:00
Tom Englund
1840a907a8
renderbuffer: ensure framebuffer gets deleted ( #7363 )
...
after commit 4b4971c it uses m_iFbAllocated and deletes if upon calling
release() but Renderbuffer generates directly on m_iFb without calling
alloc() meaning it wont be deleted on release(), set m_iFbAllocated to
true after generating the buffer.
2024-08-16 10:09:01 +01:00
Vladimir-csp
682b30fba8
env: Add HYPRLAND_NO_SD_VARS env condition ( #7358 )
...
* Add HYPRLAND_NO_SD_VARS env condition
wip #7083
* Formatting shuffle
* Formatting
2024-08-16 08:19:08 +01:00
Tom Englund
12d9901472
protocols: refactor protocol logging to a macro ( #7324 )
...
this avoids the usage of the unique_ptr PROTO::protocol before it has
been constructed incase one wants to log something inside the
constructor itself, move the logging to macros and print file:linenumber
on ERR,CRIT,WARN and classname on the rest of the levels.
2024-08-15 17:16:18 +01:00
Vladimir-csp
15f942000e
core: Preserve existing XDG_CURRENT_DESKTOP ( #7347 )
...
* Preserve existing XDG_CURRENT_DESKTOP
* fix
---------
Co-authored-by: vaxerski <vaxry@vaxry.net>
2024-08-15 17:14:48 +01:00
Maximilian Seidler
520e91238f
gamma-control: fix crash on monitor disconnect ( #7353 )
2024-08-15 17:08:54 +01:00
Kyle
0c56be74a3
keybinds: Fix syncFullscreen inconsistent with state when set by fullscreenState ( #7343 )
...
* Set syncFullscreen to true on synced non -1 states
* Fix syncFullscreen value in fullscreenState
2024-08-15 17:04:24 +01:00
Mirkwood
069faa4027
helpers: fix: revert to signed arithmetic for cycling through workspaces ( #7339 )
...
The code clearly expects signed types there.
Fixes #7329
2024-08-15 13:03:23 +01:00
vaxerski
c30dfe92ee
[gha] Nix: update inputs
2024-08-15 11:39:29 +00:00
Ikalco
d85ae306c5
xcursor: handle file errors when loading xcursor themes ( #7326 )
2024-08-15 12:37:56 +01:00
davc0n
197f880790
logs: Add file path to asset ERR log ( #7336 )
2024-08-14 18:35:07 +01:00
MightyPlaza
3b4aabe04c
decorations: fix manual resize not recalculating decos ( #7323 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
2024-08-13 21:00:31 +01:00
Mihai Fufezan
c5ec079c6f
hyprpm, hyprctl: remove Makefiles
2024-08-13 22:14:58 +03:00
Patrick Ulbricht
4aec237ec0
README: Change image sources from vaxerski/Hyprland to hyprwm/Hyprland ( #7315 )
...
* readme: Change image sources from vaxerski/Hyprland to hyprwm/Hyprland
* readme: Remove unused image
2024-08-13 19:14:52 +01:00
Ikalco
39df1f4dbf
cursormgr: fix cursor gsettings on session change ( #7295 )
2024-08-13 18:27:00 +01:00
Tom Englund
77cf651825
protocols: avoid crashing in drmlease ( #7290 )
...
instead of potentially causing wonky behaviour from destructing in the
constructor add the unique_ptr reset to doLater and dont use the not
done constructed protolog in the constructor, call Debug::log directly.
see issue #7240
2024-08-12 19:49:52 +01:00
Kyle
c7b72790bd
keybinds: Fix fullscreenState toggling behaviour ( #7288 )
...
* Update fullscreen state dispatcher behaviour
* Change syncFullscreen default to false
* Revert all changes
* Modify fullscreenstate dispatcher toggle behaviour
* Update syncFullscreen according to state
* Update syncFullscreen before setting fullscreen state
2024-08-12 18:41:26 +01:00
Tom Englund
3fa6db1e7a
core: fix data race and a unsigned int rollover ( #7278 )
...
* keybindmgr: avoid uint rollover on mouse keycode
mouse keycode is 0, and the switch case checks for 0 - 8 and rolls over,
just return early if keycode is 0.
* watchdog: avoid data races in watchdog
asan thread sanitizer reported data races in the watchdog from reading
and setting the bool variables make them std::atomic bools. also add a
atomic bool for the main thread to wait for to avoid data race when
reading the config values.
* hyprdebug: change non unicode character to name
asan created false positives and didnt like this bit, so for the sake of
easier debugging rename it to something unicode.
2024-08-12 18:19:03 +01:00
Ikalco
d361fcbd85
config: fix explicit sync option warning ( #7293 )
2024-08-12 17:16:00 +01:00
Mihai Fufezan
df9d830117
flake.lock: update
2024-08-12 18:18:03 +03:00
Yang, Ying-chao
118d4e1001
install: Prepend ${DESTDIR} when creating hyprland symbolic link ( fixes #7280 ). ( #7281 )
2024-08-11 20:38:16 +01:00
Tom Englund
511eea71c6
pointermgr: fix initial cursorwarp ( #7286 )
...
change the hook to monitorAdded instead of newMonitor so its finalized
in the compositor and added to vMonitors, move the
checkDefaultCursorWarp to PointerManager and check for it upon mode
change. and also ensure it doesnt go out of bounds by replacing it in
the middle again on resolution changes.
2024-08-11 19:42:18 +01:00
Walt Bringenberg
01ff5fdf6a
cursor: make inactive_timeout setting a float ( #7268 )
2024-08-10 21:42:45 +01:00
Zach DeCook
0bf9ceb53b
core: Include cstring whenever strncpy is used ( #7267 )
...
Fixes ppc64le build in alpine
2024-08-10 21:09:12 +01:00
Vaxry
4fdc0d55e4
eventloop: don't dispatch in enterLoop
...
ref #6842 , BSD blocks in udev on no event apparently
2024-08-10 00:04:26 +02:00
Tom Englund
8b37e81374
cursormgr: add a new setting to sync gsettings ( #7253 )
...
cursor:sync_gsettings_theme is set to default true and if enabled it
will now sync xcursor theme loading with gsettings if it can, meaning
CSD clients will now also change to the appropiate theme upon start and
hyprctl setcursor THEME SIZE .
2024-08-09 19:33:20 +02:00
Mathis H.
fd1d4e288e
headers: set correct paths to header files ( #7245 )
2024-08-09 16:51:21 +02:00
Tom Englund
4b4971c06f
internal: introduce new types to avoid unsigned int rollover and signed int overflow ( #7216 )
...
* framebuffer: avoid gluint overflow
GLuint was being initialized to -1 and rolling over to unsigned int max,
its defined behaviour but very unnecessery. add a bool and use it for
checking if allocated or not.
* opengl: avoid gluint rollover
-1 rolls over to unsigned int max, use 0xFF instead.
* core: big uint64_t to int type conversion
there were a few uint64_t to int implicit conversions overflowing int
and causing UB, make all monitor/workspaces/windows use the new
typedefs. also fix the various related 64 to 32 implicit conversions
going around found with -Wshorten-64-to-32
2024-08-08 21:01:50 +02:00
Vaxry
83a334f97d
core: Move to C++26 and use native_handle to CLOEXEC the debug fd ( #7219 )
...
Requires GCC >= 14 / Clang >= 18
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-08-08 11:54:41 +02:00
Vaxry
9a09eac79b
props: bump version to 0.42.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-08-07 21:17:10 +02:00
Vaxry
2d552fbaa2
renderer: fixup nvidia driver version checks
2024-08-07 18:54:45 +02:00
Vaxry
ea72831541
wayland/compositor: introduce client commit events
2024-08-07 17:04:49 +02:00
Tom Englund
a399f98c68
cursormgr: avoid scanning ill formed inherit ( #7211 )
...
avoid adding ill formed Inherit lines to inherit vector and later
scanning them, it wont change anything in practice but makes the inherit
theme parsing more in line with what its supposed todo. also check for
return values of the various string functions so we dont end up erasing
the wrong thing.
2024-08-07 16:37:09 +02:00
Agent00Ming
3e00d7dde7
compositor: fix general:extend_border_grab_area ( #7214 )
...
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-08-07 16:36:20 +02:00
Sami Liedes
d5bc3eb1fa
hyprctl: link to much less libraries ( #7212 )
...
This makes hyprctl start significantly faster.
$ time for ((i=0; i<1000; i++)); do hyprctl/hyprctl -j activewindow >/dev/null; done
Before: 12.269 s (about 12.3 ms/execution)
After: 2.142 s (about 2.1 ms/execution)
2024-08-07 16:28:02 +02:00
Vaxry
99e9cb5107
drm-syncobj: fixup fd leak with timelines
2024-08-07 16:08:50 +02:00
Vaxry
f36c625e37
compositor: minor cleanups for fading out layers
2024-08-07 13:35:02 +02:00
Vaxry
2e3dc17a7e
renderer: guard layer in renderLayer
...
ref #7181
2024-08-07 13:31:32 +02:00
outfoxxed
b2717cf7fd
xdg-shell: make xdg-positioner flip target greatest available space ( #7209 )
...
When both flip directions use more space than is available, pick the
direction that has more space available instead of just the opposite
of what was initially requested.
2024-08-07 13:26:09 +02:00
Tom Englund
3d82d199f0
cursormgr: implement inheriting themes for xcursor ( #7197 )
...
* cursormgr: reduce duplicated code
add a few functions such as setCursorBuffer and setAnimationTimer to
reduce duplicated code and also avoid future mishaps of forgetting to
clear buffer or disarm timer. and generally reduce spaghetti even tho
pasta can be delicious.
* xcursormgr: implent inherited themes
implent index.theme parsing and inherited themes.
* cursormgr: ensure a fallback xcursor exist
ensure a xcursor fallback exist otherwise it wont load the proper theme
if we at launch have hyprcursor enabled and then set it to false in
config and reload. also use the env var when using hyprctl setcursor
incase its empty.
2024-08-07 13:23:00 +02:00
Ikalco
a05da63d85
keybinds: fix NoSymbol keybinds ( #7199 )
2024-08-07 13:22:19 +02:00
Tom Englund
5b736a4a66
debug: dont manually unlock the lock_guard ( #7210 )
...
when lock_guard goes out of scope it RAII itself and calls unlock.
causes crashes on freebsd/libc++ and double unlocking a mutex is UB.
2024-08-07 13:22:01 +02:00
Ikalco
fa6ee51367
input: fix leds on kb creation ( #7206 )
2024-08-07 08:44:20 +01:00
Vaxry
b0a70f63e3
wayland/compositor: drop pending buffer ref if synchronous
...
fixes https://github.com/hyprwm/hyprpicker/issues/85
2024-08-06 17:08:22 +02:00
Vaxry
d597ae41b9
renderer: fixup crashes on inaccessible files for bg
2024-08-06 16:57:15 +02:00
Vaxry
640d161851
renderer: Explicit sync fixes ( #7151 )
...
Enables explicit sync by default for most platforms
`misc:no_direct_scanout` -> `render:direct_scanout`
2024-08-06 15:52:19 +02:00
Tom Englund
0e86808e59
cursor: Better xcursor implementation ( #7178 )
...
* xcursor: bootleg xcursors into its own manager
implent XCursorManager and load themes based on librarypath and its
dir, now we catch all supplied theme files. and also implent animated
cursors. also refactor a bit of spaghetti regarding xcursors in
CursorManager.
* hyprcursor: fix buffer leak
animated cursors are creating a new buffer for each image, ensure we
drop the buffers so it continously doesnt build up in infinity.
* cursormgr: use eventloopmgr for animation
use EvenloopManager for timers instead of adding it directly to
m_sWLEventLoop and using its related wl_* functions.
2024-08-05 19:58:21 +02:00
MightyPlaza
2b520571e8
keybinds: improve fullscreenstate toggling ( #7174 )
...
modified: src/managers/KeybindManager.cpp
2024-08-04 21:40:34 +02:00
Mihai Fufezan
5dd2c27b63
CMake, Meson: install config and wallpapers to DATADIR/hypr
...
OpenGL: get wallpapers dir from DATAROOTDIR
2024-08-04 15:19:37 +03:00
MaroonSkull
4ae89e1f22
CMake: Suppress CMake warning about GNUInstallDirs
2024-08-04 12:10:50 +03:00
MightyPlaza
51ffd7fa6f
decorations: fix infinite recursion on no_gaps when only ( #7169 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
2024-08-03 19:50:08 +02:00
Vaxry
ae50f8614d
wayland/surface: fixup self-owning surface roles
...
fixes #7133
2024-08-03 17:58:06 +02:00
Jan Beich
9f5a57ff45
core: Add missing header for libc++ after e989a0bcff ( #7158 )
...
src/Compositor.cpp:2295:74: error: no member named 'bit_floor' in namespace 'std'
2295 | const eFullscreenMode CURRENT_EFFECTIVE_MODE = (eFullscreenMode)std::bit_floor((uint8_t)PWINDOW->m_sFullscreenState.internal);
| ~~~~~^
src/Compositor.cpp:2296:74: error: no member named 'bit_floor' in namespace 'std'
2296 | const eFullscreenMode EFFECTIVE_MODE = (eFullscreenMode)std::bit_floor((uint8_t)state.internal);
| ~~~~~^
src/desktop/Window.cpp:1242:34: error: no member named 'bit_floor' in namespace 'std'
1242 | return (eFullscreenMode)std::bit_floor((uint8_t)m_sFullscreenState.internal) == MODE;
| ~~~~~^
2024-08-03 13:02:10 +01:00
Tom Englund
4141e67550
xcursor: rework bootleg xcursor ( #7140 )
...
there were a bunch of missing cursors, rework the shape loading add a
function to get legacyname from new wayland names. also bootleg add a
cursor if no theme can be found and no shape. to atleast show
something.
2024-08-02 23:16:20 +02:00
Tuur Vanhoutte
be2dfa36ef
hyprctl: increase hyprctl timeout to 5s to fix #6801 ( #7152 )
2024-08-02 21:49:47 +02:00
Vaxry
1fa4b7d79b
hyprerror: minor stylistic changes
2024-08-02 18:42:10 +02:00
Maximilian Seidler
592b4a709c
sessionLock: don't sendLocked when session lock has already been destoyed ( #7150 )
...
* sessionLock: reset m_pSessionLock on destroy
* sessionLock: only send locked when resource is good
2024-08-02 15:25:51 +02:00
Vaxry
09bb5658b7
window/ls: reset core signals after destroy
...
fixes #7137
2024-08-02 00:31:44 +02:00
Vaxry
ab0a3268e0
xdg-shell: fixup unassigned wl surfaces to xdg surfaces
...
fixes #7133
2024-08-01 15:43:19 +02:00
MightyPlaza
c8873b958d
internal: fix fullscreen typos ( #7134 )
...
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
2024-08-01 14:59:52 +02:00
Vaxry
60571cd5cc
border: fixup infinite recursion
...
ref #7127
2024-08-01 12:36:15 +02:00
Vaxry
5edfa627b4
layershell: don't throw misaligned error on exclusive edge 0
...
ref #7108
2024-08-01 11:46:04 +02:00
MightyPlaza
95959789b7
keybinds: allow toggling fullscreenstate ( #7128 )
...
modified: src/managers/KeybindManager.cpp
2024-08-01 11:43:32 +02:00
Sungyoon Cho
8c02b3c267
layout: fix dynamic rules not updating after setting fullscreen ( #7129 )
2024-08-01 11:43:02 +02:00
Tom Englund
5b7057c479
pointer: fix buffer crash ( #7131 )
...
current buffer->buffer can turn out to be null actually check for its
existence or use the lastbuffer when calling updateCursorShm()
2024-08-01 11:42:22 +02:00
Vaxry
37e1411e8d
core/surface/buffer: Buffer lock/release fixes ( #7110 )
2024-07-31 21:47:26 +02:00
Tom Englund
5489682799
internal: some minor fd/socket cleanups and make logging thread safe ( #7123 )
...
* bezier: dont loop on float values
Using a floating-point loop variable with a fixed increment can cause precision
errors over time due to the nature of floating-point arithmetic.
and cause undesired effects.
ex
iteration 1 = 0.10000000149011611938
iteration 2 = 0.20000000298023223877
eventually..
iteration 8 = 0.80000001192092895508
iteration 9 = 0.89999997615814208984
* hyprctl: close sockets on destruction
store socketpath and close the fd and unlink the socket path on exit.
* eventloopmgr: close the timerfd
close the timerfd on exit.
* debug: make logging thread safe
instead of opening and closing the logfile on each write open it on init
and close it on compositor exit. also add a mutex so accidently using
logging from a thread like the watchdog or similiar doesnt cause issues.
* xwl: clean up fd logic
check if the fd is actually opened before closing, and close the
pipesource FD on exit.
2024-07-31 21:00:14 +02:00
MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
2024-07-31 19:55:52 +02:00
André Silva
8a5f9bbb39
keybinds: handle null monitor in pinActive ( #7122 )
2024-07-31 17:54:07 +02:00
Ikalco
3b9b5346b8
protocols: Move globalshortcuts impl ( #7102 )
...
* move global shortcuts to hyprwayland-scanner
* remove wayland-scanner from deps
* fix the thing
2024-07-30 23:33:56 +02:00
Mihai Fufezan
8ec3dc4c09
CI: update actions
...
flake.lock: update aquamarine and xdph
2024-07-30 22:13:48 +03:00
Vaxry
cc7c117fe7
output: minor tearing fixes
2024-07-30 15:50:14 +02:00
Vaxry
1c221240d0
output: submit damage to kms
2024-07-30 15:46:41 +02:00
vaxerski
c1afc82a4c
[gha] Nix: update inputs
2024-07-30 13:34:22 +00:00
Vaxry
f3a9f9ec45
pointer: use preMonitorCommit for resetting render state
...
in DS preRender is not called
2024-07-30 15:32:42 +02:00
jim3692
10e631053a
compositor: fix log typos ( #7111 )
2024-07-30 13:50:13 +02:00
Vaxry
46c6efeab3
hyprpm: execute all git commands regardless of fails
2024-07-30 12:11:38 +02:00
Vaxry
68ee4dda5e
hyprpm: warn about uncheckoutable commits
2024-07-30 12:05:23 +02:00
Vaxry
743e98f0c0
hyprpm: add short error code explanations
2024-07-30 11:54:28 +02:00
Vaxry
e673220340
core/surface: fixup a few pointer handling edge cases
2024-07-29 19:29:08 +02:00
Tom Englund
9c38b0fdbe
core: add a destructor to CHyprOpenglImpl and avoid wl_container_of undefined behaviour ( #7101 )
...
* protocols: avoid undefined behaviour in C macro
to safely use wl_container_of with a class the class has to be no
virtual functions, no inheritance, and uniform access control (e.g all
public)
work around this by putting this into a destroywrapper struct.
* opengl: clean memory on destruction
add a destructor and free the allocated memory and close the fd
2024-07-29 19:29:08 +02:00
Ikalco
60b663e276
protocols: move text-input-v1 to hyprwayland-scanner ( #7096 )
...
* move text-input-v1 to hyprwayland-scanner
* vro
2024-07-29 18:14:19 +02:00
Vaxry
01560c9d7c
virtualptr: map to entire screen if no output is provided
...
fixes #6749
2024-07-29 18:13:23 +02:00
atikiNBTW
3a1afb53fd
pluginapi: Add force reload of config at the end of plugin initialization ( #7099 )
...
* Add force reload of config at the end of plugin load
* Remove unnecessary include
2024-07-29 16:56:50 +02:00
Vaxry
23a8f06594
virtualptr: allow binding to output
2024-07-29 16:27:09 +02:00
Vaxry
70468857da
egl: attempt a 3.2 egl context first
2024-07-29 14:27:05 +02:00
Vaxry
87699575e1
egl: require gles 3.0 only
...
No clue what could break, hopefully nothing
ref #6973
2024-07-29 14:23:19 +02:00
outfoxxed
33e513d489
xdg-shell: fix xdg-positioner y-flip ( #7094 )
2024-07-29 09:48:27 +01:00
Virt
6e6c61b9e8
layer-shell: avoid crashes on unmap ( #7092 )
2024-07-29 09:47:25 +01:00
vaxerski
a9d87bd666
surface: emit unmap before unmapping and releasing the buffers
2024-07-28 23:56:35 +02:00
vaxerski
7df9b01d48
core: emit unmap event after unmap in surface destroy
2024-07-28 23:47:17 +02:00
vaxerski
256db08aed
layersurface: null check for surface validity before unmap()
2024-07-28 23:41:41 +02:00
vaxerski
73d09953e8
core/surface: drop map/unmap events in member funcs
...
causes loops
2024-07-28 23:41:41 +02:00
Mihai Fufezan
fcff2dcac2
flake.lock: update xdph
2024-07-28 18:42:05 +03:00
Mihai Fufezan
3cc2028def
hyprpm: checkout commit instead of branch
...
Fixes #6948
2024-07-28 14:03:46 +03:00
Sungyoon Cho
9b6ae4f77b
input: fix keyboard leds with multiple keyboards ( #7079 )
2024-07-28 11:46:38 +01:00
outfoxxed
bc86afea7e
xdg-shell: completely rewrite xdg-positioner ( #7067 )
...
This implementation actually works.
2024-07-27 21:43:01 +01:00
vaxerski
6edfdd63a1
surface: avoid crashes on fading out layers
2024-07-27 22:15:36 +02:00
Mihai Fufezan
04b40ea2ec
CI: only run once for PRs with branches from original repo ( #7075 )
2024-07-27 22:17:05 +03:00
Mihai Fufezan
55ceca4cdd
flake.lock: update aquamarine
2024-07-27 20:32:11 +03:00
Mihai Fufezan
10e8af00d6
flake.lock: update hyprutils
2024-07-27 19:51:43 +03:00
MightyPlaza
ad711ef421
input: unify removing currentlyDraggedWindow ( #7071 )
...
modified: src/desktop/Window.cpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/InputManager.cpp
2024-07-27 17:46:19 +01:00
vaxerski
ae638d997d
configmgr: fix warning
2024-07-27 18:15:47 +02:00
vaxerski
141cd09bd3
renderer: use session lock alpha for rendering lacking locks
2024-07-27 18:13:41 +02:00
vaxerski
0243271544
layer-shell: properly map and unmap surface and propagate unmap events
2024-07-27 18:08:22 +02:00
vaxerski
729b47d46d
input: refocus last window on keyboard unfocusable surfaces
...
fixes #4460
2024-07-27 17:49:35 +02:00
MahouShoujoMivutilde
84227eb587
input: Fix hyprctl switchxkblayout not actually changing layout ( #7070 )
...
Emits `SModifiersEvent` in `updateModifiers()`
Before the patch:
Changing layout with `hyprctl switchxkblayout ...` results in:
* active keymap in `hyprctl devices` is changed
* no event
* no layout is actually changed UNTIL you press one of the mod keys
(Alt | Shift | Super | Ctrl)
After:
* active keymap in `hyprctl devices` changed
* activelayout IPC event emitted
* layout is changed
This fixes https://github.com/hyprwm/Hyprland/issues/7044
2024-07-27 16:43:45 +01:00
vaxerski
daed75219f
wayland/compositor: fixup double buffer releases
...
fixes #7043
2024-07-27 17:04:03 +02:00
Ikalco
ec672b1ab9
protocols: move screencopy and toplevel export to hyprwayland-scanner ( #7065 )
...
* move screencopy and toplevel export to hyprwayland-scanner
* oops
2024-07-27 16:02:02 +01:00
vaxerski
963816b9a6
layersurface: fixup focus issues in onUnmap
...
fixes #6929
2024-07-27 15:04:03 +02:00
Mihai Fufezan
534fdb5a37
flake.lock: update
2024-07-27 15:57:52 +03:00
vaxerski
682865632f
xwayland: fix high cpu idle usage
...
fixes #7051
2024-07-27 13:58:30 +02:00
vaxerski
76610d9fb0
opengl: destroy cairo image surface after use
2024-07-27 13:03:43 +02:00
vaxerski
57371b93a0
renderer: drastically optimize bg texture creation
...
stop loading 20MB images every time, dumbass
2024-07-26 19:53:24 +02:00
Vaxry
33a5c8ce32
config: avoid using initial ws tracking for exec-once
2024-07-25 15:29:39 +02:00
Vaxry
a0d15a0b7b
wayland/compositor: release buffers on unmap
...
XWayland does not use the regular commit(null) method to unmap, which results in buffers never being released.
release the buffers if present and un-released in the unmap() handler
ref #6584
2024-07-25 14:12:08 +02:00
Vaxry
cd942ad12d
keyboard: update xkb state after key event
...
fixes #6946
2024-07-25 13:10:53 +02:00
Vaxry
daf5fad190
keyboard: properly update keymap state and fd on keymap changes
...
needed for virtual keyboards that impose their own layouts.
fixes #6991
2024-07-25 13:02:10 +02:00
MightyPlaza
4beac91cbd
keybinds: add safeguard to mousebinds ( #7034 )
...
modified: src/managers/KeybindManager.cpp
2024-07-25 00:19:15 +02:00
Anton Lazarev
391f1ae838
input: don't simulate mouse movement on focus change in follow_mouse = 2/3 if no_warps is false ( #7015 )
2024-07-25 00:16:47 +02:00
Mihai Fufezan
381cb2d833
flake.lock: update aquamarine
2024-07-24 23:51:23 +03:00
MightyPlaza
a0be3de0e8
keybinds: handle monitor change in moveWindowIntoGroup ( #7030 )
...
modified: src/managers/KeybindManager.cpp
2024-07-24 20:00:25 +02:00
Ikalco
3e543d2ce8
core: Properly shutdown wl display ( #7018 )
...
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
2024-07-24 19:07:36 +02:00
MightyPlaza
735e3c6c56
crashreporter: add date and flags to crash report ( #7028 )
...
modified: src/debug/CrashReporter.cpp
2024-07-24 19:05:54 +02:00
Vaxry
b16fb9770c
egl: support getting the device via platform_device
...
a neat EXT
2024-07-24 18:53:51 +02:00
MightyPlaza
f2b6ebbf54
keybinds: remove toggleopaque ( #7024 )
...
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
2024-07-24 18:53:51 +02:00
Vaxry
fe19754887
shortcutsInhibit: fix crash
2024-07-24 16:26:44 +02:00
MightyPlaza
72bce7efd5
keybinds: add bindp and noshortcutsinhibit ( #7017 )
2024-07-24 14:10:36 +02:00
Vaxry
99088eaed8
compositor: simplify getWindowFromSurface
2024-07-24 11:07:28 +02:00
Leon
2da3cfb422
touch: fix touch swipe invert config ( #7014 )
2024-07-24 10:59:50 +02:00
Leon
e2efecc24e
flake: update aquamarine
2024-07-24 01:42:15 +03:00
Vaxry
8a4548e430
window: drop ack requirement for applying pending reported size
...
fixes #6533
2024-07-23 23:38:58 +02:00
Ikalco
a5f58a3126
layer-shell: validate exclusiveEdge and don't set it as top by default ( #7006 )
...
* validate exclusiveEdge and don't set it as top by default
* make sure exclusive edge anchor is within bounds
2024-07-23 20:03:15 +02:00
Vaxry
077494ee85
surface: fix zero_scaling xwayland damage
2024-07-23 19:56:47 +02:00
Mihai Fufezan
752604cfe9
Nix: remove meson (used by wlroots)
2024-07-23 20:40:33 +03:00
Sam Lakerveld
3c758db95c
renderer/layer-shell: use explicitly set exclusiveEdge ( #6984 )
2024-07-22 23:36:58 +02:00
Vaxry
7c68236a51
egl: avoid setting debug mode and handle legacyrenderer
...
ref #6973
2024-07-22 23:05:22 +02:00
Vaxry
4c3b035162
pointer/hw: rollback the swapchain on multiple renders without a commit
...
fixes the hack
2024-07-22 19:19:37 +02:00
Vaxry
f17f8b219c
pointer/hw: extend cursor swapchain to 3
...
otherwise on some commits we draw twice and we draw over the front buffer
2024-07-22 19:05:45 +02:00
Ikalco
e8374e0792
debug: get rid of useless 1s in logs ( #6969 )
...
* get rid of 1s in logs lol
* replace WLR with AQ in logs
2024-07-22 18:06:11 +02:00
Vaxry
77b134e23b
virtual-pointer: fixup virtual pointer warp events
...
fixes #6976
2024-07-22 17:24:30 +02:00
Vaxry
87db950189
wl_seat: avoid sending events to objects without caps
...
ref #6835
2024-07-22 16:57:35 +02:00
Vaxry
5bae7f150b
wayland/output: avoid sending events to dead outputs
...
ref #6835
2024-07-22 16:56:51 +02:00
diniamo
83a5395eaa
flake: update xdph
2024-07-22 14:47:06 +03:00
diniamo
d03fa94c2c
core: avoid locking 2 wayland sockets ( #6971 )
...
* fix: avoid locking 2 wayland sockets
* format
* fix formatting
2024-07-22 13:16:25 +02:00
UjinT34
511e9ccdd1
xwm: Fix xwayland black window bug after losing focus ( #6966 )
...
* fix xwayland black window bug
* resend normal state
2024-07-22 13:15:40 +02:00
Vaxry
3132f0275e
touch: set lastInputTouch on every event
2024-07-22 13:05:06 +02:00
Vaxry
1797319a07
renderer: untransform textures matching display transform
...
fixes #6754
This will break if the client uses a transform that is not equal to the display, reverting to old behavior. Combining transforms is left as a todo for the future.
2024-07-22 13:01:55 +02:00
Vaxry
5979ceb56b
surface: fixup logical damage size calculations
...
fixes #6618
2024-07-22 12:38:05 +02:00
Vaxry
672bf1f867
compositor: ignore setting surface scanout if DS is disabled
2024-07-21 23:52:16 +02:00
Vaxry
33e933e2a0
renderer: drop redundant spammy trace log
2024-07-21 22:09:29 +02:00
Vaxry
341fb4497f
wayland/compositor: fixup buffer damage tracking for wl_shm buffers
...
remove qt hack, fixup conditions
fixes #6844
2024-07-21 22:05:53 +02:00
Vaxry
cbaac6deaf
xwm: drop invalid case for clearing X focus
...
fixes #6955
2024-07-21 20:02:48 +02:00
Vaxry
3b6bcd6ddc
presentation-feedback: fix invalid values sent after aq merge
2024-07-21 19:25:07 +02:00
Mihai Fufezan
e6fc9873b5
flake.lock: update
2024-07-21 19:31:36 +03:00
Mihai Fufezan
db1f5cd137
CMake: fmt
2024-07-21 19:25:42 +03:00
Mihai Fufezan
928d1dd38a
CMake, Meson, Nix: replace props.json with VERSION
2024-07-21 19:24:17 +03:00
Mihai Fufezan
faa157e162
gitignore: add CMake residual files
2024-07-21 19:24:17 +03:00
Vaxry
7f624d2236
xwayland: fixup WM_SIZE_HINTS handling according to ICCCM
2024-07-21 17:41:26 +02:00
Vaxry
f7fb7e7e49
xwayland: avoid unfocusing on OR child focuses
...
fixes #6698
2024-07-21 17:27:36 +02:00
Vaxry
efcbcd7297
input: fix invalid usage of dev in setTouchDeviceConfigs
...
ref #6943
2024-07-21 16:45:46 +02:00
Vaxry
043b859ea2
hyprpm: init submodules after resets
...
ref #6948
2024-07-21 16:42:49 +02:00
khachbe
cf373d315e
touch: add touch swipe invert config ( #6940 )
2024-07-21 13:59:09 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00
phonetic112
f642fb97df
core: Fix crash on opening chromium ( #6932 )
2024-07-20 10:11:32 +02:00
vaxerski
9b0993cc49
[gha] build man pages
2024-07-19 22:37:42 +00:00
Ferdinand Bachmann
efccf25fcc
compositor: implement wayland socket handover ( #6930 )
...
* compositor: implement wayland socket handover
This commit implements the compositor side of the Wayland socket
handover protocol as described in the [KDE Wiki]. The CLI options are
chosen so that they are compatible with Kwin.
[KDE Wiki]: https://invent.kde.org/plasma/kwin/-/wikis/Restarting
* main: verify that --wayland-fd is a valid file descriptor
* main: fail if only one of --socket and --wayland-fd is passed
2024-07-20 00:37:20 +02:00
Agent00Ming
8e15f91c24
input: Emulate discrete scrolling from v120 events ( #6881 )
...
* seat: avoid sending axis_stop() when source is wheel
* fix rounding for absolute discrete values greater than 1
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-07-18 21:57:08 +02:00
VESSE Léo
300228b503
flake: add clang-tools to devShell ( #6916 )
2024-07-17 23:30:02 +03:00
Party Wumpus
293e687389
renderer: Make shader time always count from zero ( #6903 )
...
* testing out an initialtime variable
* Make time universally start at zero instead of exposing an initial time
* Appease the CI
2024-07-16 22:03:10 +02:00
Mihai Fufezan
da956c8a97
config: use hyprutils helper ( #6891 )
...
* flake.lock: update
nix/overlays: remove xwayland overlay (merged upstream)
* config: use hyprutils helper
* flake.lock: update
* CMake & Meson: update required versions
2024-07-16 21:23:37 +02:00
Khiet Tam Nguyen
bd526822de
config: add option to exit window while retaining fullscreen ( #516 ) ( #6880 )
...
* feat: saving fullscreen mode and state for restoring later
* style: no p-prefix, capitalised constants
2024-07-15 13:48:04 +02:00
MightyPlaza
f442f435d3
layout: update workspace rules on layout change ( #6878 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
2024-07-15 11:57:52 +02:00
Khiet Tam Nguyen
bc6b0880dd
window: override noMaximize if new window takes over fullscreen ( #6812 ) ( #6870 )
2024-07-13 20:44:32 +02:00
MightyPlaza
ed6c701144
renderer: partially revert previous xray fix ( #6868 )
...
modified: src/render/OpenGL.cpp
2024-07-13 20:29:07 +02:00
Tim Waterhouse
45c4898423
socket2: Add windowtitlev2 event which includes the window address ( #6856 )
...
Fixes #5393
2024-07-13 16:21:32 +02:00
David De Sousa
a770a88e09
toplevelexport: fix flipped r/b channels when sharing windows ( #6861 )
...
fixes #6823
2024-07-13 12:53:53 +02:00
Tim Waterhouse
1f64668953
ext-foreign-toplevel: Send done after title and class ( #6857 )
...
According to the spec (https://wayland.app/protocols/ext-foreign-toplevel-list-v1#ext_foreign_toplevel_handle_v1:event:title ), clients should wait for the done signal before applying updates
2024-07-13 12:53:23 +02:00
Vaxry
13bc7e1e14
style: fix clang-format
2024-07-13 12:36:35 +02:00
Junxuan Liao
7486576fa7
session-lock: send locked after the lock screen is properly rendered ( #6850 )
...
The protocol says:
> The locked event "must not be sent until a new "locked" frame (either from a
> session lock surface or the compositor blanking the output) has been presented
> on all outputs and no security sensitive normal/unlocked content is possibly
> visible".
This helps users ensure the screen is properly locked before suspending
the machine. (e.g. with swaylock --ready-fd)
2024-07-13 12:32:08 +02:00
MightyPlaza
f85c6416c6
renderer: fix a few xray regressions ( #6855 )
...
* fix xray unset
modified: src/render/OpenGL.cpp
* fix xwray unset
modified: src/render/OpenGL.cpp
2024-07-12 23:05:19 +02:00
Virt
e728e56cbc
meson: install wayland.hpp header
2024-07-11 23:58:23 +03:00
Maximilian Seidler
9ff83f4aa9
sessionLock: fix the check for locking a locked session ( #6843 )
2024-07-11 16:40:43 +02:00
vaxerski
3247d18a7c
[gha] Nix: update inputs
2024-07-11 14:12:19 +00:00
MightyPlaza
a443902abc
core: Improve handling of window properties ( #6776 )
...
* add mWindowProperties
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
* support int values
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
* create m_sWindowData
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* simplify some properties
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/managers/KeybindManager.cpp
* store multiple values in CWindowOverridableVar
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
* use SET_PROP priority for exec rules
modified: src/config/ConfigManager.hpp
modified: src/desktop/Window.cpp
* add default value
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add setprop toggle
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
* add setprop toggle
modified: src/debug/HyprCtl.cpp
* make window rules functional
modified: src/config/ConfigManager.cpp
modified: src/desktop/Window.cpp
* minor fixes
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
* properly clean layout data
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
* remove newline
modified: src/events/Windows.cpp
* fixes
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
* use CamelCase
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-07-11 16:10:42 +02:00
Ikalco
b03f41efec
xwayland: fix setting title prop ( #6809 )
...
* fix setting xwayland title prop
* add window title types
2024-07-08 17:46:42 +02:00
André Silva
648f824b9e
flake.lock: update
2024-07-08 18:24:54 +03:00
Virt
22138ac259
workspaces: don't try to reopen special workspaces ( #6802 )
2024-07-07 21:27:18 +02:00
Yusuf
19fb13e6cf
internal: Add functions to hyprctl header ( #6745 )
...
* add functions to hyprctl header
* refactor monitor json into own function and add it to header
* format hyprctl.hpp
* move functions to namespace
* move helper functions to class
2024-07-07 17:52:56 +02:00
Maximilian Seidler
ede1e63f69
config: don't crash when getenv HOME returns null
2024-07-07 16:59:03 +03:00
Vaxry
cc98594c3a
pointer: update geometry after unplug events
...
fixes #6700
fixes #6740
2024-07-05 23:05:09 +02:00
MightyPlaza
0502c3f62b
keybinds: fix movewindow float to 0 ( #6777 )
...
modified: src/managers/KeybindManager.cpp
2024-07-05 22:46:38 +02:00
Lincoln Yuji de Oliveira
0a6e83005f
Completions: use only awk ( #6763 )
2024-07-04 14:21:07 +03:00
Agent00Ming
e894d5e964
tablet: Send .frame() on .proximity_out() ( #6761 )
...
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-07-03 21:40:18 +02:00
Lincoln Yuji
8bb75a223d
hyprctl completions: Use only awk rather than grep + awk
...
Using "awk '/<exp>/{ print $n }'" is more minimal and slightly faster
than using "grep '<exp>' | awk '{ print $n }'".
Signed-off-by: Lincoln Yuji <lincolnyuji@hotmail.com>
2024-07-02 22:46:20 +03:00
Vaxry
6247a6b537
renderer: don't skip back background on preBlurQueued
...
fixes #6332
2024-07-02 18:40:27 +02:00
drendog
2fa57f2dc4
pointer: change min cursor padding to 0 ( #6027 )
...
* fix: change min cursor padding to 0
* chore: set default hotspot padding to 0
* fix: adjusting clamp after getting closest point to fix getting off limit point
* fix: deal with floating point to clamp to prev value
* refactor: max coords to vector
* fix: remove box closestPoint adjustment due its fix on hyprutils
2024-07-02 12:17:48 +02:00
Ikalco
e58fd3bfb0
meson: fix wlroots-hyprland dep checks (for libliftoff patch to work) ( #6736 )
2024-07-02 12:14:27 +02:00
Tom Englund
d7ea1b7785
xwayland: break cyclic loop of parents ( #6722 )
...
in X11 some surfaces is a parent of itself and creates a cyclic loop
when trying to find its parent. check for old parent and break if its
beginning to roll over.
2024-07-01 00:26:08 +02:00
UjinT34
4d6f96f74f
debug: add Nvidia driver info ( #6715 )
...
* add nvidia driver info to systeminfo
* check file exists
2024-06-30 13:16:41 +02:00
Tom Englund
8ff9410d2c
inputmgr: ensure we dont divide by zero ( #6713 )
...
some weird combination of scrolling/nesting hyprland and closing a
window i managed to divide by zero here, reported by ubsan. add a check
to ensure we dont hit UB.
2024-06-30 13:15:59 +02:00
はれなよ
718afe271e
seat: don't send keyboard data without a keyboard cap ( #6697 )
...
* Fix #6279 : prevent sending keymap or repeat info events by keyboards without keyboard capability
* Remove brackets
2024-06-29 20:05:07 +02:00
はれなよ
1f43a5c859
session: fix activate events being always treated as on ( #6696 )
...
* Fix listener_sessionActive to handle an event correctly when the session get inactivated
* Remove log
2024-06-29 20:04:48 +02:00
Vaxry
9c5dd59d4b
input: fix capabilities enum types passed
...
hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones
ref #6702 #6196
2024-06-29 00:23:02 +02:00
Vaxry
d16c6aa1db
pointer-constraint: set lifetime correctly
...
ref #6679
2024-06-29 00:18:24 +02:00
Tom Englund
ac11771348
core: fix a few ubsan issues reported at exit of hyprland ( #6699 )
...
* watchdog: dont detach and cause race condition
instead of detaching and causing a race condition on destruction where
the thread is alive and watchdog has been destroyed, check if its
joinable and join it on destruction.
causes heap use after free on exit of compositor.
* render: add checks for compositor shutting down
avoid member call on null pointer, if the g_pHyprRenderer is destroyed
we can call the member makeEGLCurrent on it, causes undefined behaviour
on destruction of the compositor/hyprrenderer.
found with ubsan.
2024-06-28 22:24:32 +02:00
Alexander
f2dc48d92f
keybinds: never switch to another monitor with per_monitor ( #6665 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2024-06-27 15:07:56 +02:00
outfoxxed
e4d09aa3a9
sessionLock: focus lock on creation based on mouse position ( #6658 )
...
* sessionLock: focus lock on creation based on mouse position
* sessionLock: immediately unfocus any focused surfaces on lock
2024-06-25 23:22:38 +02:00
Vaxry
c338acbb7d
ime-relay: fix crash on nullptr surface focus
2024-06-25 22:46:36 +02:00
Vaxry
95782de966
renderer: don't use the surface counter in popup iterations
...
fixes #6663
2024-06-25 20:04:02 +02:00
Vaxry
3ba3d20ad3
pointer: round position when rendering software cursors
...
otherwise the image gets resampled and gets blurry
2024-06-25 18:44:54 +02:00
Vaxry
1d70962892
core: move to steady_clock where applicable
...
avoid issues when system clock gets desynchronized or changed
2024-06-25 16:05:47 +02:00
Mihai Fufezan
918d8340af
flake.lock: update
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-06-25 15:06:02 +03:00
Vaxry
4f7113972e
props: bump version to 0.41.2
2024-06-25 13:53:41 +02:00
Vaxry
8121e66f34
cmake: bump hyprutils dep to 0.1.5
2024-06-25 13:50:59 +02:00
Gregory
784c0b5ccb
keybinds: fix mouse pass ( #6652 )
...
* keybinds: fix mouse pass
* keybinds: keep mouse and keyboard focus separate after pass bind
2024-06-25 13:46:49 +02:00
outfoxxed
eef207ce0a
output: fix cursors disappearing after dpms ( #6659 )
2024-06-25 12:55:54 +02:00
Vaxry
4dd2b5902e
hyprctl: add a newline after log()
2024-06-24 23:58:10 +02:00
Vaxry
cff0123ce6
wl-compositor: don't send enter to defunct output globals
2024-06-24 23:29:26 +02:00
Vaxry
8a68199a0c
foreign-toplevel-wlr: fix out-of-range for missing monitor resources
...
fixes #6635
2024-06-23 19:49:53 +02:00
Mihai Fufezan
e09addf8de
Workspace.hpp: fix include
2024-06-23 16:43:53 +03:00
John Titor
315f16d501
dbus: import PATH XDG_DATA_DIRS variables into systemd and dbus session
2024-06-23 16:11:50 +03:00
Alexander
7f09646ab8
core: add ability to select previous workspace per monitor ( #6598 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2024-06-22 23:52:42 +02:00
MariuszTrybus
0b924f541c
constraints: Lock surface region when region is empty ( #6627 )
...
* Pointer constraints: Lock surface region when region is empty
* Format code
2024-06-22 17:05:05 +02:00
Ikalco
4778afe2e6
hyprctl: make recv timeout bigger and give error message if it does timeout ( #6621 )
2024-06-22 00:41:23 +02:00
Tom Englund
fa022901cf
surface: add virtual destructor to surfacerole to avoid undefined behaviour ( #6620 )
...
* surfacerole: add virtual destructor
all classes that will be derived from should have a virtual destructor
otherwise deleting an instance via pointer to a base class is undefined
behaviour, layershell/xdgshell hits this with std::default_delete in the
new sharedptr implentation.
* includes: fix missing includes
fix missing includes for no precompiled headers builds, and remove a
redefiniton of a macro already defined in macros.hpp
2024-06-22 00:40:45 +02:00
Vaxry
4a8b13ea4f
renderer: shrink occlusion rect if blur is used
...
if we are blurring, we cannot be sure whether the occluded region won't be included in the expanded damage. If it is, we'd get dark shimmers.
fixes #6547
2024-06-21 19:25:34 +02:00
Vaxry
8cf2ca1966
math: include cstring for memset
...
fixup name too
2024-06-21 19:20:15 +02:00
Vaxry
fabc30df52
format: include macros for unreachable
2024-06-20 00:15:24 +02:00
Przegryw321
d6de248b0d
window: expose pseudotiled state and add param to dispatcher ( #6583 )
...
* Show pseudotiled state of window in hyprctl clients
* Add a window as an optional argument for the pseudo dispatcher
* change formatting
2024-06-19 23:19:18 +02:00
Vaxry
c1e21719a2
core: avoid bumping hard rlimits, restore on fork
...
ref #6584
2024-06-19 18:36:40 +02:00
Vaxry
def5fcb212
damageRing: move to hyprland impl
...
A small wlroots utility we were still using.
2024-06-19 18:25:25 +02:00
Mihai Fufezan
65f04f265c
flake.lock: update
2024-06-19 18:36:50 +03:00
Vaxry
6d21014a50
core: fix no-pch build
2024-06-19 16:29:00 +02:00
Lucas Reis
20a465f69d
pointer: use software rendering when monitor is mirrored ( #6587 )
...
* pointer_manager: add lock/unlock software wrappers that receive the raw pointer
* monitor: lock/unlock software pointer rendering when adding/removing mirrored screens
* use relative path in includes
2024-06-19 16:24:28 +02:00
Vaxry
fb15b7aa2a
core: Move to hyprutils for Math
...
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
2024-06-19 16:20:15 +02:00
random2907
6e5804b53d
hyprctl: fix zsh completion ( #6467 )
...
Co-authored-by: random2907 <yarnjeetyadav1234567890@gmail.com>
2024-06-19 09:20:49 +03:00
Vaxry
e0e3c4c6ae
compositor: bump nofile rlimits on launch
...
ref #6584
2024-06-18 21:53:01 +02:00
Vaxry
b98e0876d3
hyprctl: avoid using select()
...
move to poll()
ref #6584
2024-06-18 21:53:01 +02:00
Aqa-Ib
236150b3c5
github: reword bug or regression ( #6520 )
2024-06-18 18:06:14 +03:00
Vaxry
d1340bd1d8
keybinds: ignore missing keysyms if no other methods match
...
fixes #6548
2024-06-17 17:53:51 +02:00
Tom Englund
28ce0e0f80
misc: a few compiler level performance optimisations ( #6559 )
...
* window: use const references instead of copies
use const references instead of wasteful copies and make the = operator
check for self assignment and return early. also use const in all the
other operators.
* listener: pass std::function as const reference
instead of copies pass the std::functions as const references.
* config: dont unnecessarily convert to c_str
getHyprlangConfigValuePtr wants an std::string and we already have an
std::string, dont convert it to a c_str only for it to be converted back
to an std::string.
* buffer: pass attributes as const reference
pass attributes as const reference instead of copies.
2024-06-17 17:37:36 +02:00
Vaxry
a9c7a0830f
data-device: minor fixes
...
send leave after drop, improve checks in completeDrag
2024-06-17 16:14:45 +02:00
Vaxry
785d062887
seat: track pressed pointer buttons
...
releases them on leave, unless there is a dnd going on
2024-06-17 16:07:32 +02:00
Vaxry
1360677478
subcompositor/renderer: fixup handling of subsurfaces below the main one
...
some apps (notably vlc 4) place a subsurface below the main surface (which is kinda cursed) but we have to accomodate for that
2024-06-17 12:42:39 +02:00
Mihai Fufezan
14ab0ecc5e
Nix: don't strip in debug builds
...
Strip in Release builds, as the non-stripped binary is almost 500MB.
2024-06-17 13:14:27 +03:00
Mihai Fufezan
9cb3bf1cac
Nix: tidy up derivation
2024-06-17 13:03:59 +03:00
Vaxry
b15be9c77d
xwayland: do not set a new data source if it has no MIMEs
...
ref #6247
2024-06-16 21:34:17 +02:00
Vaxry
d5ef10abf4
data-device: properly abort drag on missing device
...
sometimes there is no focused device (e.g. when dnd'ing on nothing or xwayland) in which case abort would fail to send cancelled to the source.
ref #6543
2024-06-16 20:56:50 +02:00
Vaxry
172ee1cada
data-device: minor fixups
...
ref #6543
firefox needs a re-enter after a dnd
don't destroy dnd on an offer destroy, it's not valid
2024-06-16 20:36:55 +02:00
Dashie
738530e62e
xdg-shell: Continue transform of popup until size fits ( #6521 )
2024-06-16 20:01:08 +02:00
Vaxry
069a21a34e
xwayland: force default plain mime atoms on known types
...
ref #6247
2024-06-16 19:52:07 +02:00
Vaxry
2031af82fa
wl_data_device: send drop_performed in completeDrag
...
ref #6509
2024-06-16 17:41:16 +02:00
Vaxry
d0a6fa7aa6
wl_seat: accomodate for apps late-binding seat resources
...
Sends enter events when an app binds wl_keyboard or wl_pointer later than it should. Fixes some buggy apps.
Fixes #6131
2024-06-16 17:04:10 +02:00
Vaxry
648ac8a00b
xdg-shell: properly check for resource version for TILED and SUSPENDED states
...
fixes #6535
2024-06-16 16:46:22 +02:00
memchr
43c75f17eb
input: add cursor:warp_on_changeworkspace ( #6480 )
...
* input: add cursor:warp_on_changeworkspace
If enabled, warp the cursor to the last focused window on the workspace in the `changeworkspace' dispatcher, except if the cursor is currently on the WLR top layer.
Respect persistent warps.
* warp_on_change_workspace: check if focused layer is a window.
2024-06-16 16:42:32 +02:00
Vaxry
1b5444494d
seat/dnd: unfocus pointer from surfaces on dnd start
...
GTK is speshyal and requires this for functioning properly. Ugh.
It's technically not required by spec, f you gtk.
Ref #6509
2024-06-16 16:23:41 +02:00
memchr
3eaf35f1e2
hyprland.conf: update master section ( #6537 )
2024-06-16 16:44:13 +03:00
Vaxry
2566d81884
xwayland: fixup unfocus atom conditions
...
ref #6468
2024-06-16 12:38:09 +02:00
Vaxry
1f5fd7e64a
hyprpm: add --no-shallow
2024-06-15 21:46:36 +02:00
Vaxry
908bec1564
wl_seat: send repeat data from current keyboard on bind
...
ref #6515
2024-06-15 21:24:34 +02:00
memchr
89f795da98
master: refine master layout new window handling ( #6479 )
...
* ## Open window relative to active window
`new_on_active`:
- `none` (default):
- `before`: above of the focused window
- `after`: below the focused window
If the focused window is the solo master window, or the new window replaces master, this option has no effect and new_on_top are respected.
## Refine new window status control
**BREAKING CHANGE**: new_is_master removed in favour of new variable
`new_status`:
- `slave` (default): new window open as slave
- `master`: new window open as master
- `inherit`: new window inherit status from active window, i.e. when the focused window is master, new window will become new master, otherwise new window are added to slaves
* refactor: rename a few variables
2024-06-15 21:17:38 +02:00
Vaxry
91fe58f8f2
window: improve swallowing functionality
...
cleanups, fixes, etc.
ref #6095
2024-06-15 18:20:41 +02:00
Vaxry
77f44bfcab
output: avoid crashes when binding a defunct wl_output global
...
ref #6508
2024-06-15 17:56:44 +02:00
Vaxry
6c24dc0bb1
xdg-shell: fixup xdg-positioner's pointForAnchor with non-corner points
...
fixes #6157
2024-06-15 17:43:39 +02:00
Vaxry
46ef6653be
data-device: abort drag on unaccepted offers
...
fixes #6509
2024-06-15 17:33:21 +02:00
Vaxry
fb82f6bcd7
animations: fix overriding direction for slide
...
fixes #6512
2024-06-15 16:31:35 +02:00
Vaxry
32aca88752
keybinds: add custom event dispatcher
...
fixes #3439
2024-06-15 16:20:00 +02:00
Vaxry
df0c014ba0
xwayland: use safeRemove for removing files
...
fixes #6514
2024-06-15 16:06:07 +02:00
vaxerski
cb63398f07
[gha] Nix: update inputs
2024-06-14 20:00:53 +00:00
Vaxry
2f278dc883
egl: fixup format modifier lookups with implicit modifiers
...
ref #6485
2024-06-14 21:59:21 +02:00
Vaxry
12ce06f39b
format: fix flipped r/b channels on legacy_renderer
...
We don't wanna use an extension, but for gles2 there is no other option.
fixes #6465
2024-06-14 19:10:12 +02:00
Vaxry
a357fa3e0a
window: use effective damage for tearing re-schedules
...
fixes #6377
2024-06-14 16:45:41 +02:00
UjinT34
a9d53a2252
vrr: add option to fix mouse breaking vrr ( #6483 )
...
* option to fix mouse breaking vrr
* skip damage on mouse move
* remove this-> & cleanup
* add cursor:min_refresh_rate to avoid cursor freezing
* run clang-format
---------
Co-authored-by: UjinT34 <ujin@uvpn.ru>
2024-06-14 13:45:32 +02:00
Alexander
b2590b58c5
hyprctl: added --follow option to rolliglog ( #6325 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2024-06-14 12:11:40 +02:00
outfoxxed
9cd5b3587c
layerSurface: fix layer being refocused every commit with on_demand ( #6487 )
...
* layerSurface: fix layer being refocused every commit with on_demand
Fixes #6477
The surface will now only receive focus when its keyboard
interactivity is more than the previous keyboard interactivity in the
order none -> on_demand -> exclusive.
* layerSurface: only kb focus if becoming exclusive
2024-06-14 11:52:37 +02:00
phonetic112
8055b1c00a
misc: Fix build warnings ( #6486 )
2024-06-13 23:23:23 +02:00
Vaxry
5de273a144
xwayland: drop some spammy logs to trace
...
fixes #6478
2024-06-13 17:32:32 +02:00
Jan Beich
4842eb83b4
helpers: make shm_open() portable after 8bcccf9f0f ( #6471 )
...
https://pubs.opengroup.org/onlinepubs/9699919799/functions/shm_open.html
https://man.freebsd.org/shm_open/2
https://www.man7.org/linux/man-pages/man3/shm_open.3.html
2024-06-13 14:20:14 +02:00
Tom Englund
e6d10539af
core: fix a few small memory leaks on exit ( #6470 )
...
* renderer: add destructor and destroy event source
add destructor and destroy the event source.
one less leak on exit of compositor reported by asan.
* compositor: cleanup eventloop on exit
destruct hyprctl to release the event sources, and properly cleanup the
event loop on exit of compositor. less leaks on exit reported by asan
* threadmgr: destroy event source on destruction
destroy the event source on destruction.
* eventloopmgr: reset eventloopmgr on exit aswell
reset the eventloopmanager on exit of compositor and free the leaking
last idle frame on monitor destroy.
2024-06-13 12:08:02 +02:00
Vaxry
9e781040d9
props: bump version to 0.41.1
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-06-13 11:54:06 +02:00
Yang, Ying-chao
a54f98c203
virtualkeyboard: check if VirtualKeyboard is valid before accessing client. ( #6460 )
...
This fixes crash when restarting fcitx (#6378 )
2024-06-13 11:33:47 +02:00
Vaxry
d677ac6f87
hyprpm: print all types of cmake errors during configure
2024-06-13 11:33:20 +02:00
Vaxry
a9d7befc36
formats: fixup for legacy_renderer builds
2024-06-12 23:29:24 +02:00
Vaxry
0e18da8467
foreign-toplevel: fixup output resource finding
...
fixes #6457
2024-06-12 23:28:52 +02:00
Vaxry
18ee9ece9c
layershell: minor fixes to re-mapping of layers
...
ref #2012
2024-06-12 22:57:06 +02:00
Ikalco
38132ffaf5
renderer: properly software lock cursors with zoom_factor ( #6434 )
2024-06-12 19:28:52 +02:00
Vaxry
a99f314106
input: fallback to main surface if not found on window
...
fixes #6421
2024-06-12 18:39:52 +02:00
Vaxry
9d7d5ec3c8
seatmgr: fix missing nullcheck in updateActiveKeyboardData
...
sometimes we may set a keyboard that's about-to-be-deleted, we might as well check for that
additionally avoid setting null keyboards altogether
2024-06-12 17:03:12 +02:00
vaxerski
c7e85e26f7
seat: fixup touch event handling
...
fixes #6353
2024-06-12 16:49:26 +02:00
Vaxry
1bae19ce85
datadevice: only send actions for ver >= 3
...
fixes #6444
2024-06-12 16:16:27 +02:00
Vaxry
f687105eff
compositor: update suspended states on moveworkspacetomonitor
...
fixes #6417
2024-06-12 16:02:25 +02:00
MightyPlaza
32283ed706
groupbar: fix groupbar position rounding ( #6433 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-06-12 15:56:35 +02:00
Moritz G
8412ffcc42
keybinds: fix bindm ( #6429 )
...
* fixed mouse dispatcher
* no brakets
* move command up
2024-06-11 23:02:29 +02:00
MightyPlaza
b6bf4afb48
layer: don't close special ws when restoring focus ( #6424 )
...
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/managers/input/InputManager.cpp
2024-06-11 22:56:35 +02:00
Moritz G
e1b05f8eaf
binds: Add description to key binds ( #6358 )
...
---------
Co-authored-by: Yusuf Duran <firatyusuf.d@gmail.com>
2024-06-11 19:49:54 +02:00
outfoxxed
21b9e31bf4
layershell: Fix keyboard focus grabs ( #4968 ) ( #6394 )
2024-06-11 19:35:30 +02:00
Maximilian Seidler
1c388e52fb
session-lock: fix refocus after unlocking ( #6423 )
2024-06-11 17:18:51 +02:00
Vaxry
8c64a4bad7
core: move to hyprutils for utils ( #6385 )
...
* core: move to hyprutils for utils
Nix: add hyprutils dep
* Meson: add hyprutils dep
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-06-11 17:17:45 +02:00
Vaxry
1f46296ea0
deps: update wlroots
2024-06-11 17:12:24 +02:00
outfoxxed
809820921d
sessionLock: fix focus not being tied to mouse ( #6414 )
2024-06-11 17:11:15 +02:00
outfoxxed
90d0097716
input: fix input regions being ignored on ls-es ( #6413 )
2024-06-11 17:01:25 +02:00
zakk4223
b17381eb81
groupbar: Don't apply monitor scale twice to groupbar text ( #6411 )
2024-06-11 17:00:50 +02:00
Jan Beich
811429bfd4
wayland: consistently check mmap error after 6967a31450 ( #6402 )
...
mmap() returns MAP_FAILED on error, not nullptr.
2024-06-10 22:31:03 +02:00
Vaxry
ea2501d455
props: bump version to 0.41.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / update-inputs (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-06-10 16:23:06 +02:00
Aqa-Ib
7ba2c31822
github: improve the chances of the user specifying bug or regression ( #6399 )
2024-06-10 15:25:01 +02:00
zakk4223
cef6aad28f
groupbar: Fix window title rendering ( #6392 )
2024-06-10 12:20:18 +02:00
outfoxxed
89a3c90613
wlr-foreign-toplevel: fix fullscreen failing and add output support ( #6360 )
...
* wlr-foreign-toplevel: fix fullscreen failing and add output support
* fix for core protocol rewrite
2024-06-10 12:16:38 +02:00
memchr
b16af45c4a
build: ProtocolManager missing header LIstener.hpp ( #6391 )
2024-06-10 12:15:25 +02:00
Vaxry
1423707dbe
output: remove wl_output globals for mirrored displays
...
ref #6387
2024-06-10 00:06:42 +02:00
diniamo
121c6ac3ea
hyprctl: add --quiet flag ( #6380 )
2024-06-09 21:16:29 +02:00
Vaxry
722b846ac5
egl: assume implicit modifiers are available for old drivers
...
fixes #6367
2024-06-09 21:10:46 +02:00
Vaxry
4168b8c17b
seat: fix pointer frame events not being sent correctly
...
fixes #6384
2024-06-09 17:23:28 +02:00
DrummyFloyd
1f71d5f5c1
ci: add auto labels on PR ( #6369 )
...
* ci: add auto labels
* ci(labeler): add glob for src/protocols
* ci: adapt to vaxerski request
2024-06-09 15:53:05 +02:00
Mykola Perehudov
bf75723f27
helpers: fix misuse of syscalls in sd namespace ( #6379 )
2024-06-09 09:43:39 +02:00
Vaxry
c62f0015ae
hyprpm: print and fail on missing packages during configure
...
instead of failing later with something like exit code 2, print out what's missing
2024-06-09 09:42:14 +02:00
Vaxry
9994b73ad0
buffer: track asynchronous buffers and don't release them until unref
...
synchronous buffers are read instantly and we can release them, but asynchronous ones have to be locked until they are unref'd from .current to avoid reading from a buffer after .release()
2024-06-08 17:27:56 +02:00
void0red
d724556b7e
input: fix virtual devices not updating capabilities ( #6366 )
...
Signed-off-by: void0red <void0red@gmail.com>
2024-06-08 17:15:57 +02:00
memchr
7789caad39
build: include missing header: "debug/Log.hpp" in Format.cpp ( #6365 )
2024-06-08 16:25:01 +02:00
Vaxry
3fb079a2a3
renderer: allow custom uv for surface no-blur passes
2024-06-08 16:16:43 +02:00
Vaxry
211353dc34
core: verify surface roles on creation of objects
2024-06-08 12:03:47 +02:00
Vaxry
10e02076b1
wayland: fix invalid wl_output_mode dimensions sent
2024-06-08 11:50:44 +02:00
Vaxry
5b6d54cae0
xdg_shell: ignore outdated ack_configure events
2024-06-08 10:57:37 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
Vaxry
c31d9ef417
xdg_shell: fix nested xdg_positioner calculations
...
ref #6240
2024-06-07 20:24:09 +02:00
Vaxry
6b6b02c27a
seat: send events to all bound seats for a client
...
some apps are legitimately braindead and bind wl_seat a bazillion times and expect the events to be sent to all of them
ref #6159
2024-06-07 20:24:06 +02:00
John M. Harris, Jr
40ce17bbbd
gestures: Add gestures:workspace_swipe_min_fingers option ( #6342 )
...
When gestures:workspace_swipe_min_fingers is enabled,
gestures:workspace_swipe_fingers is considered to be the minimum
number of fingers required to swipe.
This behavior is more similar to sway and macOS's default behavior.
For example, this allows you to set workspace_swipe_fingers to 3,
but swipe with 4 or more fingers instead of 3.
2024-06-07 19:54:08 +02:00
memchr
41e1147dfc
input: add cursor:persistent_warps to maintain relative position within a window ( #6338 )
...
Allows the cursor to return to its last relative position within a window when the window is refocused.
Allows the cursor to retain its relative position within a window when the window is swapped, moved, changed workspace, added to or removed from groups.
controlled with cursor:persistent_warps
2024-06-07 19:52:15 +02:00
Vaxry
9bc00897fc
xdg_shell: improve xdg_positioner slide behavior
...
ref #6240
2024-06-07 19:46:51 +02:00
Vaxry
d6337146bb
xdg_shell: improve xdg_positioner resize calculations
...
ref #6240
2024-06-07 18:42:38 +02:00
John M. Harris, Jr
429cff340d
hookSystem: Make needsDeadCleanup volatile ( #6356 )
...
The value of needsDeadCleanup would be clobbered after longjmp,
having an undefined value.
2024-06-07 18:31:27 +02:00
Tom Englund
af5f24929d
core: free more memory on destruction ( #6348 )
...
* pointermgr: add destructor to state and free buf
if the pointer has a buffer set it wont be freed upon destruction, make
asan more happy by adding a destructor and wlr_buf_unlock it on exit.
* cursormgr: free the animation timer event source
properly free the animation timer event source on destruction.
* compositor: free the critsig event source on exit
properly free the critical signal event source on exit.
* popup: clang format style
clang format.
2024-06-06 20:27:09 +02:00
giskard
c95845b148
log: log with local timezone ( #6331 )
...
* log: log with local timezone
* log: backward compatability for clang 17 with libc++
2024-06-05 18:30:46 +02:00
phonetic112
82099fd1c0
hyprctl: Allow setting name for custom/headless outputs ( #6319 )
2024-06-05 18:26:38 +02:00
Vaxry
155fe6f165
popup: minor safety improvements
2024-06-05 16:53:49 +02:00
memchr
fefa55d406
build: fix non-pch build ( #6337 )
2024-06-05 10:42:44 +02:00
Vaxry
098ac916a6
deps: update wlroots
...
closes #6328
2024-06-04 15:57:45 +02:00
Agent00Ming
d0a224a491
seat: discrete round away from zero + high res scrolling ( #6317 )
...
* Discrete scrolling round away from zero
e.deltaDiscrete can be multiples of 30 instead of the usual 120 causing
the rounded value to be 0 when too small causing erratic scrolling.
* Send value120 alongside discrete
Fixes sensitivity issues for clients that support value120 axis events
2024-06-03 22:47:02 +02:00
Vaxry
5517cc506b
xwayland: don't destroy server client
...
this potentially leaks, but avoids a UAF
ref #6323
2024-06-03 21:13:38 +02:00
Vaxry
0ac0f32671
toplevelexport: avoid locking software cursors during render
...
this may trigger a render begin/end and fuck up the pass
fixes #6277
2024-06-03 21:10:31 +02:00
Vaxry
b30c7125d7
window: avoid nullptr deref on monitor in box helpers
...
fixes #6321
2024-06-03 21:09:18 +02:00
vaxerski
3fd6c1b30e
layout: fix centering of new floating windows
...
ref #6154
2024-06-03 18:46:20 +02:00
Tom Englund
eaecf7db14
core: fix a few asan reported issues and a coredump on exit ( #6285 )
...
* xwayland: add destructor to CXWM and free resource
the wl_event_resource was running upon destruction of the compositor
causing a null pointer segfault in onX11Event so ensure the event is
removed upon destruction, also free the memory allocated by
xcb_errors_context_new and finally call xcb_disconnect on the connection
to free the fd and its memory.
* hyprctl: dont leak the fd on destruction
add a destructor and properly free the fd on destruction
* eventloop: add destructor and free event source
properly free the wl_event_source upon destruction.
2024-06-03 18:46:20 +02:00
wouter@wouterbijlsma.nl
e08195d240
Fix initial xdg-decoration toplevel decoration mode negotiation
...
Clients using zxdg_decoration_manager_v1::get_toplevel_decoration may
expect a receiving a zxdg_toplevel_decoration_v1::configure event to
determine the initial decoration mode, without having to go through a
zxdg_toplevel_decoration_v1::set_mode request. Hyprland was not sending
this event, resulting in unwanted decorations being drawn.
Specifically, clients using libdecor, e.g. applications using recent
GLFW, would draw GTK decorations with artefacts. This change fixes
these.
2024-06-02 23:11:55 +02:00
vaxerski
66acdfe2ad
seat: don't send keymap on empty device
2024-06-02 18:38:36 +02:00
shezdy
0ebb43c1a3
renderer: fix xwayland solitary rechecks ( #6295 )
2024-06-01 20:45:30 +02:00
vaxerski
a54ab30160
cmake: make xcb-errors required
...
fixes #6290
2024-05-31 22:07:00 +02:00
obivan
df6ebe358b
pointer: Include monitor scaling in HW hotspot calculation ( #6283 )
2024-05-31 12:38:52 +02:00
vaxerski
a60c7283e6
xwayland: verify new xsurf is valid in prop reads
...
fixes #6250
2024-05-29 09:34:25 +02:00
giskard
ebf258788e
config: add tag dispacther and window rule ( #6211 )
2024-05-28 23:37:24 +02:00
Ikalco
73b133d015
hyprctl: Make setcursor better (support XCursor themes, give fail message) ( #6097 )
...
* add support for changing to X cursor themes
* use new hyprcursor abi for options
* remove unneeded struct
2024-05-28 23:35:18 +02:00
Connor Wong
722d537a91
windows: make new_window_takes_over_fullscreen use the new window's workspace ( #6263 )
...
* fix new_window_takes_over_fullscreen behavior
* missed a few things
2024-05-27 22:45:32 +02:00
AERDU
506d0c06e6
compositor: change monitor focus when no_warps is enabled ( #6260 )
...
fixes focus between monitors when moving using directions with no_warps = true
2024-05-27 22:45:14 +02:00
Flafy
546a486bab
hyprctl: add delimiter to hyprctl batch command ( #6261 )
...
adds a delimiter of 3 newlines to separate different command outputs
2024-05-27 22:31:35 +02:00
Jan Beich
db5d39a66f
meson: add more xcb-* dependencies after addd3e7f1a
...
ld: error: undefined symbol: xcb_icccm_get_wm_hints_from_reply
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::readProp(CSharedPointer<CXWaylandSurface>, unsigned int, xcb_get_property_reply_t*))
ld: error: undefined symbol: xcb_icccm_get_wm_size_hints_from_reply
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::readProp(CSharedPointer<CXWaylandSurface>, unsigned int, xcb_get_property_reply_t*))
ld: error: undefined symbol: xcb_errors_get_name_for_major_code
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*))
ld: error: undefined symbol: xcb_errors_get_name_for_minor_code
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*))
ld: error: undefined symbol: xcb_errors_get_name_for_error
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::handleError(xcb_value_error_t*))
ld: error: undefined symbol: xcb_xfixes_id
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_composite_id
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_res_id
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_xfixes_query_version
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_xfixes_query_version_reply
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_res_query_version
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_res_query_version_reply
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::gatherResources())
ld: error: undefined symbol: xcb_render_query_pict_formats
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat())
ld: error: undefined symbol: xcb_render_query_pict_formats_reply
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat())
ld: error: undefined symbol: xcb_render_query_pict_formats_formats_iterator
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat())
ld: error: undefined symbol: xcb_render_pictforminfo_next
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::getRenderFormat())
ld: error: undefined symbol: xcb_errors_context_new
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::CXWM())
ld: error: undefined symbol: xcb_composite_redirect_subwindows
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::CXWM())
ld: error: undefined symbol: xcb_xfixes_select_selection_input
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::initSelection())
ld: error: undefined symbol: xcb_render_create_picture
>>> referenced by XWM.cpp
>>> src/Hyprland.p/xwayland_XWM.cpp.o:(CXWM::setCursor(unsigned char*, unsigned int, Vector2D const&, Vector2D const&))
ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
2024-05-27 12:24:37 +03:00
Gabriel Ford
553232a3e4
hyprctl: Add Config Flag to hyprctl systeminfo ( #6160 )
2024-05-25 22:46:07 +02:00
Vaxry
addd3e7f1a
xwayland: move to hyprland impl ( #6086 )
2024-05-25 22:43:51 +02:00
zjeffer
a71207434c
Add custom cmake target for installheaders
...
This will ensure the correct headers are generated before trying to
install them.
2024-05-25 23:03:27 +03:00
zjeffer
71c2ff3105
Reapply "CMake: use add_custom_command for generating protocols ( #6104 )"
...
This reverts commit e419ef1873 .
2024-05-25 23:03:27 +03:00
vaxerski
90f262aada
pointer: remove dividing hotspot by scale
...
fixes #6117
2024-05-25 20:43:38 +02:00
Mihai Fufezan
2ff95bba3f
flake.lock: update
2024-05-24 23:51:08 +03:00
Can
ce17961aad
keybinds: Added new dispatcher (sendshortcut) ( #6174 )
2024-05-24 20:58:26 +02:00
vaxerski
6d67b84469
monitor: avoid UB on undefined auto dir
...
ref #6217
2024-05-24 20:56:53 +02:00
thejch
0d6eae0523
pointer: add back nvidia hardware cursor quirks ( #6220 )
2024-05-24 20:50:22 +02:00
vaxerski
52684b7d90
window: fix invalid env buffer size in getEnv
2024-05-24 20:40:15 +02:00
Tom Englund
4e42107d25
pointermgr: ensure compositor exist on destroy ( #6216 )
...
on exit of hyprland the CMonitor destroy signal comes after the
compositor has been destructed, causing a heap use after free. add if
check to ensure compositor exist and isnt shutting down when its
triggered.
2024-05-23 21:19:14 +02:00
Alessio Molinari
eea0a6a704
internal: Replace monitor rule when disabling head. ( #6136 )
...
Closes #5978
2024-05-23 21:15:31 +02:00
System64
255272ea18
debug: Add ARM GPU info ( #6212 )
...
Added a simple way to get basic info about the GPU on ARM based systems
2024-05-23 18:04:39 +02:00
Ming-Chuan
df80fbf706
tablet: fix mapping when mapped region is specified ( #6206 )
...
When `region_size` is set in the config (non-empty
`boundBox`), cursor is mapped to wrong coordinate because
`CBox::translate` mutates `TAB->boundBox`, making all subsequent coordinate
calculations wrong.
This also fixes the edge case where user sets `region_position` but
not `region_size`.
2024-05-23 13:52:32 +02:00
shezdy
25b9446949
internal: save previous workspace before change ( #6202 )
2024-05-23 13:01:12 +02:00
vaxerski
7ad9116de8
[gha] Nix: update inputs
2024-05-22 22:43:47 +00:00
vaxerski
62401d5b3f
screencopy: use a simple renderer for frame passing
2024-05-23 00:42:16 +02:00
vaxerski
3775776a07
window: guard monitor in bounding box calculations
...
fixes #6190
2024-05-22 22:37:16 +02:00
shezdy
155ae3721c
keybinds: Add option to disable window direction monitor fallback ( #6182 )
...
* add monitor fallback option
* format
2024-05-22 21:51:46 +02:00
giskard
93fea89043
renderer: render fonts with pango, add global font_family config option ( #6138 )
2024-05-22 10:09:36 +02:00
Mihai Fufezan
e419ef1873
Revert "CMake: use add_custom_command for generating protocols ( #6104 )"
...
Fixes https://github.com/hyprwm/Hyprland/issues/6115 .
2024-05-21 21:29:56 +03:00
giskard
3c907f7830
build: update meson, cmake setup
...
- meson
. fix run_command() check warning
. drop lines for compatability, as it's already using c++23
- cmake
. generate `compile_commands.json` by default
. position independent build: __FILE__
2024-05-21 20:36:07 +03:00
Mihai Fufezan
4daa5c0658
flake.lock: update
2024-05-21 19:17:34 +03:00
vaxerski
baef55da1d
xdg-shell: fixup positioner behavior with slide and resize
...
if sliding and resizing, include the slide in the resize to avoid off-screen surfaces.
fixes #6150
2024-05-21 14:50:33 +02:00
Vaxry
f8857e6072
input: find surface pos correctly when mouse drag is active
...
fixes #6144
2024-05-18 21:20:01 +01:00
Gabriel Ford
c21a5a9340
layout: Fix shrinking pseudotile windows. ( #6143 )
2024-05-18 19:28:48 +01:00
Vaxry
2ead1fd221
virtual-keyboard: emit event before finishing keyboard
...
ref #6123
2024-05-17 20:07:33 +01:00
Vaxry
49485ba36a
pointer: damage in software mode on cursor image changes
...
fixes #6126
2024-05-17 20:04:17 +01:00
Vaxry
fe23d2b639
window: verify suppress flags in onUpdateState
...
ref #6108
2024-05-17 19:54:05 +01:00
Vaxry
9518cec833
popup: clip input region to surface size
...
fixes #6125
2024-05-17 19:43:56 +01:00
Vaxry
23cd4c7998
seat: update keymap/repeat info on keymap events from keebs
...
fixes #6114
2024-05-17 19:28:33 +01:00
Tuur Vanhoutte
0cb8fbe18e
error: Add option to change position of HyprError bar ( #3241 ) ( #6111 )
2024-05-17 19:06:51 +01:00
Vaxry
f21b6fe576
tablet: avoid null deref on an empty cursor set
...
fixes#6116
2024-05-17 14:51:06 +01:00
Yaroslav
f91431465b
cmake: make gprof optional for debug builds ( #6120 )
...
This fixes the debug build on musl systems, as -pg option is specific to
glibc. Now we can build the project on such systems with -DUSE_GPROF=OFF
2024-05-17 11:06:31 +01:00
Yaroslav
a66cfe0fbe
CMake: use add_custom_command for generating protocols ( #6104 )
...
This fixes an issue with build error in case of e.g.
$ rm protocols/*.{c,h}
$ cmake --build build
The workaround was to touch CMakeLists.txt. With this PR, protocol files
are properly regenerated with no extra efforts.
Also, resolve hyprwayland-scanner dependency via cmake instead
ofpkg-config.
2024-05-17 01:34:03 +03:00
Mihai Fufezan
7173f0c9e7
flake.lock: update
...
nix/overlays: remove merged wayland-protocols overlay
Fixes #6061
2024-05-17 00:03:25 +03:00
Vaxry
abbe71d26d
pointer: don't update hw cursors on disabled displays
2024-05-16 19:34:36 +01:00
Vaxry
a2643e11a0
build: bump hw-s dep to 0.3.8
2024-05-16 18:35:48 +01:00
Agent00Ming
3ac0e7ead1
seat: Send discrete event when axis source is scroll wheel ( #6103 )
...
modified: src/managers/SeatManager.cpp
modified: src/managers/input/InputManager.cpp
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-05-16 13:30:55 +01:00
Gabriel Ford
d693c44836
keybinds: add keybind combos and add Left and Right mod distinction. ( #5966 )
2024-05-16 11:48:30 +01:00
zakk4223
ca0833c9ed
decoration: Stacked group tabs ( #5886 )
...
* Stacked group tabs
* Fix index when creating groupbar title textures
* Changes for stacked dnd
* formatting
* Don't remove internal horizontal padding when calculating stacked bar
width
2024-05-16 11:38:10 +01:00
Vaxry
de9798fcf9
configmgr: shadow exec rules when window is unmapped
...
fixes #6091
2024-05-16 00:55:55 +01:00
Vaxry
7e8c0b7f30
seat: send axis_stop events after axis events
...
fixes #6090
2024-05-15 23:13:51 +01:00
Vaxry
9eec4cb670
sysd: add missing header
...
ref #6094
2024-05-15 23:01:50 +01:00
JManch
a8522db683
keybinds: fix empty on monitor for new workspaces ( #6089 )
2024-05-15 21:03:51 +01:00
Vaxry
b9c58b6e75
seat: send enter/leave events to all bound wl_seats for a client
...
fixes #6069
Will not send anything beyond enter/leave. If you depend on multiple seats sending you motion, button, etc, events, fix your app.
2024-05-15 19:33:42 +01:00
Raphael Tannous
3fe5280ce9
hyprctl: return exitStatus in requestHyprpaper() and request() ( #6083 )
2024-05-15 16:54:23 +01:00
Vaxry
3381e2b55b
datadevice: guard surface in dnd for null
...
fixes #6076
2024-05-15 16:26:02 +01:00
Vaxry
7fbe05a250
inputmgr: send pointer motion on ffm != 1
...
fixes #6077
2024-05-15 16:22:45 +01:00
Sungyoon Cho
31890026ea
wl_seat: send frame event after pointer leave ( #6074 )
2024-05-15 12:17:56 +01:00
Vaxry
94c20a1863
primary-selection: move to hyprland impl
2024-05-14 23:13:35 +01:00
Mihai Fufezan
3eeaea5be9
Meson: add wayland.xml proto
2024-05-14 23:13:35 +01:00
Vaxry
eed1361f39
wlr-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
Vaxry
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
Vaxry
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
Vaxry
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
Vaxry
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
Vaxry
4cdddcfe46
cursor: minor fixes for unhiding surfaces
...
the surface equality check is done in CPointerManager, the one in renderer can be wrong
fixes #5975
2024-05-14 16:45:12 +01:00
Sungyoon Cho
d0a4a0e0d8
input: fix modifier and leds ( #6062 )
2024-05-14 16:14:43 +01:00
Daniil
1584679004
xwayland: Remove delta for real position with xwayland zero scaling ( #6057 )
2024-05-14 13:33:20 +01:00
Vaxry
ba69652193
window: set sane default pseudo size
2024-05-13 22:21:06 +01:00
Vaxry
47874f09f4
cmake: remove forceful ffi and wayland deps for asan
...
fixes #6050
2024-05-13 15:29:18 +01:00
Vaxry
60be4298e1
makefile: fix wlroots headers dir
2024-05-13 15:16:10 +01:00
vaxerski
4c625ce673
[gha] Nix: update inputs
2024-05-13 13:58:35 +00:00
Paul
064bdb06f1
hyprctl: Add locked cmd to requests ( #6042 )
...
Co-authored-by: Leftas <info@leftas.dev>
2024-05-13 14:57:06 +01:00
Vaxry
fd35b35000
keybinds: fix pass
...
reverts #5967
fixes #6022
2024-05-12 16:01:01 +01:00
Mihai Fufezan
2ccd45a844
hyprpm: don't shallow clone on non-main branches
2024-05-12 17:49:50 +03:00
Mihai Fufezan
ff93820bbb
Makefile: fix wlr dir
2024-05-12 17:49:50 +03:00
Mihai Fufezan
071f6977df
wlroots: bump
2024-05-12 17:49:50 +03:00
Mihai Fufezan
c8ae9a2e83
Meson: fix Cflags
2024-05-12 17:49:50 +03:00
Mihai Fufezan
cee639d9df
pkg-config: fix wlroots dir
2024-05-12 17:49:50 +03:00
Mihai Fufezan
6be765b7a1
Nix: fix pkgconfig prefix
2024-05-12 17:49:50 +03:00
Brenno Lemos
33a7b7bb6b
core: fix on-empty workspace being called too often ( #6026 )
2024-05-12 00:03:32 +01:00
shezdy
15072831cf
keybinds: fix release binds in submaps ( #6025 )
2024-05-12 00:02:26 +01:00
Vaxry
8562d38477
screencopy: don't spam sw cursor locks
2024-05-11 22:10:42 +01:00
Vaxry
494b9415a1
layersurface: avoid restack on identical layers
...
ref #6014
2024-05-11 18:31:50 +01:00
Vaxry
b6a7fb9e91
layersurface: fix invalid use of std::move
...
fixes #6014
2024-05-11 14:43:44 +01:00
Sungyoon Cho
3529fbc6d4
compositor: fix getMonitorFromVector getting wrong monitor ( #6010 )
2024-05-11 10:35:20 +01:00
Vaxry
ed3a888fc2
hyprpm: fix style
2024-05-10 23:56:54 +01:00
André Silva
a8ab1b1679
nix: build improvements ( #5952 )
...
* scripts: allow using existing variable values in generateVersion.sh
* nix: populate versioning variables
* nix: remove unused meson input
* nix: remove unnecessary hyprland-protocols dependency
* Nix: remove nixConfig from flake
It's more annoying than helpful.
* CI/Nix: fix PR build failure
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-05-11 01:51:53 +03:00
Vaxry
6e594e4416
hyprpm: force en_US locale for date calcs
...
ref #5994
2024-05-10 23:41:32 +01:00
Vaxry
19186de118
renderer: avoid locking during rendering
...
it can trigger pointermgr to render which fucks up our pass
fixes #5998
2024-05-10 23:38:46 +01:00
Vaxry
38911d6df4
box: fix noNegativeSize
2024-05-10 12:59:01 +01:00
underengineering
37a84c5223
socket2: fix events being reordered ( #5955 )
...
* socket2: fix events being reordered
* remove WL_EVENT_READABLE
* initialize eventSource in SClient
* add more logs
oopsie
* replace unordered_map with vector
* fix reordering when socket becomes writable before queue is flushed
* ignore EAGAIN when accepting connection
* use g_pEventManager
2024-05-10 12:32:50 +01:00
MightyPlaza
c19903eaf8
windowrules add focusonactivate ( #5976 )
...
modified: src/config/ConfigManager.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
2024-05-10 12:27:54 +01:00
Vaxry
cc4ac52309
github: update issue template with new path
2024-05-10 12:22:47 +01:00
Vaxry
2549f0cc97
layersurface: reset popuphead after unmap
...
fixes #5980
2024-05-10 12:03:38 +01:00
Vaxry
3374229118
core: remove unused includes and fix warn
2024-05-10 03:20:26 +01:00
Vaxry
2ba6bb69c4
popups: fix breadthfirst and at
...
fixes #5977
2024-05-10 02:38:56 +01:00
Vaxry
db30ff63e6
popups: avoid infinite recursion in bf
2024-05-10 02:38:56 +01:00
Vaxry
a7e23d2f1e
presentation-time: move to new impl
2024-05-10 02:38:54 +01:00
Vaxry
1753059b07
pointermgr: reset entered outputs when resetting surface
...
fixes #5970
2024-05-09 23:08:40 +01:00
Vaxry
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
sub-kek
7cf810b181
keybinds: Fix classic global keybinds(pass dispatcher) ( #5967 )
2024-05-09 22:05:13 +01:00
Mihai Fufezan
51b0da2c0d
flake.lock: update
2024-05-10 00:04:15 +03:00
Vaxry
4f26ae70fd
core: drop unused protocol impls
...
xdg_foreign is not used by hyprland
wlr_export_dmabuf is old, broken and unused as well
2024-05-09 22:02:19 +01:00
MightyPlaza
eeebbc0e7e
groupbar: fix title scaling ( #5969 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
2024-05-09 22:02:19 +01:00
Vaxry
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
MightyPlaza
85f7f69046
decorations: fix groupbar input ( #5963 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
2024-05-09 19:19:32 +01:00
Vaxry
fe4737fb9d
pointer: don't calculate hw hotspot for missing hw cursors
...
ref #5964
2024-05-09 19:17:04 +01:00
Vaxry
d7aed240db
text-input-v3: atomically enable/disable on commit
2024-05-09 14:27:48 +01:00
Vaxry
c98acaed62
virtual-keyboard: release keys before destroy
2024-05-09 14:07:21 +01:00
Ikalco
67a5377b41
core: remove wayland sockets on exit ( #5959 )
2024-05-09 13:39:15 +01:00
Vaxry
84e8d1810d
Tablet: move to new impl
...
Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
2024-05-09 13:37:39 +01:00
Vaxry
ed411f53bd
cursor: move to a hyprland impl
...
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
Vaxry
e4e84064f2
xdg-activation: keep tokens after the resource is dead
...
fixes #5957
2024-05-08 22:17:17 +01:00
Ikalco
6a988d9276
core: cleanup environment on exit ( #5941 )
2024-05-08 18:11:08 +01:00
Vaxry
d1ad490cda
cmake: fix .pc file inputs ( #5946 )
2024-05-08 15:24:02 +01:00
William Gray
36d32973dd
keybinds: add empty on monitor and next empty flags ( #5936 )
...
* empty on monitor
* add flag for next empty
* clang-format changes
* next also uses m_pLastMonitor
2024-05-08 13:30:20 +01:00
giskard
70b5e6df70
meson: require hyprwayland-scanner >= 0.3.5
2024-05-08 09:11:54 +03:00
Vaxry
5e7925eaeb
foreign-toplevel: bypass no activate focus checks
...
ref #5939
those are used by focus switchers so they should bypass stuff like focus_on_activate = false
2024-05-08 01:31:22 +01:00
Username404-59
57a12476de
internal: Add missing errno.h include to SdDaemon.cpp ( #5938 )
...
Fixes clang
2024-05-07 23:13:58 +01:00
Vaxry
601210878d
cmake: bump hw-s required ver to 0.3.5
2024-05-07 21:03:26 +01:00
Vaxry
22a86fd7a2
session-lock: don't allow events from rejected locks
...
fixes #5913
2024-05-07 18:43:00 +01:00
Vaxry
598bbd186b
window: avoid uaf on updateWindow decos
...
TODO, make these pointers SP to avoid this in the future.
fixes #5909
2024-05-07 17:37:06 +01:00
Ikalco
6ccc22194c
xkb: check value correctly with xkb_state_layout_index_is_active() ( #5925 )
2024-05-07 16:07:50 +01:00
Vaxry
ec092bd601
core: chase hyprwayland-scanner
2024-05-07 14:28:26 +01:00
Vaxry
2bcc8d303f
eventloop: don't call lost timers
2024-05-07 13:30:41 +01:00
VPavliashvili
375e77e398
ipc: add togglegroup, moveintogroup and moveoutofgroup events ( #5866 )
2024-05-07 12:00:55 +01:00
Vaxry
96365309de
deco-positioner: avoid infinite recalcs
...
fixes #5908
2024-05-07 11:53:29 +01:00
Vaxry
0acad88c3c
foreign-toplevel-wlr: send current class and title on map
...
fixes #5910
2024-05-07 11:48:08 +01:00
Ikalco
57e76f91d9
keybinds: fix xkb keybind name to keysym comparison ( #5917 )
2024-05-07 07:20:06 +01:00
Vaxry
0c446ec5f4
memory: fix SP/WP hierarchy templates
2024-05-06 21:36:31 +01:00
Agent00Ming
fa69de8ab6
pointer-constraints: Remove unnecessary cursor warps ( #5895 )
...
modified: src/protocols/PointerConstraints.cpp
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-05-06 17:19:26 +01:00
outfoxxed
05e4a3f1a8
windows: Revert "window: set config only when both props end anims" ( #5904 )
...
This reverts commit 7617c03dfd ,
fixing a bug that caused the bottom right corner of windows to
animate oddly.
2024-05-06 15:32:01 +01:00
Vaxry
a8a04c746b
renderer: deny solitary during a session lock
...
closes #5906
fixes #5899
2024-05-06 02:24:11 +01:00
Ikalco
cddeec47a1
keybinds: make the keybind manager check for session lock ( #5894 )
2024-05-05 19:28:14 +01:00
Mihai Fufezan
c7fbc30bfd
Nix: add missing deps
...
CMake used to warn about these deps so I've added them.
Also propagates wlroots' nativeBuildInputs.
2024-05-05 20:34:14 +03:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ( #5883 )
...
moves std::shared_ptrs to a new implementation
Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
- this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
- reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
- this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
- this is useful in destructors and callbacks.
2024-05-05 17:16:00 +01:00
Mihai Fufezan
589f758d94
CI/Nix: build with submodules
...
- Clone repo recursively
- Update Nix install action
- Remove wlroots update
2024-05-05 16:30:39 +03:00
Mihai Fufezan
f15513309b
Nix: use CMake for builds instead of Meson
...
Build using submodules instead of patching the build process and using
Nix derivations of the subprojects.
From this commit on, you'll have to change the Hyprland flake url to
`git+https://github.com/hyprwm/Hyprland?submodules=1 `
2024-05-05 16:30:39 +03:00
Mihai Fufezan
99aa34db6e
CMake: install files (instead of Makefile)
2024-05-05 16:30:39 +03:00
Sungyoon Cho
03ebad3cbf
idle-inhibit: enable idle inhibitor if no hl surface is associated ( #5882 )
2024-05-05 14:04:40 +01:00
outfoxxed
aaf35b9f1f
protocols: add hyprland_focus_grab_v1 implementation ( #5850 )
...
* protocols: add hyprland_focus_grab_v1 implementation
* protocols/focus_grab: fix keyboard focus staying on unlisted windows
When creating a focus grab with layershell surfaces, the last active
toplevel kept keyboard focus.
* protocols/focus_grab: fix formatting
* protocols/focus_grab: try to pick surface for keyboard focus
* focus_grab: update keyboard focus to match spec
* Revert "protocols/focus_grab: try to pick surface for keyboard focus"
This reverts commit 090358d0d19cc65208641eaefa0a905e99145730.
* protocols/focus_grab: fix issues and match new spec
* kde-server-decoration: move to new impl
* protocols/focus_grab: review fixup
* Update hyprland-protocols
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-05-05 03:14:35 +01:00
Vaxry
62eadad20f
kde-server-decoration: move to new impl
2024-05-05 02:00:55 +01:00
Vaxry
0b215c5f24
idle-inhibit: fix and cleanup visibility logic
...
fixes #5878
2024-05-04 23:46:10 +01:00
Vaxry
a3309b51a2
shadow: fix small pixel gaps between border
...
huge fix
2024-05-04 20:30:03 +01:00
Vaxry
cba1ade848
props: bump version to 0.40.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland without precompiled headers (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-05-04 16:42:32 +01:00
Vaxry
c77b60c910
keyboard: prevent UAF in destroy events
2024-05-04 16:37:26 +01:00
Vaxry
c951c4f8a1
keyboard: check for wlr() validity before accessing
...
fixes #5873
2024-05-04 16:10:32 +01:00
Vaxry
25964e5a2b
hid: don't access expired resources in virtual devices
...
fixes #5868
2024-05-04 12:36:02 +01:00
JManch
2d40046f24
windows: set fullscreen border size to 0 ( #5865 )
2024-05-04 12:07:36 +01:00
thejch
40201a760a
workspacerule: Fix monitor settings being deleted when merging ws rules ( #5864 )
...
* fix deleting monitor settings when merging rules
* use empty and workspace invalid
2024-05-04 02:18:04 +01:00
Vaxry
a3b4923c42
input: ignore destroyed devices in static events
...
fixes #5863
2024-05-04 00:48:25 +01:00
Vaxry
1237732b97
input: Introduce basic hyprland HID classes
...
Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp
Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
2024-05-03 22:40:27 +01:00
William Gray
1d2acbe193
config: add absolute monitor workspace selectors ( #5848 )
...
* add absolute monitor workspace selectors
* implement absolute for `r`
* format code
2024-05-03 18:38:00 +01:00
Tom Englund
1c73beaf9b
inputmgr: dont double free on hotplug ( #5855 )
...
* inputmgr: dont double free on hotplug
since we are also unrefing the state on hotplugging the keyboard set the
state to nullptr so the destructor if case actually catches its been
already freed.
* keybindgmgr: dont double free on layout switching
d5bf153 added keymap unref at the end of updateXKBTranslationState to
not leak it when exiting, only it causes updateXKBTranslationState to
double free when changing layouts. since its already freed. remove the
unneeded extra xkb_keymap_unref.
2024-05-03 18:10:41 +01:00
Vaxry
8a2269272b
output-management: move to new impl
2024-05-03 18:08:04 +01:00
Tom Englund
d5bf15387a
internal: fix a few asan reported leaks on exit of hyprland ( #5852 )
...
* notifications: free cairo images on destruction
asan reports a leak on exit if we dont free the image we created in the
draw function. add a destructor and free images on exit.
* compositor: destroy wlroots types on exit
there are a few types not being destroyed on exit and causing a leak on
exit in wlroots reported by asan, add those.
* cursormgr: ensure we destroy cursor mgr on exit
add a destructor and call wlr_xcursor_manager_destroy on the manager on
destruction, leak reported by asan.
* keybindmgr: free state and keymap
add missing keymap_unref on creation, and add a destructor and free the
state on exit. leak reported by asan.
* skeyboard: add destructor and free state
free the state on destruction of keyboard, reported as leak by asan
2024-05-03 14:42:08 +01:00
Ikalco
387127b12a
config: added option to choose the default monitor for the cursor ( #5847 )
...
* added option to choose the default monitor that the cursor will appear in upon startup
* fix: don't set cursor to default monitor after startup
* refactor to checkDefaultCursorWarp also fix focus
2024-05-03 02:39:19 +01:00
Vaxry
41cf94faaa
format: fix clang-format
2024-05-03 02:04:08 +01:00
Gabriel Ford
0623cfabc9
windowrules: Fix Floating Grouped Windows Crash and Bug. ( #5826 )
...
* Don't unhide grouped items.
* Remove head check as that wasn't always correct.
* Replace lock with expired()
* Remove set hidden from max size.
2024-05-03 02:00:58 +01:00
Vaxry
2755297670
virtual-pointer: move to new impl
2024-05-03 01:52:05 +01:00
Vaxry
7d49819b5e
virtual-keyboard: destroy on vdestroy event
2024-05-03 00:54:32 +01:00
Vaxry
6aa2d123ae
virtual-keyboard: move to new impl
2024-05-03 00:31:48 +01:00
Vaxry
a3ca016d42
cursor-shape: use - instead of _ in shapes
...
ref #5824
2024-05-02 16:21:33 +01:00
Vaxry
eeb78ef965
fractional: set scale before configure
...
fixes #5842
2024-05-02 15:13:47 +01:00
Vaxry
8427824719
cursormgr: attempt using - instead of _ for failed cursors before fallback
...
web uses -, and thus some themes might use - too. Attempt replacing _ with - before assuming a shape is missing.
2024-05-02 14:47:10 +01:00
thejch
d0229d6e1e
layout: limit updates when mouse animate drag is enabled ( #5838 )
2024-05-02 14:28:51 +01:00
Vaxry
56de72f357
internal: store matched windowrules and emit event
...
new event for plugins, windowUpdateRules
2024-05-02 02:18:01 +01:00
Mihai Fufezan
02bfb2857e
flake.lock: update
2024-05-01 22:00:26 +03:00
Vaxry
0237e39f74
protocols: utilize hyprwayland-scanner 0.3.3 functions
...
stuff like ::version(), ::client(), ::error() etc
2024-05-01 19:40:35 +01:00
Vaxry
47b087950d
hyprctl: fix instances path
...
fixes #5831
2024-05-01 16:47:38 +01:00
Vaxry
8bcccf9f0f
ime-v2: move to new impl
2024-05-01 16:41:17 +01:00
Vaxry
4ed6b69b68
socket2: fix empty activewindowv2 events
...
fixes #5827
2024-05-01 13:57:32 +01:00
zakk4223
d2899a6c27
layout: Trigger layout recalcuation on deco position/size change ( #5821 )
...
* Trigger layout recalcuation on deco position/size change
* Remove now unneeded code
* Formatting
2024-05-01 12:59:40 +01:00
Vaxry
ed58cc4c31
sessionLock: remove m_pLastFocus on destroy of surface
...
fixes #5822
2024-05-01 02:33:36 +01:00
Vaxry
3d09c6d526
makefile: fix old headers only being copied
2024-05-01 00:32:42 +01:00
Vaxry
70ebc3add3
sessionLock: call wlr_surface_map/_unmap on the surface manually
...
fixes unmapped subsurfaces etc
ref #5816
2024-04-30 21:59:07 +01:00
Vaxry
a09103cd38
sessionLock: set locked after emitting event
...
ref #5816
2024-04-30 21:20:06 +01:00
Vaxry
dbb8b294d6
sessionLock: fix incorrect protocol error raised
...
fixes #5816
2024-04-30 20:02:30 +01:00
Vaxry
1f6657f037
keybinds: check for special workspace equality before switching
...
fixes #5814
2024-04-30 16:42:31 +01:00
Vaxry
90e1411315
session-lock: move to new impl
2024-04-30 16:34:09 +01:00
Vaxry
d7a48cf478
hyprctl: use XDG_RUNTIME_DIR if available
...
fixes #5813
2024-04-30 14:17:35 +01:00
Jan Beich
07e070012b
CrashReporter: unbreak build on FreeBSD ( #5786 )
...
* CrashReporter: skip Linux field on BSDs after 90a53aed59
In file included from src/debug/CrashReporter.cpp:10:
src/debug/signal-safe.hpp:113:17: error: no member named 'sa_restorer' in 'sigaction'
act.sa_restorer = NULL;
~~~ ^
* CrashReporter: ensure *argv[] is NULL-terminated after 90a53aed59
execv() may fail with EFAULT otherwise.
* hyprpm: add missing header after 335015fe2d
hyprpm/src/core/PluginManager.cpp:165:43: error: use of undeclared identifier 'getuid'
165 | const std::string USERNAME = getpwuid(getuid())->pw_name;
| ^
hyprpm/src/core/PluginManager.cpp:431:45: error: use of undeclared identifier 'getuid'
431 | const std::string USERNAME = getpwuid(getuid())->pw_name;
| ^
hyprpm/src/core/PluginManager.cpp:558:43: error: use of undeclared identifier 'getuid'
558 | const std::string USERNAME = getpwuid(getuid())->pw_name;
| ^
2024-04-30 14:14:31 +01:00
Sungyoon Cho
801437cd54
hyprctl: add missing json string escapes ( #5811 )
2024-04-30 14:13:36 +01:00
Vaxry
62ae2b3f40
pluginAPI/hooks: Remove dependency on cc from the hooksystem ( #5801 )
...
* Remove dependency on cc from the hooksystem
* Nix: remove cc from wrapper
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-04-30 02:54:43 +01:00
Vaxry
5edc32930d
layerSurface: refactor/move to a memory-safe impl
...
Makes all the pointers smart to avoid memory issues
Refactors layerSurface code to live inside desktop/layersurface
2024-04-30 02:41:27 +01:00
Vaxry
5e6f7b1cdb
cursor-shape: allow duplicate devices per pointer resource
...
fixes #5798
2024-04-30 00:05:29 +01:00
Vaxry
f2b03e9679
ext-idle-notify: move to new impl
2024-04-29 17:50:07 +01:00
Vaxry
86133983a9
xdg-activation: move to new impl
2024-04-29 16:43:24 +01:00
Vaxry
39595aaca3
hyprctl: make commits wrapped in quotes in json
2024-04-29 16:10:26 +01:00
thejch
a783cd8f40
log: Add some colors to stdout log 🔴 🟡 🟢 🔵 🟣 ( #5778 )
...
* add colored log
* add config option
* make it dynamic
2024-04-29 16:07:35 +01:00
Vaxry
33e0bb1478
wlr-output-power: move to new impl
2024-04-29 01:38:24 +01:00
Vaxry
a5a6480917
core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr ( #5788 )
...
Moves the directory containing sockets and logs.
Also restructures lockfiles a bit.
For consumers, check if `$XDG_RUNTIME_DIR/hypr` exists. If so, use it. If not, use the old `/tmp/hypr`.
2024-04-28 22:25:24 +01:00
Vaxry
d20ee31210
hyprpm: fix updating headers
...
oopsie daisy
2024-04-28 21:32:22 +01:00
Vaxry
95a5e75c26
hooksystem: check for existing random outdir
2024-04-28 21:20:10 +01:00
Vaxry
335015fe2d
hyprpm: fix for multi-user + improve directory structure
2024-04-28 20:27:44 +01:00
Vaxry
f7815dab42
compositor: more fs safety around tmp directories
...
HIS now includes a random bit, and hyprland will bail if /tmp/hypr is not a directory or if /tmp/hypr/his exists
2024-04-28 20:06:40 +01:00
Vaxry
b164e67d8b
core: prefer mkdir over create_directory and permissions
2024-04-28 18:58:31 +01:00
Vaxry
28c8561924
hooksystem: use a random 700 directory for assembler
2024-04-28 18:28:19 +01:00
Vaxry
82a6fba6ec
tokenmgr: separate getRandomUUID from registerNewToken
2024-04-28 18:17:48 +01:00
Vaxry
2e763764bf
pointer-constraints: don't warp on entering a confined pointer
...
ref #5774
2024-04-27 21:15:33 +01:00
virchau13
90a53aed59
CrashReporter: fix deadlocks by making it mostly async-signal-safe ( #5771 )
...
`CrashReporter::createAndSaveCrash()` is not async-signal-safe,
resulting in random deadlocks/double-crashes during Hyprland crashes.
This changes the function to be (mostly) async-signal-safe.
2024-04-27 17:38:48 +01:00
niki-on-github
55490637aa
windowrules: add subtract window option to move rule ( #5770 )
...
Co-authored-by: nix <nix@local>
2024-04-27 17:34:19 +01:00
Vaxry
e400a288d0
pointer-constraints: remove emoji to fix clang
...
fixes #5765
2024-04-27 13:27:24 +01:00
Vaxry
bca7804bb6
internal: Window storage rework - part 1 ( #5762 )
...
* Window storage rework - part 1
* format
* remove useless include
* fix pch
* format
* fix crash in dwindle
* fix vram leak
* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
Vaxry
25aec3ac8c
pointer-constraints: move to new impl
2024-04-27 03:17:04 +01:00
Vaxry
f94264928a
swipe: fix crashes with invalid distance
...
fixes #5758
2024-04-26 19:11:28 +01:00
Vaxry
d9ec2785cb
wlr-foreign-toplevel: send done after property changes
...
fixes #5753
2024-04-26 13:14:50 +01:00
Vaxry
1d40af64d3
text-input-v3: move to new impl
2024-04-25 23:27:44 +01:00
eriedaberrie
e87227e00a
config: Default unconfigured monitors to open to the right ( #5741 )
...
* config: default unconfigured monitors to open to the right
* monitor: improve logging for auto positioning
2024-04-25 22:07:50 +01:00
eriedaberrie
faa9017043
renderer: fix rounding of the size of fractionally scaled monitors ( #5748 )
2024-04-25 18:52:49 +01:00
Vaxry
0652a20bd3
events: set window initial* before searching for rules
2024-04-25 16:57:11 +01:00
Vaxry
9fc3cb5629
foreign-toplevel: fix bad_any_cast in moveWindow
...
fixes #5740
2024-04-25 16:35:09 +01:00
Vaxry
01df3b73d8
shortcuts-inhibitor: move to new impl
2024-04-25 14:32:35 +01:00
Vaxry
ecf282d331
wlr-foreign-toplevel: move to new impl
2024-04-25 01:10:43 +01:00
zakk4223
72e31d3335
idle-inhibit: Always recheck idle inhibitors on creation and deletion ( #5738 )
...
Formatting
2024-04-25 00:05:19 +01:00
Vaxry
3878f806ff
pointer-gestures: move to new impl
2024-04-24 21:36:56 +01:00
Vaxry
d86eec332f
idle-inhibit: don't destroy inhibitor on surface destroy
...
fixes #5731
2024-04-24 19:15:01 +01:00
Vaxry
4540d8ccd5
style: fix clang-format
2024-04-24 16:45:54 +01:00
Vaxry
d27b5985c1
scripts: fix asan patch
2024-04-24 16:44:15 +01:00
Vaxry
932a0cd777
cmake: require hyprwayland-scanner 0.3.0
2024-04-24 16:39:18 +01:00
Virt
9fe409800b
renderer: Fix mirrored displays when transformed and preserve aspect ratio ( #5697 )
...
* renderer: transform mirror buffer and preserve mirror aspect ratio
* renderer: render mirrors directly from offloadFB
* renderer: fix formatting
* renderer: use monitorMirrorFB again, but properly damage mirrors
* renderer: clean mirrors after reload and support cursor zoom mirroring
2024-04-24 16:29:41 +01:00
Vaxry
8aecd4f253
cursormgr: fix misscaled cursors on fractional
2024-04-24 16:18:38 +01:00
Vaxry
608eff600d
tokens: add more modes to initial_workspace_tracking
...
1 is single-shot, 2 is persistent
fixes #5732
2024-04-24 16:16:52 +01:00
Agent00Ming
81bb4eb2f6
workspace: Fix duplication of "special:" in special workspace name ( #5729 )
...
* Fix duplication of "special:" in special workspace name
modified: src/desktop/Workspace.cpp
* Track default special workspace name as special:special
This is to fix the edge cases with the previous commit without breaking
user configs.
modified: src/helpers/MiscFunctions.cpp
---------
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-04-24 16:07:22 +01:00
Vaxry
e5fa0007a5
foreign: fix no-pch builds
2024-04-24 16:03:56 +01:00
Vaxry
29b0529542
nix: bump inputs
2024-04-24 15:50:43 +01:00
Vaxry
0d1bb65c75
ext-foreign-toplevel: add implementation
2024-04-24 15:48:06 +01:00
Vaxry
34413d1f36
tokens: fix initial workspace token ignoring special
...
ref #5726
2024-04-24 02:06:13 +01:00
drendog
31d055f6d4
input: fix active keyboard for seat after destroying one ( #5725 )
...
* fix: manage active keyboard for seat after destroying one
* chore: clang-format
2024-04-23 23:30:35 +01:00
Vaxry
d119513749
renderer: fix safety around sendFrameEventsToWorkspace
...
ref #5718
2024-04-23 21:15:37 +01:00
Vaxry
bb4646bbdf
compositor: properly update workspace in moveWindowToWorkspaceSafe
...
fixes #5714
2024-04-23 16:38:12 +01:00
Vaxry
a2366f78f0
renderer: send frame events to apps on empty damage renders
...
fixes #5711
2024-04-23 16:08:54 +01:00
Vaxry
cf3596a96d
renderer: avoid rendering frame if finalDamage is empty
2024-04-23 12:29:01 +01:00
Vaxry
4f1214c7e9
windows: don't force workspace change on same tracked workspace
2024-04-23 11:37:20 +01:00
thejch
aab1df50ab
CI: add no PCH build ( #5708 )
2024-04-23 11:02:51 +03:00
Mihai Fufezan
5fdd0bceac
Meson & Nix: add libuuid dep
2024-04-23 07:01:20 +03:00
Vaxry
5262292abc
cmake: add uuid to deps
2024-04-23 02:22:30 +01:00
Gabriel Ford
c3ec16f494
config: Add More Monitor 'Auto' Positions. ( #5670 )
...
* Reverse Window Positioning.
* Cleanup old comments and logs.
* Finish Splitting Left and Right offset.
* Forgot to add Auto Left to ConfigManager
* Fix problems with auto_left.
* Nearly finish up and down.
* Finish draft of all four dirs. Testing now.
* Change Y value in moveTo for up and down.
* Format, comment, and cleanup.
* Address Vaxry's feedback.
* Add check to see if auto position is first rule.
* Run clang-format.
2024-04-23 01:49:25 +01:00
Vaxry
29308b94ca
windows: add misc:initial_workspace_tracking
...
By default enabled, will track the initial opened workspace of a window spawned for 2 minutes or until it's moved to a different workspace.
For example: you run a launcher and open an app on workspace 1, but quickly switch to workspace 2. The app will now open on workspace 1 regardless of your switch.
2024-04-23 01:49:23 +01:00
Vaxry
7778f01194
managers: Add a TokenManager
2024-04-23 01:28:27 +01:00
fred21O4
da839f20f1
CI/Nix: use hyprland cachix ( #5701 )
2024-04-22 23:58:27 +03:00
PostCyberPunk
855a516596
core: add libinput backend support for headless session ( #5699 )
2024-04-22 18:48:18 +01:00
Vaxry
012a2802e0
Protocols: implement protoLog
2024-04-22 18:44:25 +01:00
Vaxry
741c75d907
gamma-control: move to new impl
2024-04-22 18:21:03 +01:00
Vaxry
dafc9ed4eb
pluginsystem: fix unhooking on exit
2024-04-22 15:57:03 +01:00
Vaxry
e91513a5e8
pluginapi: unregister callbacks on lost ptrs
2024-04-22 15:50:23 +01:00
Vaxry
450343b7b8
pluginsystem: unload entire plugin before calling dlclose()
...
fixes #5689
2024-04-22 15:46:43 +01:00
Matteo Quadrino
e1644e91ea
config: polish default config file ( #5672 )
...
* polish default config file
polish default config, making it prettier by separating it in sections, and adding links to the wiki for each section.
No configuration was altered, I only made it prettier and more beginner friendly.
I propose this should also be used as the autogenerated config file at installation.
* update default config according to suggestions
* Update defaultConfig.hpp to match example
* remove some whitespace
* match default config
* restored string terminator
2024-04-22 10:31:29 +01:00
Mihai Fufezan
cbed4fa5ec
flake.lock: update
2024-04-22 12:20:46 +03:00
Mihai Fufezan
a4f38a07d7
Nix: override wayland-protocols until merged
2024-04-22 00:38:28 +03:00
vaxerski
019d4900cb
[gha] Nix: update wlroots
2024-04-21 20:34:55 +00:00
Vaxry
448e3208ca
deps: update wlroots
2024-04-21 21:34:04 +01:00
Vaxry
8afdb8403b
style: fix clang-format
2024-04-21 21:29:37 +01:00
Tom Englund
f041d763ae
relative-pointer: fix missing header for g_pCompositor ( #5681 )
2024-04-21 21:24:07 +01:00
Vaxry
f587c3e0ba
alpha-modifier: add support for protocol
2024-04-21 21:21:22 +01:00
Vaxry
87173bd09d
protocols: fix for hyprwayland-scanner update
2024-04-21 21:20:48 +01:00
Vaxry
ed69502ff6
xdg-decoration: move to new impl
2024-04-21 20:04:58 +01:00
Vaxry
4954dcbbb3
relative-pointer: move to new impl
2024-04-21 19:30:23 +01:00
Vaxry
55f1f3fedf
protocols: minor style improvements to new impls
2024-04-21 19:29:45 +01:00
Vaxry
75c87bde3c
ci: Fix CI ( #5679 )
2024-04-21 18:33:03 +01:00
Vaxry
d9fe1d0f58
idle-inhibit: move to new impl
2024-04-21 16:54:52 +01:00
Vaxry
e823b5d693
Window: add destroy signal
2024-04-21 16:54:50 +01:00
SoSeDiK
e69bc5b870
config: Expand on window matching ( #5518 )
...
* Expand on window matching
* Requested changes
2024-04-21 15:19:59 +01:00
thejch
f47c89d495
git: ignore wlroots dirty ( #5674 )
2024-04-21 15:18:43 +01:00
Vaxry
93e5d7ca5a
input: check for focused_client being null before reading its client
...
ref #5673
2024-04-21 15:17:12 +01:00
André Silva
1ce21fdb3e
nix: fix missing git in wlroots build
2024-04-21 15:54:23 +03:00
Vaxry
4dc07c4378
keybinds: clear repeat source on mouse inputs
...
fixes #5671
2024-04-21 12:50:37 +01:00
vaxerski
8ca28dd510
[gha] Nix: update wlroots
2024-04-21 11:40:48 +00:00
Vaxry
9ce9bd9b0f
deps: bump wlroots
2024-04-21 12:39:50 +01:00
thejch
7c3bd4c19f
workspace: Add fullscreen workspace selector ( #5640 )
...
* add fullscreen selector
* use stoi
2024-04-21 01:50:08 +01:00
Vaxry
30e4b404f2
cursor-shape: move to new impl
2024-04-21 01:49:23 +01:00
Vaxry
a141bbbea5
helpers: Add new C++ Signal and Listener classes
...
A memory-safe alternative to wl_signal
2024-04-21 01:47:45 +01:00
fufexan
a10a6fff55
[gha] Nix: update inputs
2024-04-21 00:03:53 +00:00
Vaxry
4ad739ec63
HookSystem: improve callback safety
2024-04-20 20:16:42 +01:00
Vaxry
1055e6bee6
wayland-protocol: remove unused CWaylandResource
2024-04-20 19:40:01 +01:00
Vaxry
84ee839ca6
XDG-Output: move to hyprwayland-scanner
2024-04-20 19:39:59 +01:00
Yaroslav
a945346064
core: remove libsystemd dependency ( #5660 )
...
* remove libsystemd dependency
as per Lennart Poettering's advice:
https://github.com/systemd/systemd/issues/32028#issuecomment-2031366922
* fix naming for systemd helper functions
* rename vars according to code style
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-04-20 18:50:07 +01:00
Vaxry
ea47e8c92a
Fractional-scale: move to new impl
2024-04-20 14:19:16 +01:00
Vaxry
ea95449402
core: Move tearing to hyprwayland-scanner ( #5657 )
...
Adds a new dependency: hyprwayland-scanner https://github.com/hyprwm/hyprwayland-scanner
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-04-20 13:25:29 +01:00
Gabriel Ford
5c97b96278
config: Allow more sensible input options for enabling animations. ( #5659 )
...
* Add check for on/off and true/false.
* Cleanup feature and comment it out.
* Use already created helper function for this.
* Fix comparing int to char* ptr
2024-04-20 12:26:48 +01:00
thejch
10caa03ce5
config: merge all rules set for the same workspace selection ( #5656 )
2024-04-20 02:20:16 +01:00
Vaxry
1ebc32f5f4
tearing-control: search through all valid windows
...
ref #5655
2024-04-20 00:08:49 +01:00
Vaxry
b52a49b4c4
tearing-control: hyprland impl ( #5655 )
...
* tearing: hl impl
* format
2024-04-19 22:16:35 +01:00
Yixun Lan
1016faea53
misc: fix autocompletions for meson (hyprctl/hyprpm)
...
Signed-off-by: Julien Roy <julien@jroy.ca>
2024-04-19 21:09:10 +03:00
Sungyoon Cho
dd39cd7e42
windows: recalculate monitor after updating windows ( #5647 )
...
Recalculate monitor after updating windows, so layout render doesn't get
overridden.
2024-04-19 18:46:16 +01:00
zakk4223
4d0a635237
workspace: Add 'v' flag for workspace selector that counts only visible windows ( #5628 )
...
* Add 'v' flag for workspace selector: counts only visible windows
* extra commit because I'm dumb
* guard
2024-04-19 02:44:51 +01:00
Epikastema
82222342f1
shaders: Use sin-less hash for noise ( #5607 )
2024-04-17 19:01:50 +01:00
Thomas Lindae
78b04c3a76
hyprctl: fix activewindow request not showing workspace name ( #5623 )
2024-04-17 17:44:46 +01:00
Maarten de Vries
e57a2d7ec8
keybindmgr: add optional silent suffix to movewindow. ( #5597 )
...
With the `silent` suffix, the focus remains on the current position in
the layout or the current monitor, instead of following the moved
window. When combined with `movewindow mon:X`, this this allows you to
get the same behavior as xmonad's `windowToScreen` command.
2024-04-17 12:04:16 +01:00
Vaxry
e8e02e81e8
README: minor cleanup
2024-04-16 20:36:21 +01:00
Vaxry
fe7b748eb6
props: bump version to 0.39.1
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-04-16 17:01:03 +01:00
Vaxry
eeca50e3dc
hyprpm: err out on missing runtime deps
2024-04-16 16:59:06 +01:00
vaxerski
9a66514e26
hyprpm: shallow since a week before commit date
...
timezones, etc.
ref #5612
2024-04-16 15:41:11 +01:00
vaxerski
32555e98dd
window: remove input ref on unmap
...
ref #5605
2024-04-16 15:17:54 +01:00
Mihai Fufezan
79a139c949
flake.lock: update
2024-04-15 23:57:27 +03:00
FUFSoB
c99803af15
notifications: fix notifications on manually rotated monitor ( #5599 )
2024-04-15 21:47:39 +01:00
Vaxry
02cbf049d2
hyprpm: checkout branch and rev separately
...
sometimes the branch is garbled by incorrect packaging
2024-04-15 19:16:25 +01:00
Vaxry
ccbdce7c85
input: send an empty relative event after constraint motion events
...
ref #4015
2024-04-15 17:22:25 +01:00
Vaxry
3dbf8e936e
cursor: add hyprcursor loggers
2024-04-15 16:45:08 +01:00
Vaxry
d1c2d524a0
misc: fix autocompletions for meson (hyprctl/hyprpm)
...
Signed-off-by: Florian sp1rit <sp1rit@disroot.org>
2024-04-15 16:02:22 +01:00
Jan Beich
2ea367839b
build: Unbreak build on FreeBSD by adjusting dependencies ( #5595 )
...
* deps: add epoll-shim for some BSDs after 863c7b6072
ld: error: undefined symbol: timerfd_create
>>> referenced by EventLoopManager.cpp
>>> src/Hyprland.p/managers_eventLoop_EventLoopManager.cpp.o:(CEventLoopManager::CEventLoopManager())
ld: error: undefined symbol: timerfd_settime
>>> referenced by EventLoopManager.cpp
>>> src/Hyprland.p/managers_eventLoop_EventLoopManager.cpp.o:(CEventLoopManager::nudgeTimers())
See also
af93fea710
75f1bc6655
* deps: drop unused xcb-image after 45945a3e7d
$ pkg install <hyprland dependencies>
$ pkg install meson jq `pkg rquery %dn wlroots` hwdata
$ gmake all
[...]
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-image;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
-- Package 'xcb-image' not found
CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:619 (message):
The following required packages were not found:
- xcb-image
Call Stack (most recent call first):
/usr/local/share/cmake/Modules/FindPkgConfig.cmake:841 (_pkg_check_modules_internal)
CMakeLists.txt:177 (pkg_check_modules)
See also
ae7c3f3d1c
2024-04-15 14:42:17 +01:00
Vaxry
1719905e7f
CI: unshallow on checkout before sourcing the tarball
2024-04-15 02:05:45 +01:00
Vaxry
ce4c36392d
hyprpm: minor fixes to hyprpm for shallow and versioned clones
2024-04-15 01:57:10 +01:00
vaxerski
67f47fbdcc
[gha] Nix: update wlroots
2024-04-14 20:33:15 +00:00
thejch
043a40cd7a
deps: update wlroots ( #5592 )
2024-04-14 21:32:19 +01:00
LivingCodeX
fd7ea4f27c
constraint: Fix xwl cursor locking for scaled monitors ( #5587 )
...
* Fix xwl cursor locking for scaled monitors
* Add null check for window
* Replace m_fLastScale with m_fX11SurfaceScaledBy
* Improve code style
* Improve code style via clang-format
2024-04-14 21:31:50 +01:00
Vaxry
e93fbd7c4f
props: bump ver to 0.39.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-04-14 19:48:28 +01:00
go0d1uck
83ab0f2d66
keybindmgr: fix workspace_back_and_forth ( #5585 )
2024-04-14 14:54:00 +01:00
MightyPlaza
0634aaeac6
renderer: remove border on fullscreen ( #5577 )
...
modified: src/render/Renderer.cpp
2024-04-14 00:16:26 +01:00
André Silva
61fe47189b
build: update asan patch ( #5562 )
2024-04-13 22:13:08 +01:00
Yaroslav
9e4b2efe7e
cmake: Some small cmake cleanups ( #5572 )
...
* remove unnecessary include
* cmake: use pkg_get_variable
We can find wayland-scanner executable and wayland-protocols dir by
taking advantage of this function, so no need to use find_program or
manually call pkgconf executable.
* cmake: remove explicit rdynamic option
CMAKE_ENABLE_EXPORTS=ON already implies rdynamic so it's redundant to
set the latter explicitly.
Also, CMAKE_ENABLE_EXPORTS is superseded by
CMAKE_EXECUTABLE_ENABLE_EXPORTS in cmake 3.27.
* cmake: make xcb-errors dep optional
xcb-errors is being used in wlroots, where it's optional. So make it
optional in hyprland as well
2024-04-13 14:40:28 +01:00
thejch
d96501442f
core: Fix double special workspace ( #5574 )
...
* fix double special name
* fix special on another monitor
* remove extra stuff
2024-04-13 14:39:20 +01:00
thejch
582d6233c8
workspace: fix workspace name selector returning true early ( #5571 )
2024-04-13 01:55:17 +01:00
thejch
34396f55a2
master: change the mfact dispatcher to use splitratio ( #4766 )
...
* master layout: change the mfact dispatcher to use splitratio
* add space for concat
2024-04-13 01:54:18 +01:00
Vaxry
0c513ba91b
CI: fix packaging
2024-04-12 20:46:21 +01:00
Vaxry
dd6fdf49d9
window: always unref workspace on unmap
...
fixes #5563
2024-04-12 19:52:01 +01:00
Vaxry
ddcdb56f2c
CI: fix arch
2024-04-12 19:50:36 +01:00
bvr-yr
32147f5e91
hyprpm: fix wlroots path ( #5567 )
2024-04-12 19:49:33 +01:00
Mihai Fufezan
d8d0d3b20b
Nix & Meson: switch to wlroots-hyprland
2024-04-12 20:39:00 +03:00
Vaxry
382b6d3f6b
makefile: move wlr headers dir
2024-04-12 18:07:04 +01:00
Vaxry
0a70ccd099
Makefile: remove refs to libwlroots
2024-04-12 17:58:18 +01:00
vaxerski
e1e11f5a87
[gha] Nix: update wlroots
2024-04-12 15:32:45 +00:00
Vaxry
45945a3e7d
deps: move from wlroots to wlroots-hyprland
2024-04-12 16:31:50 +01:00
Vaxry
b1a9430289
inhibitor: always destroy on window unmap
...
ref #5555
2024-04-12 00:18:58 +01:00
Jan-Peter Dhallé
e0a7cf5c30
master: fix full height when all windows master ( #5549 )
2024-04-12 00:05:30 +01:00
Vaxry
185a3b4881
swipe: nuke numbered
...
fixes #5424
use_r instead
2024-04-11 12:46:19 +01:00
TheOnlyMrCat
47e5b41fea
renderer: Add dimaround layer rule ( #4643 )
2024-04-11 12:41:18 +01:00
Vaxry
ac0f3411c1
macros: fix no pch warning
2024-04-11 02:13:05 +01:00
Vaxry
abc131ec7b
configmgr: fix header priority
2024-04-11 02:12:29 +01:00
Ben Landon
558d1be7e3
hyprpm: Improve Hyprpm Update Performance ( #5530 )
...
* hyprpm: only clone the required history
* hyprpm: don't include tracy when building headers in release mode
* chore: remove old, commented-out code
See https://github.com/hyprwm/Hyprland/pull/4585#discussion_r1474780294
* chore: format code properly
2024-04-10 17:33:50 +01:00
SoSeDiK
0b2f7a1b2f
cursor: Fallback to xcursor if failed to render hyprcursor ( #5534 )
2024-04-10 17:29:17 +01:00
Sungyoon Cho
c35fa9bacc
workspace: update windows when selector match could change ( #5533 )
...
* workspace: update windows when group updates
* workspace: update windows when floating toggle
* workspace: update windows when stop dragging window by mouse
2024-04-10 17:26:11 +01:00
Vaxry
b573c20125
monitor: add workspace null check to visible flag
...
ref #5524
2024-04-10 17:21:45 +01:00
JManch
303b9956b2
hyprctl: print monitor disabled status ( #5525 )
2024-04-10 09:50:00 +01:00
SoSeDiK
1343aa865d
config: Don't override fullscreen opacity if only two opacities are provided ( #5512 )
2024-04-09 16:22:44 +01:00
SoSeDiK
f2addfb404
props: Parse border color props as gradient ( #5513 )
2024-04-09 16:14:53 +01:00
Sungyoon Cho
fcac25bcc2
workspace: Add count group flag in windowCount workspace selector prop ( #5499 )
...
* Add groupCount workspace selector prop
* Intergrate groupCount with windowCount
2024-04-09 12:08:38 +01:00
ErrorNoInternet
f6786f04d2
hyprpm: install shell completions
2024-04-09 12:38:06 +03:00
ErrorNoInternet
c7b87e0aed
hyprctl: fix fish completions
2024-04-09 12:38:06 +03:00
postsolar
d0d1ba5918
hyprctl: fix zsh completions
...
The file missed a line required by all ZSH completions in order to be automatically loaded
2024-04-09 07:08:54 +03:00
dranull
a06272ae55
input: Option for handling off-window axis events ( #4177 )
2024-04-08 23:35:21 +01:00
Mihai Fufezan
277f2bb76a
Nix: add pkgconf
2024-04-08 20:54:06 +03:00
Vaxry
0457c2e348
pkg-config -> pkgconf for hyprpm and cmake
2024-04-08 20:54:06 +03:00
Tom Englund
125a8f7e07
workspace: fix crash on destruction of compositor ( #5495 )
...
when the compositor destructs because of exiting hyprland the
hookmanager and eventmanager is already destroyed, add an if check in
the destructor of workspace so it doesnt segfault on exit.
2024-04-08 18:28:11 +01:00
Vaxry
63e3668529
style: run clang-format
2024-04-08 15:33:02 +01:00
Tom Englund
db91d949f7
compositor: move wl_display_destroy_clients ( #5498 )
...
if enough clients are open when destructing the compositor destroying
clients will emit a wl_surface_unmap that a WLListener catches and doing
so it calls listener_unmapLayerSurface that tries to iterate over input
manager that is already destroyed, move the destruction of clients above
g_pInputManager.reset() and removeAllSignals() to ensure we dont
segfault at exit.
2024-04-08 15:32:31 +01:00
Vaxry
785d9d9521
config: verify string length in wrv2 before calling back
...
ref #5431
2024-04-08 15:27:13 +01:00
SoSeDiK
43b96f03b5
props: Allow setting per-window fullscreen opacity ( #5470 )
2024-04-07 23:19:02 +01:00
MightyPlaza
df1a3a978d
input: don't remove pinned focus on workspace change ( #5486 )
...
modified: src/helpers/Monitor.cpp
2024-04-07 23:13:56 +01:00
Vaxry
7d989f2cf0
damageSurface: don't correct smallVec twice
2024-04-07 22:25:34 +01:00
Vaxry
863c7b6072
eventloop: move timers to an event loop fd
...
fixes #5481
2024-04-07 21:55:29 +01:00
Mihai Fufezan
c0d283016b
flake.lock: update
...
Contains hyprcursor 1.6
2024-04-07 22:52:10 +03:00
LOSEARDES77
20899d0df2
hyprpm: add shell completions ( #5423 )
...
* hyprpm: add completions
* hyprctl: correct spell mistakes
* Apply fixes
* makefile: correct shell completion paths
* makefile: remove complletions on uninstalling
2024-04-07 19:39:46 +03:00
Yaroslav Lelkin
b50182326c
cmake: make sure that OpenGL::EGL is populated
...
bump cmake version cause 3.27 is the version where "... COMPONENTS
GLESx" option is introduced. See
https://cmake.org/cmake/help/latest/module/FindOpenGL.html
2024-04-07 19:08:25 +03:00
thejch
89f775aec2
master: fix crash ( #5472 )
2024-04-07 15:21:12 +01:00
Junxuan Liao
d657b59f70
IME: fix IME popup mouse inputs (again) ( #5417 )
...
`lastBoxLocal`'s size should be the actual popup's size instead of the cursor
rectangle's size. Also, the rectangle position is now relative to the popup.
(Actually fixes #5255 imho.)
One thing #3922 missed was handling focus held by buttons. Let's hope I get
it right this time.
2024-04-07 15:15:50 +01:00
Vaxry
f2a848cbcc
core: Event loop rework ( #5466 )
...
* Event loop rework
* revert missed
2024-04-07 03:31:51 +01:00
thejch
9f1604e4b0
input: Dont set active monitor when simulating mouse movement ( #5465 )
...
* fix mouse simulation switching focusedmon
* fix some warnings with wrong enum
2024-04-07 01:07:21 +01:00
thejch
e80bccad51
master: fix workspace orientation not being restored after workspace rule no longer applies ( #5463 )
2024-04-06 23:49:38 +01:00
Vaxry
ff114cf6f9
input: fix focus on maximized bg surfaces
2024-04-06 18:59:23 +01:00
Vaxry
d846e82832
makefile: add patch option to make asan
2024-04-06 18:50:04 +01:00
Vaxry
fa79aacea3
constraint: fix possible uaf on double destruction
...
ref #5448
2024-04-06 18:43:17 +01:00
fred21O4
265c7924d8
flake.nix: add hyprcursor follows ( #5435 )
...
fixes a duplicate hyprlang instance sometimes being created due to hyprcursor not following hyprlands instance
2024-04-06 19:18:43 +03:00
Mihai Fufezan
3d64b0e9f0
flake.lock: update
2024-04-06 19:09:37 +03:00
Sungyoon Cho
04d067d78b
IME: fix race condition on closing window ( #5455 )
2024-04-06 15:54:02 +01:00
staz
1596e2d1f7
workspacerules: add back on-created-empty functionality ( #5452 )
...
* workspacerules: add back on-created-empty functionality
* clang format
* workspacerules: spawn on-created-empty window while initializing CWorkspace
* clang format
* configManager: fix typo
---------
Co-authored-by: Your Name <you@example.com>
2024-04-06 15:53:32 +01:00
Vaxry
6cea710ac8
scripts: switch to branch --show-current for branch in generateVersion
2024-04-06 15:40:06 +01:00
Vaxry
f081a4300f
input: fixup background layer checking on maximized
2024-04-06 15:18:58 +01:00
Vaxry
159444c45b
compositor: fix ghost fadingOut windows remaining after cleanup
2024-04-06 14:59:30 +01:00
Vaxry
f8c22916ab
compositor: remove windows from fadingOut properly
2024-04-06 14:51:35 +01:00
Vaxry
24734fbf1d
subsurface: init existing subsurfaces on children creations
...
fixes #5333
2024-04-06 03:09:20 +01:00
Vaxry
dab149e4a6
core: fix compile without pch
...
fixes #5445
2024-04-05 21:23:28 +01:00
Vaxry
b5b1c0137d
CColor: fix getAsHex
2024-04-05 21:23:06 +01:00
Vaxry
094bce8118
core: simplify sanityCheckWorkspaces
2024-04-05 19:43:51 +01:00
Vaxry
4909b0f350
monitor: unset visible flag from ws on disconnect
...
ref #5443
2024-04-05 19:25:40 +01:00
Vaxry
965a2e5b21
hooksystem: attempt allocating pages in linear order
2024-04-05 17:16:09 +01:00
Vaxry
f815a33f64
workspace: remove monitor and visible flags on inert
2024-04-05 16:57:49 +01:00
Vaxry
0051b078a1
monitor: check for invalid workspaces in onConnect
...
ref #5443
2024-04-05 16:57:49 +01:00
thejch
1e8f57c734
workspacerules: fix workspace rule loops ( #5433 )
2024-04-05 16:54:30 +01:00
Martin Sundhaug
942172d2dc
hooksystem: Fix miscalculation in comment ( #5442 )
2024-04-05 12:56:53 +01:00
bvr-yr
baad44b4ca
hyprpm: fix incorrect commits number parsing ( #5437 )
2024-04-05 04:40:44 +01:00
Vaxry
12d75c0c26
hyprpm: ignore version checks for shallow clones
2024-04-05 03:00:34 +01:00
Vaxry
1ae592fcd9
hyprpm: add support for minimum versions
2024-04-05 00:46:37 +01:00
Vaxry
51b3148f09
hyprpm: print more info on build failures
2024-04-05 00:23:05 +01:00
Vaxry
1454c6213e
window: fix invalid last workspace id
...
ref #5432
2024-04-04 22:49:15 +01:00
Vaxry
ec2cc79c65
renderer: avoid double-rendering ls-es on fadingOut
...
fixes #5295
2024-04-04 22:43:57 +01:00
Vaxry
0569b9c300
hooksystem: manually map trampoline addresses
...
better patching of rip calls as we are close enough to just change them up
2024-04-04 18:50:37 +01:00
Vaxry
cba9c5ff95
core: fix visibility flags in moveWorkspaceToMonitor
...
fixes #5416
2024-04-04 18:30:50 +01:00
Sungyoon Cho
c4b660a339
IME: fix crash on restarting IME ( #5428 )
2024-04-04 17:34:04 +01:00
Vaxry
4f3e90ad2d
popups: more safety in damage checking
2024-04-04 16:42:30 +01:00
end-4
9b8ef9206d
layers: separate anim configs for open/close ( #5421 )
2024-04-04 16:41:09 +01:00
zakk4223
846162cce1
hyprpm: Use proper path to update repo when processing user provided revision ( #5414 )
2024-04-04 16:33:36 +01:00
Mihai Fufezan
81766647f2
hyprctl: fix grammar mistakes in completions
2024-04-04 10:49:25 +03:00
LOSEARDES77
1b43cd5231
hyprctl: Add shell completions ( #5404 )
2024-04-04 10:21:20 +03:00
Vaxry
b7d71bc0e1
keybinds: fix spammy warning
2024-04-04 01:16:47 +01:00
Vaxry
9cf563065a
layouts: add missing include
2024-04-04 01:10:46 +01:00
Vaxry
36a8ae9bda
input: allow focus to bottom layers on maximized in reserved
2024-04-03 21:57:19 +01:00
Micovec
949eb42613
hyprctl: improve help pages ( #5385 )
2024-04-03 23:41:10 +03:00
Vaxry
d605e47511
renderer: block screen shader on screencopy
2024-04-03 21:35:16 +01:00
Vaxry
10146f5ec5
core: fix some crash conditions around workspace ptrs in CWindow
...
ref #5402 , supersedes #5409
2024-04-03 20:42:38 +01:00
Vaxry
d88d589880
swipe: add events
2024-04-03 19:20:47 +01:00
Vaxry
93915502d2
blur: block modif only on no new optimize
2024-04-03 17:08:11 +01:00
Vaxry
91061a2084
opengl: fix modif in blur
2024-04-03 15:08:29 +01:00
Vaxry
64964c4e3b
renderer: render back layer for workspace-less passes
2024-04-03 14:28:15 +01:00
Vaxry
3981f85e94
opengl: log framebuffer errors
2024-04-03 14:24:15 +01:00
Vaxry
efdc1af044
renderer: some fixes for renderModif
2024-04-03 14:09:58 +01:00
Vaxry
347b839034
workspaces: add visible flag
2024-04-03 10:09:48 +01:00
thejch
fbdaf74a82
master: fix swapped workspaces ( #5397 )
2024-04-03 01:22:59 +01:00
thejch
3965faafac
master: fix center resizing ( #5394 )
2024-04-03 01:22:27 +01:00
MightyPlaza
153c8f35ce
workspace: fix special unnamed workspace rules ( #5390 )
...
modified: src/desktop/Workspace.cpp
2024-04-02 22:58:45 +01:00
Vaxry
ef23ef60c5
Workspace/core: Refactor workspace storage ( #5380 )
...
* refactor workspaces to use ptrs
* clang-format
2024-04-02 20:32:39 +01:00
Vaxry
fc0a7af7ba
IME: fix blurry ime on scaled
...
ref #5387
2024-04-02 16:10:55 +01:00
Vaxry
05eb2d4af2
master: guard window in moveWindowTo
...
fixes #5374
2024-04-02 12:46:15 +01:00
Sungyoon Cho
04a35891a1
IME: fix incorrect popup damage ( #5383 )
2024-04-02 12:22:41 +01:00
Vaxry
2e5b146e57
workspace: remove lastFocusedWindow on unmap
2024-04-02 12:10:03 +01:00
Vaxry
af3a61a4e4
core: assert attempted UAFs in windowExists
...
in prep of removing the thing altogether
2024-04-02 01:15:58 +01:00
Jan Beich
c377caee7a
hyprerror: align 32-bit types after 4c796683c0 ( #5375 )
...
src/hyprerror/HyprError.cpp:64:33: error: no matching function for call to 'min'
const auto VISLINECOUNT = std::min(LINECOUNT, *LINELIMIT);
^~~~~~~~
/usr/include/c++/v1/__algorithm/min.h:40:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('int' vs. 'long long')
min(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/v1/__algorithm/min.h:51:1: note: candidate template ignored: could not match 'initializer_list<_Tp>' against 'int'
min(initializer_list<_Tp> __t, _Compare __comp)
^
/usr/include/c++/v1/__algorithm/min.h:60:1: note: candidate function template not viable: requires single argument '__t', but 2 arguments were provided
min(initializer_list<_Tp> __t)
^
/usr/include/c++/v1/__algorithm/min.h:31:1: note: candidate function template not viable: requires 3 arguments, but 2 were provided
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
2024-04-01 21:18:18 +01:00
Vaxry
3875679755
props: bump ver to 0.38.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-04-01 19:30:37 +01:00
Sungyoon Cho
db1506130b
IME: Fix ime popup coordinates and artifacts ( #5373 )
...
* ime: fix incorrect popup coordinate
* ime: fix popup artifacts
2024-04-01 16:37:59 +01:00
Vaxry
108163f1e5
animations: simplify window loop
2024-04-01 16:22:24 +01:00
thejch
7513c0cea5
renderer: Fix layer and window damage sometimes missing 1 frame ( #5370 )
...
* fix the layer and window damage missing 1 frame sometimes
* remove extra loop
2024-04-01 16:21:45 +01:00
thejch
800dbf71b0
renderer: Fix rendering when swiping workspaces ( #5367 )
...
* fix rendering on swiping
* add alpha check
* fix floating fs check
2024-04-01 16:16:18 +01:00
Vaxry
416b3d6167
socket2: sanitize data for newlines
2024-04-01 03:54:11 +01:00
thejch
ef7ac53e99
master: Make master workspace orientation rule dynamic ( #5339 )
...
* make master workspace orientation rule dynamic
* fix rebase
* fix special ws resizing
* style
2024-04-01 03:02:47 +01:00
thejch
9ae0c47a21
deco: fix groupbar offset ( #5364 )
2024-04-01 02:58:21 +01:00
Sungyoon Cho
ecc1f22e05
textinput: fix typo ( #5365 )
2024-04-01 00:41:00 +01:00
Micovec
8cb38d41d2
hyprctl: fix plugin list on no plugins ( #5357 )
2024-03-31 21:45:22 +01:00
Vaxry
9e8f051896
avar: minor fixes
2024-03-31 21:43:08 +01:00
Vaxry
64c8ba2fb1
avar: fix warp onEnd conditions
...
ref #5348
2024-03-31 21:34:11 +01:00
Vaxry
4156b55cf9
textinput: send deactivate on disable ti
...
ref #5288
2024-03-31 21:30:36 +01:00
thejch
e1e41e5448
reenderer: Add 1 border damage to fix number rounding issues ( #5343 )
...
* add 1 to border damage to avoid rounding issues
* add 1 to rounding too
2024-03-31 14:59:22 +01:00
thejch
16a9c16d9f
renderer/animations: Fix various inaccurate damage tracking issues and offsets ( #5297 )
2024-03-31 02:14:26 +01:00
Zach DeCook
1cc9a44318
input: Fix incorrect keyboard focus taken when no window was present ( #5337 )
...
A non-keyboard layer never needs keyboard focus
2024-03-31 00:50:25 +00:00
thejch
5e8c25d498
core: match all workspace rules instead of the first one only ( #5340 )
2024-03-31 00:49:53 +00:00
Aqa-Ib
1aed45f61d
core: Fix resizeparams ( #5262 )
...
* Revert a94b902
* Fix resizeparams using CVarList
* clang-format
* fix
* Use 's' as delimiter
* remove size checks
* fix tabs
* fix mixing tabs and spaces
2024-03-31 00:48:39 +00:00
Vaxry
77f26997fd
IME: don't assert on lock mismatch, just fix it
2024-03-30 17:01:02 +00:00
thejch
906e498144
dispatchers: open special ws on active monitor instead of mouse monitor ( #5330 )
2024-03-30 16:58:18 +00:00
thejch
a17d7ba87b
dispatchers: fix swap workspaces wrong positioning of floating windows ( #5328 )
2024-03-30 16:57:43 +00:00
Vaxry
6fb8f50205
hyprpm: avoid crashes on corrupted headers
...
ref #5329
2024-03-30 03:09:22 +00:00
Vaxry
54376d7b5f
compositor: remove windows from fading out on destroy
...
ref #5321
2024-03-29 19:07:18 +00:00
Vaxry
3d1bf1405e
keybinds: add binds:disable_keybind_grabbing
...
fixes #5273
2024-03-29 18:57:16 +00:00
Muhamed Hobi
53aa184d20
makefile: Remove old headers first ( #5316 )
...
Windows.cpp was moved and I found myself having both versions in my include. Clear out the headers before dumping new ones.
2024-03-29 14:07:33 +00:00
Vaxry
fcd9d77b64
layout: improve initial size prediction for floating
2024-03-29 00:43:50 +00:00
Vaxry
2930c5cb6f
animvar: fixup update callbacks and cleanup
2024-03-29 00:23:23 +00:00
Mihai Fufezan
d8429eebc6
flake.lock: update
...
Fixes #5301
2024-03-28 18:44:00 +02:00
MightyPlaza
187caf4187
layers: don't change workspace on layer restore focus ( #5308 )
...
modified: src/events/Layers.cpp
2024-03-28 14:15:34 +00:00
MightyPlaza
647d5a4ffc
layers: fix bottom slide animation ( #5307 )
...
modified: src/helpers/WLClasses.cpp
2024-03-28 14:14:27 +00:00
Vaxry
2571875453
format: fix format
2024-03-28 02:28:22 +00:00
MightyPlaza
c24034eb9d
core: fix fullscreen + floating focus change ( #5291 )
...
modified: src/Compositor.cpp
2024-03-28 02:08:21 +00:00
Vaxry
0869f65b0b
input: add misc:hide_cursor_on_key_press
...
fixes #3045
2024-03-28 02:07:06 +00:00
Vaxry
132ab8d035
layers: add animation direction overrides
...
fixes #5285
2024-03-28 01:39:29 +00:00
vaxerski
93d0511471
layershell: update render pos and size in arrange
...
fixes #5258
2024-03-27 16:30:08 +00:00
Sungyoon Cho
ae52b7f468
textinput: fix ime when opening multiple windows ( #5281 )
2024-03-26 15:16:09 +00:00
Khalid
9b7ae25ae8
hyprctl: output json with --batch if requested ( #5277 )
2024-03-26 13:38:54 +00:00
vaxerski
1a0b8d1263
renderer: minor fixes to misaligned reported surface rendering
...
fixes #5257
2024-03-26 13:35:03 +00:00
Vaxry
a9d7526aae
core: ensure m_pLastMonitor validity over unsafe state
...
ref #5241
2024-03-26 02:26:19 +00:00
thejch
414e37996d
github: fix github issue template crash dir ( #5269 )
2024-03-26 02:21:31 +00:00
Vaxry
ae17e900e7
layer-shell: render popups above everything
2024-03-25 16:20:30 +00:00
Vaxry
ca17a89d86
renderer: allow blurring ls popups
2024-03-25 16:09:02 +00:00
thejch
356414639f
core: fix missing workspace events during swapping ( #5251 )
2024-03-25 01:50:41 +00:00
dmayle
6b28bf563e
keybinds: Fix exit trigger by moving it to monitor.frame ( #5240 )
2024-03-25 01:46:59 +00:00
thejch
8001b96bb5
renderer: dont render fullscreen special on wrong monitor ( #5249 )
2024-03-25 01:41:56 +00:00
Vaxry
89543e8e3c
cursormgr: don't set x theme in changeTheme
2024-03-24 20:48:56 +00:00
Brett Alcox
03e99f93ae
renderer: forward decl for b_pch=false ( #5250 )
2024-03-24 20:38:10 +00:00
Vaxry
294ff8609f
cursormgr: log theme loading failures
2024-03-24 19:39:56 +00:00
Vaxry
1e82d5a04d
ime: fix build without pch
2024-03-24 17:19:35 +00:00
Vaxry
5cc4bf699c
IME: Refactor and fixup popups
2024-03-24 16:08:25 +00:00
Vaxry
acf15e5579
text-input: reset lock counter on surface destroy
...
fixes #5231
2024-03-24 15:00:00 +00:00
Vaxry
86dc46ffea
animationmgr: use realpos and size for border damage
...
fixes #5239
2024-03-24 03:09:46 +00:00
Vaxry
09e1128da2
cursormgr: initialize size to 0
...
Because the ctor expects that. Ref #5237
2024-03-24 02:21:36 +00:00
Vaxry
432924b372
xwayland: assign wlr_surface on associate
2024-03-24 02:21:36 +00:00
thejch
c7fbea3368
animations: Fix animation issue in focusworkspaceoncurrentmonitor ( #5202 )
...
* dont render when workspace offset
* add guard
* can remove useless code now if workspace offset is not taken into account
* clang-format
* when special workspace is moved, set anim to move
* add offset back
* make it a configurable option because some folks apparently can't align their monitors correctly and may not want this feature😔
* remove config option
2024-03-23 22:14:50 +00:00
Vaxry
295128ab2a
window: assign surface on create
...
ref #5076
2024-03-23 22:10:37 +00:00
Sungyoon Cho
2d5fda4810
input: fix crash with text-input-v1 ( #5234 )
2024-03-23 21:12:27 +00:00
Vaxry
0d91f82d83
config: be a bit louder in the disabled log warning
2024-03-23 21:11:00 +00:00
Khalid
059e85ae69
input: Add options to set tablet's active area ( #5199 )
...
* Add options to set tablet's active area
* Set tablet's active area in `setTabletConfigs`
* Fix formatting for new variables in ConfigManager
* Report tablet's physical size with hyprctl
2024-03-23 20:31:03 +00:00
fufexan
0dfdb6678f
[gha] Nix: update inputs
2024-03-23 00:03:18 +00:00
Vaxry
9f2ed02f35
IME/TI: Fixes and refactoring
...
Fixes #5189
2024-03-22 23:08:52 +00:00
Vaxry
8c88689faf
IME: guard unfocused TIs in leave
2024-03-22 18:58:28 +00:00
Vaxry
568b352b23
cmakelists: remove oopsie
2024-03-22 18:52:07 +00:00
Vaxry
d2b42e29c6
IME: fix crashes with destroyed text-inputs
...
ref #5189
2024-03-22 18:45:28 +00:00
Vaxry
461757e2fb
scripts: fix asan patch
2024-03-22 18:45:28 +00:00
MightyPlaza
397e08c16a
input: focus window on mouse down on groupbar ( #5224 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-03-22 17:41:20 +00:00
Holger Schurig
c7c0e795d2
CGradientValueData: fix toString() method ( #5220 )
2024-03-22 17:34:51 +00:00
drendog
9bad62b85f
layershell: release all mouse buttons before focus on new ls ( #5219 )
2024-03-22 01:28:50 +00:00
Philipp Schilk
a94b902bef
windowrules: Fix resizeparams parsing. ( #5206 )
...
Parsing of resizeparams/relative vec2 did not correctly handle
multiple spaces between x and y arguments, causing the following
to fail to parse:
bind = $mainMod CTRL, h, resizeactive, 10 0
This is unexpected, because most other config values are whitespace
insensitive.
2024-03-21 15:18:24 +00:00
Andrey Donets
997ee82bdf
hyprctl: add missing commands to usage ( #5211 )
2024-03-21 14:57:06 +00:00
Praneeth Jain
f1d06b773f
hyprpm: add missing newline ( #5207 )
2024-03-21 14:50:19 +00:00
jill
ee00cb1dd8
opengl: report shader compilation errors from screen_shader ( #5138 )
...
* opengl: report shader compilation errors from screen_shader
* opengl: prefer .data()
* opengl: move shader error logging to logError
* opengl: quick glGetShaderiv -> glGetProgramiv fix
* opengl: typo fix
* opengl: format fixes
* opengl: minor compile fixes
* opengl: logError -> logShaderError
2024-03-21 14:46:23 +00:00
zakk4223
4c796683c0
config: Config error limit/hyprctl ( #5165 )
...
* Add error_limit to limit the number of config error messages shown in notification
* Add configerrors hyprctl command
* Formatting
* Formatting for not my code
* Use CVarList, add escapeJSONStrings
* Add indication there are more undisplayed errors
* Restore suppress_errors; move getErrors() to ConfigManager
* Formatting, wtf
* Format
2024-03-21 01:55:13 +00:00
Brett Alcox
214ec82ba7
build: fix builds without pch ( #5198 )
2024-03-21 01:54:10 +00:00
Horror Proton
bfc95e992d
swipe: fix nullptr in onSwipeUpdate ( #5191 )
2024-03-20 18:13:31 +00:00
Nathan Hadley
d904f51716
README: Fix Preview B image ( #5188 )
2024-03-20 18:11:40 +00:00
Vaxry
361357095c
workspace: fix selectors with special:
...
fixes #5187
2024-03-20 18:06:03 +00:00
Khalid
9ddf1b105e
tablet: Add left_handed option for tablets ( #5178 )
...
* Add left_handed option for tablets
* Update left_handed tablet option's fallback string
2024-03-20 04:00:43 +00:00
thejch
95ac8a34b1
workspace: fix integer overflow in selector parser ( #5177 )
2024-03-20 02:33:39 +00:00
Vaxry
8593c45be3
refactor: move window.hpp to desktop/
2024-03-20 01:44:51 +00:00
Vaxry
f6038837bc
constraint: do not disable constraints in destroy
...
fixes #5170
2024-03-20 01:30:41 +00:00
Vaxry
07ab3b8cd6
hyprpm: log shell in build without fails
2024-03-19 22:12:55 +00:00
Vaxry
05cd6d3df1
config/workspace: added workspace selectors
2024-03-19 20:56:20 +00:00
Vaxry
c32b2331d1
constraint: set active flag before propagating props
...
fixes #5170
2024-03-19 18:55:17 +00:00
phonetic112
bcba3951f4
input: Only limit drag resizes ( #5164 )
...
* only limit drag resizes
* change to not equals
* remove extra parentheses
2024-03-19 16:03:31 +00:00
joshua
5c1097cbc1
IME: Improve handling of text-input and ime-relay ( #5147 )
...
* input: Handling multiple surfaces for the text-input-v1 protocol implementation and imporve InputMethodRelay logic
fixes #2708
* clang-format
* minor style nits
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-03-19 15:54:33 +00:00
Epilepsy Gatherings
05c84304cc
github: remove redundant instruction ( #5163 )
...
v0.34.0 is pretty old at this point.
2024-03-19 02:53:51 +00:00
Vaxry
7617c03dfd
window: set config only when both props end anims
2024-03-19 02:53:13 +00:00
thejch
e6532ba024
animations: Fix incorrect animation when manually moving a window when its being created ( #5141 )
...
* fix incorrect rendering when manually moving a window when its being created
* add setAnimationsToMove
2024-03-19 02:52:52 +00:00
Vaxry
7a31c954e5
tablet: minor focus fixes
...
ref #3004
2024-03-19 02:45:11 +00:00
Vaxry
49f5fd59ad
opengl: minor adjustment to getPreferredReadFormat
...
fixes #4791
2024-03-19 02:42:39 +00:00
Vaxry
7283dde878
screenShader: allow camel for screensize
...
ref #5059
2024-03-18 23:51:32 +00:00
Vaxry
4ffcdc41ff
animations: fix layer slide with fade
...
fixes #5151
2024-03-18 18:29:57 +00:00
Vaxry
4b74123649
socket2: add pin event
...
fixes #4778
2024-03-18 18:11:20 +00:00
Vaxry
5eb33ff4d8
screenshader: add screen_size uniform
...
fixes #5059
2024-03-18 16:35:22 +00:00
Vaxry
7587cadd0a
renderer: add support for gles3.2 screen shaders
2024-03-18 04:15:04 +00:00
Vaxry
c34ad12183
cursormgr: scale hotspot with buffer
2024-03-17 19:00:21 +00:00
Vaxry
30c5911718
renderer: minor fixups for misaligned surface rendering offsets
...
fixes #5136
2024-03-17 16:08:59 +00:00
Zach DeCook
3c21f5e07b
swipe: Touchscreen workspace swipe ( #4489 )
...
* Workspace Swipe: Refactor update and end functions
* Touch: Implement workspace swipe better
ignoring additional fingers and new touches
allow gaps-right and gaps-left to be different
2024-03-17 15:43:59 +00:00
djvs
3ed3b34c4a
keybinds: add Dispatchers for "force float" and "force tiling" (non-toggle) ( #5137 )
...
---------
Co-authored-by: djvs <djvs@users.noreply.github.com>
2024-03-17 15:41:43 +00:00
Vaxry
e68c07d809
renderer: don't render window on other mons during anim in
...
fixes #5139
2024-03-17 01:05:26 +00:00
thejch
0387528c56
master: fix moving fullscreen workspace and remove duplicate code ( #5131 )
2024-03-17 00:15:12 +00:00
Vaxry
0e87a08e15
renderer: disable surface adjustments for misaligned reported when manual resizing
...
ref #5135
2024-03-16 17:56:09 +00:00
Vaxry
3162739e1b
renderer: don't translate surface box on interactive resizes with non-updated sizes
...
closes #5135
2024-03-16 17:12:29 +00:00
Omar
e566be7847
LICENSE: Update year ( #5132 )
...
Updating the license year from 2022-2023 to 2022-2024
2024-03-16 16:57:45 +00:00
Mihai Fufezan
bd332a79e7
Nix: match derivation to Nixpkgs
2024-03-16 18:12:42 +02:00
Vaxry
c5e28ebcfe
props: bump ver 0.37.1
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-03-16 14:51:49 +00:00
thejch
c942ce6dce
renderer: add better multi monitor animations ( #5126 )
2024-03-16 14:49:34 +00:00
Vaxry
5e5d7e2abc
renderer: fix non-reported sizes window box calculations
...
fixed #5129
2024-03-16 14:37:07 +00:00
Vaxry
19c90048d6
props: bump ver to 0.37.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-03-15 23:58:39 +00:00
Vaxry
3f5f5f5491
splashes: add 2ya splash
2024-03-15 23:58:22 +00:00
Vaxry
2a2da6082e
renderer: fix invalid access on non-assigned surfaces
...
fixes #5125
2024-03-15 21:29:20 +00:00
Vaxry
c4f52d1979
master: fix invalid config usage
2024-03-15 19:31:33 +00:00
Vaxry
38576d651a
renderer: adjust surface dimensions for oversized not-yet ackd surface sizes
...
supersedes #5104
2024-03-15 19:23:51 +00:00
drendog
72d78eff95
sessionlock: refocus after destroy focused surface ( #5117 )
...
* fix: refocus after destroy focused surface
* refactor: minor refactor on refocus loop condition
* refactor: minor refactor on condition
* style: format code
2024-03-15 18:44:17 +00:00
Maximilian Seidler
a958884b52
lock: fix red screen issues with multiple monitors ( #5100 )
...
* lock: use uint64_t for iMonitorID
* lock: move activateLock to onNewSessionLock
* lock: add red screen fade
* lock: damage when fading the red screen and delay for screencopy
* lock: remove redundant scheduleFrameForMonitor
2024-03-15 16:17:13 +00:00
Vaxry
bb933dcf04
popup: avoid damage loops with commits
...
fixes #5118
2024-03-15 15:55:30 +00:00
thejch
bc15a8f600
renderer: Allow headless mode in hyprland ( #4794 )
...
* allow headless
* clang-format
* fix redundant logic lol
2024-03-15 14:28:14 +00:00
Mihai Fufezan
6c24cee88f
flake.lock: update
2024-03-15 11:13:27 +02:00
Mihai Fufezan
d00c658405
Nix: add wrapping back
...
Ref: https://github.com/hyprwm/hyprland-plugins/issues/93
2024-03-15 10:11:56 +02:00
Vaxry
dc44bd7113
ci: remove codeql
...
bullshit, useless, and only fails for no reason
2024-03-15 03:32:24 +00:00
Vaxry
045c3fbd85
subsurface: fix visibility check
...
ref #5113
2024-03-14 20:42:33 +00:00
Vaxry
b7b13623ba
subsurface/popup: expand on map/unmap to add buffering
...
ref #5113
2024-03-14 20:21:58 +00:00
Vaxry
164e92f8e3
internal: minor fixups for fading out xwayland windows
...
fixes #4935
2024-03-14 18:25:28 +00:00
Vaxry
3e67ee0f5f
events: ignore setTitle when title didn't change
2024-03-13 15:38:24 +00:00
djvs
893c55217b
input: only override dragging corner on floating ( #5092 )
...
Co-authored-by: djvs <djvs@users.noreply.github.com>
2024-03-13 03:38:32 +00:00
djvs
c58fcfbce2
input: add general:resize_corner for manual resizing ( #5090 )
...
* Resize corner config thing
* clang-format
---------
Co-authored-by: djvs <djvs@users.noreply.github.com>
2024-03-13 02:43:22 +00:00
thejch
7ea555da7f
master: Fix master layout window focus and scroll ( #5074 )
...
* fix master switch window scrolling
* fix some more dispatchers and remove some duplicate code
* refactor and remove duplicate code
* fix focusmonitor: https://github.com/hyprwm/Hyprland/issues/5006#issuecomment-1986977255
* change check
2024-03-13 02:09:20 +00:00
Mihai Fufezan
6c53d4d82f
Nix: remove hyprland-unwrapped leftover
2024-03-12 21:35:41 +02:00
Vaxry
5da9591775
config: more safety around monitor keyword
...
ref https://github.com/hyprwm/hyprland-wiki/issues/523
2024-03-12 15:37:46 +00:00
Ikko Eltociear Ashimine
f1ec0ba467
keybinds: Fix typo ( #5081 )
...
minor fix
2024-03-12 15:26:42 +00:00
Vaxry
a065b481f3
cursormgr: use XCURSOR_THEME for x themes
2024-03-11 20:33:26 +00:00
Lucas Reis
0fc9d45e4b
core: Fix typo and check grandchild PID in spawn() ( #5070 )
2024-03-11 19:31:39 +00:00
Vaxry
66330281ff
config: report errors from sourced files
2024-03-11 01:39:00 +00:00
Vaxry
220144276b
layout: unfullscreen on toggle into tiled fullscreen
...
fixes a bug where the tiled window would be on top
2024-03-10 22:31:49 +00:00
Vaxry
0a1632a79f
dwindle: preserve fs state on switchWindows
...
fixes #2842
2024-03-10 22:27:23 +00:00
NotAShelf
981296f101
flake: bump inputs ( #5066 )
2024-03-10 19:52:54 +00:00
Vaxry
0c28d4e334
window: prevent vector modification segfault while iterating
...
oops, updateWindow can modify the vec
2024-03-10 16:56:42 +00:00
Matt Wyatt
335506d555
constraints: only warp cursor on deactivate if constraint is locked. ( #5056 )
2024-03-09 23:19:48 +00:00
Vaxry
b0f98a3d3e
compositor: reject focus to noFocus OR xwayland windows
...
fixes #4922
2024-03-09 22:39:23 +00:00
Vaxry
2ed032a7fd
xwayland: fix no_xwayland compiles
2024-03-09 22:37:49 +00:00
Vaxry
739c5bc98c
cursormgr: fix invalid access to hyprcursor in xwayland init
...
fixes #5048
2024-03-09 21:54:33 +00:00
Vaxry
26cd1bf949
input: fix minor default cursor reset conditions
2024-03-09 18:12:55 +00:00
Vaxry
18a35b1406
cursormgr: fix memory leak with cursor buffers
2024-03-09 18:04:33 +00:00
Vaxry
7e41e5146d
cursormgr: add fallbacks for unknown cursors
2024-03-09 18:00:37 +00:00
Vaxry
c3882bb832
internal: Support libhyprcursor ( #5009 )
...
woo
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-03-09 16:52:59 +00:00
Vaxry
e7a5db4852
xwayland: Set xwayland's name prop ( #4924 )
...
* set xwayland name
* [gha] Nix: update wlroots
* fix
---------
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
2024-03-09 16:47:57 +00:00
Vaxry
a01949dd28
deco: fix warnings
2024-03-09 16:39:38 +00:00
vaxerski
fa886d8b11
[gha] Nix: update wlroots
2024-03-09 16:36:19 +00:00
Vaxry
3f58e77e75
deps: update wlroots
2024-03-09 16:35:35 +00:00
Vaxry
300d77edd9
keybinds: track submap at press for keypresses
...
fixes #5037
2024-03-09 16:08:07 +00:00
Vaxry
c9ea600baa
layer-shell: allow for popup creation before map
...
ref https://github.com/jjsullivan5196/wvkbd/issues/65
2024-03-09 15:32:36 +00:00
Vaxry
3e930a568a
format: fix format
2024-03-09 03:09:25 +00:00
Vaxry
024d4ddc74
input: scale local coords in constraints
...
fixes #5029
2024-03-08 22:51:28 +00:00
Vaxry
717d5b3cc2
hyprctl: hide unmapped windows without -a
2024-03-08 17:47:12 +00:00
Vaxry
0a4ade01d3
format: make ci happy
2024-03-08 17:40:28 +00:00
Aaron
5920c6a6b8
socket2: Add 5 IPC event with support for workspace ID ( #5022 )
...
- `moveworkspacev2`: returns workspaceID,workspaceName,monitorName
- `movewindowv2`: returns windowAddress,workspaceID,workspaceName
- `createWorkspacev2`: returns workspaceID,workspaceName
- `destroyWorkspacev2`: returns workspaceID,workspaceName
- `workspacev2`: returns workspaceID,workspaceName
- Include workspaceID as a parameter in CWorkspace constructor to support `createWorkspacev2`.
Resolves #4929
2024-03-08 17:39:53 +00:00
Vaxry
4c34e4aac2
windowrules: minor improvements to min/max size
...
fixes #5017
2024-03-08 17:10:38 +00:00
Fazzi
d1c80c31c8
README: change dwl link to new codeberg link ( #5026 )
2024-03-08 16:30:42 +00:00
Epilepsy Gatherings
1290507ac4
windowrules: check if floating when resizing from maxsize ( #5019 )
...
* check if floating
* use return
2024-03-08 14:54:45 +00:00
Epilepsy Gatherings
e52d3fa852
windowrules: Make min/maxsize rules dynamic ( #4775 )
...
* rebase
* simplify and remove prop
* Stuff
- add back win prop
- change minsize defaults
- change request formatting for setprop
* style fix
* remove empty line
* change defaults
* redo string to vec
* remove redundant parsing
* change to vec
* support commas
* remove static rules
* take out garbage
* format
* don't allow commas and resize on setprop
* use isNumber
2024-03-08 02:24:44 +00:00
ItsDrike
ceecdd0fd5
hyprctl: Fix incorrect invalid fontsize kwarg response ( #5013 )
2024-03-07 23:34:33 +00:00
thejch
6c4e2489a0
layout: Fix toggling fullscreen special workspace on different monitor ( #5000 )
...
* fix toggling fullscreen special ws on different monitor
* add for dwindle
* fix change regular workspace when special fullscreen
2024-03-07 13:27:58 +00:00
thejch
bf71026b8d
master: change active monitor when moving windows around ( #5001 )
2024-03-07 13:23:22 +00:00
Mihai Fufezan
77161fdbef
flake.lock: update
2024-03-07 11:03:43 +02:00
Mihai Fufezan
ce072638e9
Nix: use propagatedBuildInputs instead of wrapping
...
This way, users that want to wrap Hyprland themselves won't have the
issues of double-wrapping.
2024-03-07 11:02:18 +02:00
Vaxry
95769a3c54
compositor: update state after moving to workspace
...
fixes #4987
2024-03-06 21:33:55 +00:00
ItsDrike
067df84388
notify: Add custom fontsize support for notifications ( #4981 )
...
* Add custom fontsize support for notifications
* Remove debug stuff
* Use original default font size
* Handle fontsize as keyword arg
* Use CVarList::join instead of for loop
* Use size_t for msgidx
2024-03-06 21:20:26 +00:00
Vaxry
8e2a62e53b
events: apply monitor state on sessionActive
...
ref #4839
2024-03-06 18:14:59 +00:00
Vaxry
669ea8a373
ci: pack hyprpm to the release tar
2024-03-06 15:26:58 +00:00
ItsDrike
082bf00254
hyprpm: Add support for specifying exact git revisions for plugin repo ( #4983 )
...
* hyprpm(feat): support specifying exact git revs
* Mention git rev argument in help
* Mention git rev arg is optional
* Wrap text
2024-03-06 12:01:04 +00:00
outfoxxed
d6f1b151b2
animations: fix m_Goal not being set after #4911 ( #4992 )
2024-03-06 10:14:13 +00:00
bvr-yr
fb87e332c5
input: fix window move stutter by introducing additional checks for low-hz monitors ( #4553 )
...
* resize-limiter: add additional check for low-hz monitors
* simplify checker
* add comment
* rename variable
2024-03-06 00:15:44 +00:00
Zach DeCook
b1e2ca04a0
CrashReporter: Fix compilation with musl libc ( #4805 )
...
It can be assumed this doesn't function correctly:
my 'configuration does not support execinfo.h', so I have no backtrace to test against
2024-03-05 22:51:34 +00:00
Vaxry
05dd204c5f
window: ignore surface updates in unsafe / on invalid monitors
2024-03-05 20:46:08 +00:00
Vaxry
31e1287da2
subsurface: don't update transform on unmap
...
fixes #4969
2024-03-05 20:45:23 +00:00
Vaxry
a4c1f4a03d
popup: send scale on map
...
fixes #4972
2024-03-05 20:42:29 +00:00
Grant Ammons
0ee69058c4
config: Add input:scroll_factor configuration ( #4980 )
...
* Allow for input:scroll_factor configuration
This PR will allow for a `scroll_factor` configuration within an `input`
block. The purpose is to control the scroll factor of external mice.
Closes #2574 .
* clang-format
2024-03-05 19:18:53 +00:00
Junxuan Liao
f8a081b56d
layout: warp the cursor when focusing windows ( #4982 )
...
Similar to the `focuswindow` dispatcher, when focusing a window with
wlr-foreign-toplevel-management, the cursor should be warped. Otherwise, the
focus is lost immediately after the cursor moves.
2024-03-05 17:56:06 +00:00
Vaxry
bdfa8ab856
hyprctl: print format and modes
...
fixes #4971
2024-03-05 13:55:38 +00:00
Junxuan Liao
08152477dc
monitor: remove commas from short description ( #4970 )
...
Since `hyprctl monitor` shows szShortDescription now, it needs to be sanitized.
(See #2457 )
Also, monitor selectors are now compared against szShortDescription and
szDescription to avoid re-striping the string.
2024-03-05 13:41:51 +00:00
Vaxry
12985fa0d8
surface: fix damage tearing feedback
...
fixes #4935
2024-03-05 00:21:37 +00:00
thejch
9c48c322d4
keybinds: Allow fullscreen/maximize in special workspace ( #4921 )
...
* allow fullscreen/maximize in special workspace
* remove duplicate code
* hide top layer
* fix special fullscreen deco
* edit
* fix fade top layer when toggle special
* remove double render
2024-03-04 23:29:45 +00:00
Vaxry
7a76ab01d1
input: send motion to confined cursors
2024-03-04 23:07:16 +00:00
musjj
f3c92e75c8
CI/Nix: attempt to fix broken cache ( #4963 )
...
DeterminateSystems/nix-installer-action is causing hash inconsistency between CI & local build.
2024-03-04 20:33:42 +02:00
Tom Benham
07c7235b72
keybinds: Better handling of workspace_back_and_forth ( #4952 )
...
* Removed redundant boolean condition
* Better handling of workspace_back_and_forth when using focusworkspaceoncurrentmonitor dispatcher
* Fixed config acquisition
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-03-04 17:05:20 +00:00
Vaxry
12da0fc84f
hyprctl: parse custom types in getoption
2024-03-04 10:36:38 +00:00
Isaiah Hamilton
9d89b7109d
config: update per device input configs link ( #4951 )
2024-03-03 23:00:28 +00:00
Vaxry
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
JManch
8ccbd272cc
compositor: ignore grab extend behind special workspaces ( #4944 )
...
* compositor: ignore grab extend behind special workspaces
* ignore the window entirely
2024-03-03 17:04:39 +00:00
thejch
28272d2d74
master: Fix animate resize ( #4942 )
...
* fix master animate resize
* fix some other pointers
2024-03-03 17:03:23 +00:00
Vaxry
c701767038
xkb: handle invalid keymaps in updateXKBTranslationState
...
fixes #4941
2024-03-03 17:02:15 +00:00
Vaxry
cc94123fa7
renderer: minor fixes to transformations
2024-03-03 02:18:06 +00:00
Julien Roy
2a08f2ba84
opengl: fix compilation on legacy renderer ( #4928 )
2024-03-03 00:31:36 +00:00
Vaxry
689fced8b9
windowrules: fix center
...
fixes #4934
2024-03-03 00:22:40 +00:00
Epilepsy Gatherings
acf0b536a6
xwayland: disable initial focus for xwayland dialogs ( #4936 )
2024-03-03 00:18:53 +00:00
JManch
1762e9c6ec
renderer: respect forceNoBlur when rendering small surface windows ( #4932 )
2024-03-03 00:17:40 +00:00
Tobias Zimmermann
964f1a438d
keybinds: Add the 'catchall' keyword that matches all keys ( #4930 )
...
* Add the 'catchall' keyword that matches all keys
This keyword can be used to define arbitrary keybinds. The only special
behavior that it exhibits is that it matches every key, including
modifier keys. Any flags still apply normally.
This commit also fixes an issue that keys bound via the code:KEYCODE
format were not unbound correctly.
* Disallow catchall keybinds outside of submaps
A catchall keybind outside a submap would prevent essentially all key
events from going through to applications and would be difficult to
remove again.
2024-03-03 00:17:02 +00:00
JManch
508262b7db
events: update render data after workspace window rule ( #4931 )
2024-03-02 22:15:07 +00:00
Vaxry
d72ea5f2a7
input: Rewritten pointer constraints ( #4889 )
...
* rewritten constraints
* send pointer enter on activate if not pointer focus
* minor cleanup
* simulate movement on commit
* don't ignore oneshot prop
* various fixes
* dont send motion on confined
* update pos hint on region change
2024-03-02 21:04:55 +00:00
Vaxry
328ab43165
hyprpm: don't copy .so if file doesn't exist
...
ref #4926
2024-03-02 19:06:09 +00:00
Vaxry
d2289d8327
xdg: minor improvements to initial size reporting
...
fixes #4918
2024-03-02 18:53:17 +00:00
ItsDrike
be89d6faa9
notifs: Implement notification dimissing ( #4790 )
2024-03-02 18:12:31 +00:00
Vaxry
8811f4b69a
drag: check min size for reisze drags
...
fixes #4920
2024-03-02 15:25:32 +00:00
Vaxry
52db216608
events: don't switch to active workspace on workspace rule
2024-03-02 15:20:40 +00:00
ves
1e311c947e
Nix: add missing dependencies for make asan ( #4919 )
2024-03-02 17:02:33 +02:00
Vaxry
7ce781e87c
keybinds: better follow xkb translation state
...
fixes #4908
2024-03-02 01:46:55 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
Vaxry
f115ba94d2
xwayland: set scaledBy for unmanaged windows in map
2024-03-01 23:04:34 +00:00
Brett Alcox
6e3a494d1d
core: add additional headers for Popup.cpp and InputMethodRelay.hpp ( #4909 )
2024-03-01 20:07:36 +00:00
Vaxry
555afea73c
makefile: add config to make asan
2024-03-01 14:16:56 +00:00
Vaxry
4937352761
makefile: add asan
2024-03-01 14:14:28 +00:00
Vaxry
f590505daf
popup: minor fixes to xdg geometries
...
fixes #4900
2024-02-29 21:51:50 +00:00
Vaxry
f801d15947
configmgr: fix compile on 32-bit archs
...
fixes #4895
2024-02-29 21:33:39 +00:00
Vaxry
e63b4b18aa
renderer: force a few render frames on init anim end
...
fixes #4875
2024-02-29 19:04:40 +00:00
Vaxry
1698d336f2
core: fix crashes on access of deleted wlr_ surface
...
ref fixes #4893
2024-02-29 17:23:44 +00:00
Vaxry
fbba8757cb
window: remove unused list
2024-02-29 16:16:03 +00:00
Vaxry
6916d0a6a3
surface: unify owners
2024-02-29 15:07:14 +00:00
Anton Samokhvalov
bcec082a1c
build: fix libc++/clang build ( #4886 )
2024-02-29 15:01:56 +00:00
Vaxry
2e111c8cf9
xdg: rewrite entire popup implementation
2024-02-29 14:26:02 +00:00
Vaxry
b39dcfa497
refactor: move a few things to desktop/
2024-02-29 13:03:38 +00:00
Vaxry
4bff762d97
xwaylandmgr: don't read xwayland surface from unmapped xwayland
2024-02-29 01:21:23 +00:00
Vaxry
b1c0f1cc01
subsurface: Rewrite the subsurface tree ( #4877 )
2024-02-29 00:03:28 +00:00
Vaxry
1e7eb3a5a5
xdg: check for floating conditions before sending tiled size hint
...
ref #4871
2024-02-28 23:14:50 +00:00
Vaxry
097f561e41
surfacetree: Revert "subsurfaceTree: assign surfaces to a CWLSurface"
...
This reverts commit 51b1b17fcb .
Crash issues, fixes #4874
2024-02-28 19:42:04 +00:00
Vaxry
a31433c215
renderer: damage whole ring on failed commit
...
fixes #4770
2024-02-28 18:00:02 +00:00
Vaxry
51b1b17fcb
subsurfaceTree: assign surfaces to a CWLSurface
...
fixes #4872
2024-02-28 17:53:17 +00:00
Vaxry
29cdd7de1f
layers: minor fixes for new animations
2024-02-28 15:59:45 +00:00
Vaxry
4bc669f933
layers: add fully featured animations
...
Adds configs and layerrules to handle them
alas fixes #981
I have cooked
2024-02-28 15:00:40 +00:00
vaxerski
f4f3aa2e50
layout: add size prediction for initial xdg commits
...
fixes #4022
2024-02-28 11:45:43 +00:00
JManch
c198d744b7
keybinds: unconstrain mouse on focusmonitor and cyclenext ( #4863 )
2024-02-28 00:52:45 +00:00
Vaxry
1c460e98f8
props: bump ver to 0.36.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-02-28 00:32:40 +00:00
Tobias Zimmermann
489ac40abd
config: Add option to resolve keybinds by sym instead of code ( #4851 )
...
This commit adds the new configuration option 'resolve_binds_by_sym'
which can be set globally or per-device. It is off by default, which
preserves the current behavior.
This setting only affects the behavior of keybinds that are defined via
key symbols, not those defined via keycode. Binds defined by symbols
currently activate if the keycode pressed would generate the specified
symbol on the first layout specified in the input section.
If enabled, keys pressed on the relevant device will instead match
keybinds by the symbols they produce with their current layout.
Closes #1881 .
2024-02-27 23:21:22 +00:00
Vaxry
e3373669e5
wayland: implement keyboard_shortcuts_inhibit_v1
...
fixes #4568
2024-02-27 23:15:24 +00:00
Vaxry
f26d7aa58d
config: add defaultName for workspace rules
...
alas, fixes #665
2024-02-27 22:44:42 +00:00
Vaxry
e2c286548d
avar: return curve value of 1 when not animated
...
fixes #4862
2024-02-27 22:34:07 +00:00
Philip Damianik
60f81b8a23
input: Map touch devices and tablets bound to an output ( #3544 )
...
* Map bound touch devices and tablets to an output
* Add "[[Auto]]" default option for auto detecting outputs for touch inputs
* Bind new monitors to configured touch and tablet devices
* Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor
* Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
2024-02-27 22:11:59 +00:00
vaxerski
98034fea3c
screencopy: send full frame damage
...
fixes #4855
2024-02-27 14:51:27 +00:00
Vaxry
21f7f32dc9
screencopy: avoid dangling client ptrs on client destroy
2024-02-27 12:23:59 +00:00
Vaxry
ffd7217243
IME: don't set modifiers on grab destroy
2024-02-27 12:23:45 +00:00
Vaxry
bc3f5b94eb
core: nullcheck for old monitor in moveWorkspaceToMonitor
...
fixes #4495
2024-02-26 21:12:12 +00:00
Vaxry
f7a3453487
socket2: move to the wayland event loop
2024-02-26 17:20:51 +00:00
Bernd Müller
1742605eb8
keybinds: fix movewindoworgroup onto empy workspace on next monitor ( #4486 )
...
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* reset flake.nix
* add: changes mentioned in review of #4486
2024-02-26 14:05:24 +00:00
github-usr-name
81fe2ae7f1
surface: ensure global pointers valid before using in destructor ( #4844 )
...
This fixes an observed SigSegV resulting from the cursor surface using
`g_pInputManager` when invoked from the `CInputManager` destructor
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-26 09:52:12 +00:00
Vaxry
dfcfb92ec6
renderer: take into account fading out windows in solitary recheck
2024-02-26 00:19:16 +00:00
Vaxry
9815402074
keybinds: focus floating on top of fs
2024-02-26 00:15:59 +00:00
shezdy
a14f6b570f
keybinds: fix focuswindow for fullscreen ( #4840 )
...
* focuswindow fix
* fix format
---------
Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
2024-02-26 00:05:20 +00:00
fufexan
7f35bff720
[gha] Nix: update inputs
2024-02-26 00:03:49 +00:00
Tom Benham
54a8329936
layout: Fixed ghost window when opened while fullscreen on a different workspace ( #4822 )
...
* Fixed ghost window when opened while fullscreen on a different workspace
* Format
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-02-25 14:09:41 +00:00
github-usr-name
f9cfec8abb
compositor: allow source monitor to be provided to getMonitorInDirection ( #4837 )
...
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-25 14:03:00 +00:00
Sergei Trofimovich
f534ac3fc4
hyprctl: add missing newline in error case of missing HYPRLAND_INSTANCE_SIGNATURE ( #4832 )
...
Before the change running a `hyprctl` in incomplete `Hyprland`
environment merged error message and prompt for me as:
$ hyprctl activewindow
HYPRLAND_INSTANCE_SIGNATURE not set! (is hyprland running?)$
(note trailing `$` prompt).
After the change the newline is present as expected:
$ hyprctl activewindow
HYPRLAND_INSTANCE_SIGNATURE not set! (is hyprland running?)
$
2024-02-24 23:35:36 +00:00
Vaxry
9103af317e
hyprctl: ignore non-lock files for instances
2024-02-24 23:35:18 +00:00
Vaxry
5824b0f305
hyprctl: fix showing invalid instances
2024-02-24 17:36:43 +00:00
JManch
e9528fc214
config: fix layout invalidation for keyword commands ( #4826 )
2024-02-24 14:06:28 +00:00
Vaxry
6f83856025
hyprctl: add -r argument
2024-02-24 14:02:03 +00:00
thejch
d92da7959a
core: Fix SEGV/ABRT core dump when exiting ( #4823 )
...
* reset input manager first
* move reset
2024-02-24 02:50:54 +00:00
Mihai Fufezan
f27054c13e
flake.nix: override inputs for xdph and hyprlang
2024-02-24 00:48:11 +02:00
Vaxry
bdbd8d965d
hyprctl: jsonify new gaps
...
fixes #4820
2024-02-23 21:25:04 +00:00
Vaxry
bfb1e876a8
config: add opengl:force_introspection
...
fixes #4819
2024-02-23 21:21:24 +00:00
Vaxry
ca59bd5739
opengl: check bottom/bg layers for required introspection
...
ref #4818
2024-02-23 21:09:47 +00:00
thejch
f389f77015
core: Try to fix the exit hang ( #4811 )
...
* add signal removal
* use a flag instead
* remove signals in cleanup
2024-02-23 16:48:27 +00:00
Vaxry
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
Vaxry
c1ef361e02
renderer: fix logs
2024-02-23 00:02:48 +00:00
Vaxry
35e80a64a6
renderer: add more logging for fails in beginRender
2024-02-22 23:50:56 +00:00
Vaxry
e83bf4f7b7
core: add env to disable crash reporter
2024-02-22 23:10:59 +00:00
Vaxry
c353b7c4f7
renderer: minor fixes for introspection detection
2024-02-22 23:01:22 +00:00
Vaxry
d9757b61bf
xdg: manually schedule initial configures
...
chasing wlroots
fixes #4801
2024-02-22 17:33:23 +00:00
vaxerski
28410922da
[gha] Nix: update wlroots
2024-02-22 16:23:35 +00:00
Vaxry
cfc652e17d
deps: downgrade wlroots due to xwayland segfaults
2024-02-22 16:22:51 +00:00
vaxerski
dbccbabac5
[gha] Nix: update wlroots
2024-02-22 15:56:22 +00:00
Vaxry
9a6956fe67
deps: update wlroots
2024-02-22 15:55:33 +00:00
Vaxry
af0c8e299b
input: fix vectorToWindowUnified with floating over fs
...
fixes #4800
2024-02-22 15:42:17 +00:00
Vaxry
7fbe016c15
animationmgr: expand layer box for damage
2024-02-22 15:34:18 +00:00
Vaxry
0ebee80bca
config: adjust default splash col
2024-02-22 15:28:58 +00:00
Vaxry
c4283abb9f
compositor: check for pworkspace validity in setActiveMonitor
2024-02-22 15:12:51 +00:00
Vaxry
94aeb06d6b
toplevelexport: set last damage for dmabuf copy
2024-02-22 03:10:01 +00:00
Vaxry
ea3fd13e24
shadow: fix missed invalid use of cfg val ptr
...
fixes #4785
2024-02-21 19:26:21 +00:00
Hiram Muñoz
dad8ffd576
renderer: Update splash text properties to be configurable ( #4707 )
...
* Update splash text properties to be configurable
The splash text's font and color properties have been updated to be configurable. This change includes adding new configuration values for the splash screen color and font. The rendering of the splash screen is also adjusted to use these new config values, allowing for easy customization of the splash text appearance.
* Updated to use Hyprlang config manager
2024-02-21 18:31:29 +00:00
q234rty
fc5ca391ad
core: Fix building plugins ( #4783 )
2024-02-21 16:57:44 +00:00
André Silva
e5eb1bdf01
renderer: ignore set cursor surface if cursor should be hidden ( #4780 )
2024-02-21 13:48:48 +00:00
Dashie
ddf022d61c
feat: Add css style gaps ( #4723 )
2024-02-21 11:07:39 +00:00
Vaxry
13d9854897
xdgpopup: fix UAF because of an invalid listener connection
...
destroy should be connected to popup::destroy, not popup::surface::destroy...
ref #4751
2024-02-20 18:14:36 +00:00
vaxerski
cd73dda16e
sessionLock: send preferred fractional scale
2024-02-20 16:13:01 +00:00
vaxerski
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
vaxerski
7ea37c9dc9
surface: fix damage calcs with a viewport src
2024-02-20 15:21:30 +00:00
Vaxry
86be75dd97
events: bring back accidentally nuked preConfigReload
2024-02-20 03:24:15 +00:00
thejch
030ed27cc8
crashreporter: Use ~/.cache as cache dir ( #4719 )
...
* use ~/.cache for crash reports
* minor word edit
* clang-format
* minor typo
2024-02-20 00:55:04 +00:00
Vaxry
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +00:00
Vaxry
d62e7a5125
renderer: fixup damage_ring rotation
2024-02-19 19:11:05 +00:00
Vaxry
fe9c8d8745
format: fix formatting
2024-02-19 17:20:39 +00:00
vaxerski
df82625206
hyprctl: reload everything on dynamic source keywords
2024-02-19 12:45:05 +00:00
vaxerski
1763566308
surface: minor fixes for last logicalDamage calc fix
2024-02-19 11:34:55 +00:00
vaxerski
e4790e3f8e
surface: fix invalid damage tracking in damageSurface
...
ref #4744
2024-02-19 11:24:54 +00:00
rszyma
69a4f08dbe
keybinds: fix keys without keysyms triggering random binds ( #4739 )
2024-02-19 00:02:03 +00:00
Vaxry
c6b1d82c70
hyprctl: more safety around stoull
2024-02-18 23:31:43 +00:00
Vaxry
301b48b740
renderer: fix invalid damage accumulation with invalid buffer_age
...
fixes #4670
2024-02-18 16:04:08 +00:00
Vaxry
fae47ef462
config: fix errors in default config
2024-02-18 15:34:43 +00:00
Vaxry
5fc0b772c7
config: update default config for hyprlang migration
2024-02-18 15:02:34 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
Vaxry
683a4b07c5
rules: ignore static tile/float rules in dynamic gets
...
fixes #4736
2024-02-18 00:13:43 +00:00
Federico Maria Morrone
5261a8df81
keybinds: Add an option to pass a window argument to moveoutofgroup ( #4724 )
...
* keybinds: allow passing window to moveoutofgroup
* keybinds: cleaner handling of certain args
2024-02-17 22:44:22 +00:00
epicgamer256705
289d952a6e
dispatchers: add Fullscreen without sending fullscreen to application ( #4720 )
...
* Add extra option to fullscreen
* Remove useless branch
fixes #1817
---------
Co-authored-by: matteo bob <matteo4375@gmail.com>
2024-02-17 16:21:06 +00:00
Vaxry
294e51a857
input: refocus on completed drags
2024-02-17 16:02:17 +00:00
Vaxry
cdcc5aba06
xwayland: ignore OR activate requests if surface doesn't want focus
2024-02-17 02:47:07 +00:00
Abílio Costa
e3e7e1fdda
monitor: don't damage twice ( #4727 )
...
When scaled, the ring is already fully damaged, no need to add the region
damage.
Also moved a variable that was being declared way to far for where it is
actually used.
Co-authored-by: Abilio Costa <abilio.costa@criticaltechworks.com>
2024-02-17 02:09:12 +00:00
Vaxry
fbf5ba87ce
shaders: use highp for fragments
2024-02-15 17:32:34 +00:00
Jacob Birkett
a8dae8f5e1
socket2: monitoraddedv2 IPC event for monitor description and id ( #4646 )
...
* add monitor szShortDescription without DRM node name
* change hyprctl to use szShortDescription
* add monitoraddedv2 event
* add monitor ID as first param of monitoraddedv2
2024-02-15 14:22:20 +00:00
Vaxry
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
Vaxry
e5ac970d6e
input: fix follow_focus
2024-02-15 01:51:01 +00:00
Vaxry
770956b092
input: don't schedule frame on cursor move on hw cursors
...
spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
ref #3747 #3490
2024-02-15 01:26:48 +00:00
Vaxry
3cca36e773
input: avoid rampant refocuses on popups
2024-02-15 01:24:40 +00:00
Vaxry
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
Vaxry
b7ab15dc80
input: log cursor image requests
2024-02-15 00:59:04 +00:00
Vaxry
9c3f3b0018
renderer: don't calculate mirror damage without mirrors present
2024-02-14 22:33:50 +00:00
Vaxry
8d68d6bfa5
windowrules: nuke no*request
2024-02-14 22:27:53 +00:00
Vaxry
60834a4687
config: remove usages of nomaximizerequest from default cfg
2024-02-14 22:26:45 +00:00
Vaxry
7f52db806c
windowrules: add suppressevent
...
deprecates nofullscreenrequest nomaximizerequest
2024-02-14 22:19:49 +00:00
Vaxry
305b1419c8
renderer: accept custom state requests for fake outputs
2024-02-14 22:05:41 +00:00
Niklas Haas
d5950f7719
dwindle: add swapsplit dispatcher ( #4702 )
...
This is distinct from `swapwindow` in that it allows swapping the entire
tree node with its neighbour.
Fixes: https://github.com/hyprwm/Hyprland/issues/4701
2024-02-14 17:58:28 +00:00
vaxerski
0608791480
dwindle: round wbox before setting
2024-02-14 11:44:47 +00:00
vaxerski
2a002f31e4
renderer: don't set solitary on present notifications
...
fixes #4647
2024-02-14 11:09:18 +00:00
Epilepsy Gatherings
2a3429d4cf
internal: add forcenofocus prop ( #4672 )
...
* add forcenofocus
* change nofocus to overridable var
2024-02-13 18:07:19 +00:00
Vaxry
95abf1220f
keybinds: fix swapactiveworkspaces not moving focus
...
fixes #4626
2024-02-13 17:53:50 +00:00
Vaxry
b500e5699b
renderer: update cursor also when hostpot only changes
...
fixes #4691
2024-02-13 17:39:51 +00:00
Filipe Paniguel
61378380ee
config: fix tiny typo in defaultConfig.hpp ( #4693 )
2024-02-13 17:30:17 +00:00
Vaxry
890307532c
input: avoid reassigns of unchanged surfaces in processMouseRequest
2024-02-12 20:02:00 +00:00
GrizzlT
f33d73b9cf
nix: overlay polish for prev parameter ( #4558 )
2024-02-12 19:11:08 +02:00
ComycSans
927da86e3e
hyprctl: fix dispatchBatch() treating empty curitem as last request ( #4681 )
2024-02-12 15:16:00 +00:00
Alessio Molinari
cca3c64301
hyprctl: remove hardcoded hyprctl commands. ( #4671 )
...
* fix: remove hardcoded hyprctl commands.
This allows plugin to properly register hyprctl commands.
* fix: restore commands with min args
2024-02-12 10:34:21 +00:00
fufexan
6e5c78bf63
[gha] Nix: update inputs
2024-02-12 00:03:37 +00:00
Vaxry
e4bb5fa4af
input: focus monitor on mouse down
...
fixes #4649
2024-02-10 17:39:53 +00:00
Vaxry
cb258c82f4
assets: update tetrahedra by honkadaloonga
2024-02-10 17:23:27 +00:00
Vaxry
658f718fa3
input: partially revert #4514
...
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
Sefa Eyeoglu
334a0f03ee
keybinds: Fix focus not moving along when moving workspace ( #4660 )
...
---------
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
Ben Landon
289d4241be
groupbar: scale groupbar text according to monitor scale ( #4640 )
2024-02-08 22:29:10 +00:00
Vaxry
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
thejch
3d9ca6381d
crashreporter: fix logging of function data ( #4632 )
2024-02-07 09:50:23 +00:00
Vaxry
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
Vaxry
ded174d6e5
misc: remove unused var
2024-02-05 23:39:19 +00:00
Vaxry
181f651de2
vector: avoid min0 clamps without a max being invalid
2024-02-05 22:37:34 +00:00
Epilepsy Gatherings
8a6e428d32
keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead ( #4625 )
2024-02-05 22:36:22 +00:00
Vaxry
1fd82e37a7
xwaylandmgr: proper clamping for setWindowSize
...
closes #4622 fixes #4621
2024-02-05 20:56:20 +00:00
Vaxry
f9202f791e
xwaylandmgr: clamp size in setWindowSize
...
fixes #4586
2024-02-05 14:08:08 +00:00
Vaxry
84ab8d11e8
props: bump ver to 0.35.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-02-05 01:59:02 +00:00
Vaxry
60bda7ee3d
pluginapi: allow registering hyprctl commands
...
closes #4616
2024-02-05 01:57:29 +00:00
Vaxry
939696f97e
hyprctl: move to a class and unify commands
2024-02-05 01:56:49 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
JManch
1ed4f1cb25
screenshader: rename output uniform to wl_output ( #4606 )
...
* screenshader: rename output uniform to monitor
* rename to wl_output
2024-02-04 02:30:00 +00:00
Vaxry
5d4ff60f53
hyprpm: fix invalid pkg-config path env in build
...
ref #4573
2024-02-03 18:32:59 +00:00
Vaxry
504ebe1b37
box: add missing include
2024-02-03 01:31:52 +00:00
Vaxry
cf1886ca44
renderer: avoid unnecessary gpu resource deletions
...
fixes #4594
2024-02-02 15:36:13 +00:00
Vaxry
341e04a36c
dwindle: avoid sending negative sizes to wlr
...
fixes #4591
2024-02-02 15:04:04 +00:00
Vaxry
d7514412d8
renderer: reset fb pointers after render pass
...
fixes #4590
2024-02-02 14:56:04 +00:00
Vaxry
7447be8220
hyprpm: fix crash on add plugin
...
ref #4563
2024-02-02 01:51:14 +00:00
Vaxry
4644de2269
keybinds: fix ignoremods with release
2024-02-02 01:09:57 +00:00
Vaxry
3656045ad8
hyprpm: install headers locally ( #4585 )
...
* hyprpm: install headers locally
* oopsie
2024-02-01 19:38:43 +00:00
Abílio Costa
15316aaa31
subsurfaceTree: Fix nullptr crash when disconnecting a monitor ( #4577 )
...
I was able to reproduce this frequently by having a kitty terminal on an
monitor running the following command and then unplugging that monitor:
`while true; do echo "" && sleep 0.02; done`
2024-02-01 03:09:31 +00:00
Vaxry
cfd68af5b6
tearing-control: handle unmapped surfaces for hints
...
fixes #4570
2024-02-01 00:55:29 +00:00
Roger Roger
4f804d5f96
Makefile: remove hyprland symlink on uninstall
2024-01-31 19:34:16 +02:00
Mihai Fufezan
e6f7724ab0
subprojects: remove wlroots.wrap
2024-01-31 14:04:30 +02:00
Mihai Fufezan
e65f52bf2d
Makefile: pass PREFIX to CMake
2024-01-30 22:22:06 +02:00
Vaxry
c51b3fb06f
events: ignore sending mouse enter to focused if a constraint is active
...
fixes #4186
2024-01-30 16:24:41 +00:00
Vaxry
3ff59e7e1d
hyprpm: update global state on plugin recompile not header update
...
ref #4547
2024-01-29 23:37:05 +00:00
Mihai Fufezan
3d0d3b6343
Meson: fix wallpaper installation
2024-01-30 01:28:07 +02:00
Vaxry
2e3f0d5991
renderer: Add new background infrastructure
...
Adds new backgrounds from the winners of the contest
Rewrites how it works
Allows high color precision PNGs (RGB32F precisely)
Fixes a small bug in renderTextureInternalWithDamage
Nukes misc:force_hypr_chan
2024-01-29 23:11:00 +00:00
Vaxry
91e8c42843
hyprpm: don't update headers if they are up-to-date, only recompile
...
will not update headers if plugins are compiled for different ones, and instead only compile.
ref #4284
2024-01-29 10:30:31 +00:00
Vaxry
4b4bd90b14
renderer: fixup misaligned fsv1 surfaces with uv
...
fixes #4548
2024-01-28 23:42:49 +00:00
GrizzlT
7009dc9184
nix: fix overlay composition
2024-01-29 00:27:51 +02:00
Vaxry
b7840c6461
xwayland: remove delta from pos sets in configureX11
...
ref #4536
2024-01-28 20:13:44 +00:00
Vaxry
5a90911b70
hyprpm: verify headersHashCompiled as well in headersValid()
...
ref #4547
2024-01-28 20:01:46 +00:00
Epilepsy Gatherings
0e5f14d8d2
xwayland: remove reportedsize set in unmanagedSetGeometry ( #4539 )
2024-01-28 19:22:02 +00:00
Vaxry
df990c80e2
hyprpm: log verbose return of cmake and meson in update
2024-01-28 03:00:05 +00:00
Vaxry
352574d862
hyprpm: add --force for update
...
closes #4547
2024-01-28 02:04:35 +00:00
Vaxry
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
Vaxry
9002657bcc
monitor: don't call output_state_finish on buffer-less state clears
...
ref #4546
2024-01-28 00:41:54 +00:00
Vaxry
3e93fdf779
opengl: use texBox for rendering background texture
...
fixes #4543
2024-01-28 00:32:54 +00:00
Vaxry
bc7e488a4c
monitor: clear output state after usage
...
fixes massive lag
2024-01-27 19:11:14 +00:00
Mihai Fufezan
8b1069b330
flake.lock: update
2024-01-27 17:31:39 +02:00
vaxerski
61fd75b55e
[gha] Nix: update wlroots
2024-01-27 13:59:16 +00:00
Vaxry
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
rszyma
12d79d6342
dwindle: fix windows being created at incorrect position when cursor is over reserved area ( #4520 )
...
* fix: smart_split not working correctly when creating a window with cursor over reserved area
* use getClosestNodeOnWorkspace instead of getFirstNodeOnWorkspace when hovering over reserved area
* optimize `getClosestNodeOnWorkspace`
* remove unused methods
2024-01-26 22:30:36 +00:00
bvr-yr
08e3519747
layout: save float props before setting fs state ( #4537 )
...
fixes #4388
2024-01-26 17:24:00 +00:00
Epilepsy Gatherings
5cd7e4587e
compositor: don't close special on focus on pinned ( #4533 )
2024-01-26 12:24:52 +00:00
Vaxry
72987dee88
opengl: rassert false on lost context
...
we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
2024-01-26 02:26:10 +00:00
Vaxry
754eaf5b8b
pluginapi: fix hooks with negative rip offsets
...
fixes #4484
2024-01-24 13:53:18 +00:00
Zach DeCook
df17991b1c
input: Allow disabling touchscreen input ( #4517 )
...
* enable/disable touch device
* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
Vaxry
791e1b96b3
internal: minor header cleanup
2024-01-23 01:32:34 +00:00
vaxerski
02b4a9bded
compositor: clarify common errors at launch
2024-01-22 09:46:47 +01:00
Sean McGovern
4d403dac32
build: protocols: require wayland-protocols >= 1.32
...
The cursor-shape-v1 protocol was not available until this release.
2024-01-20 22:33:12 +02:00
vaxerski
f40e382fc6
crashreporter: skip first possibly cut off line in log tail
2024-01-20 09:16:27 +01:00
vaxerski
b86ed02d8a
keybinds: avoid duplicated held keys, only use last, remove all
...
ref #4471
2024-01-19 19:09:32 +01:00
vaxerski
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
vaxerski
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
Epilepsy Gatherings
9f20a15955
input: remove animate checks on resize limiter ( #4480 )
2024-01-19 15:45:51 +01:00
vaxerski
c4365f20ed
damage: use buffer_damage instead of effective_damage
2024-01-17 16:01:20 +01:00
vaxerski
307dd8f511
input: partially revert #4401
...
ref #4465
2024-01-17 14:43:38 +01:00
Huy Nguyen
8342bac697
Nix: disable fortify for devshell ( #4463 )
...
This disables '_FORTIFY_SOURCE' Werrors trying to compile wlroots.
Long standing issue in https://github.com/NixOS/nixpkgs/issues/60919
afaik.
After this change you should be able to:
```
nix develop
mmeson setup build -Dbuildtype=debug
ninja -C build
```
2024-01-17 14:27:35 +02:00
virchau13
3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching ( #4439 )
...
* feat: implement xmonad/qtile-style workspace switching
Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.
When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
replace it with the workspace that was previously active on the
current monitor,
3. Focus the workspace on the current monitor.
* fix: address PR comments
2024-01-15 16:30:46 +01:00
MightyPlaza
f14c5ea5c5
groupbar: separate gradients from title ( #4444 )
...
* separate gradients from title logic
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled extents
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled height
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-15 16:17:42 +01:00
fufexan
dcd7a92b01
[gha] Nix: update inputs
2024-01-15 00:03:29 +00:00
Isaac Myhal
b6516bad02
config: Add border gradients to windowrulev2 ( #4335 )
...
* Add border gradients to windowrulev2
* windowrule border gradient: Use CVarList to parse
* windowrule border gradient: No {} around short ifs
2024-01-14 18:27:32 +01:00
dranull
13d9a637d6
hyprctl: screen_shader config fixes ( #4102 )
...
* Allow "/" in values of requests
* Don't tick on empty value
2024-01-14 18:12:52 +01:00
1over137
4cee94b91c
fractional: Set preferred scale on monitor config reload ( #4406 )
2024-01-14 14:56:35 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26
babb9c07b0
swipe: Prevent hiding current workspace when swiping ( #4417 )
...
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076 ). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
vaxerski
6b92144f15
surface: avoid spam of window surfaces with scale and transform events
...
fixes #4408
2024-01-11 14:07:28 +01:00
Clyybber
8d31c84483
layout: Round window pos and size on togglefloating ( #4407 )
...
Also restore the behaviour introduced in bc4a51dbbb
2024-01-10 18:08:58 +01:00
vaxerski
d484506600
keybinds: fix tracking of sent key states
2024-01-10 18:06:38 +01:00
vaxerski
b240704bee
renderer: allow rendering multiple fullscreen windows in third fs pass
...
something might be fading out, sliding out, etc. We handle it before, why not use it?
fixes #4076
2024-01-09 20:42:07 +01:00
vaxerski
71166ef40b
subsurfaceTree: update surface tree protocol feedback on map
2024-01-09 18:14:08 +01:00
vaxerski
252aaaecfa
input: add special_fallthrough
...
fixes #4323
2024-01-09 13:17:55 +01:00
vaxerski
f92a86af53
renderer: ignore box offsets for fullscreen windows
2024-01-08 19:58:15 +01:00
MightyPlaza
2ba2c8aeee
groupbar: improve gradient handling ( #4390 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-08 19:38:22 +01:00
Piroro-hs
955009655d
cmake: Propagate NO_XWAYLAND to wlroots building setup ( #4385 )
2024-01-08 19:24:52 +01:00
vaxerski
d7d333d162
opengl: apply box rot to projections
2024-01-07 18:51:08 +01:00
vaxerski
f5b2fd2bc3
opengl: add renderdata.forceIntrospection
2024-01-07 18:37:02 +01:00
vaxerski
44ee9915e3
renderer: overhaul renderModifData
2024-01-07 18:35:44 +01:00
vaxerski
9f2bde925b
hyprpm: handle failed compilations gracefully
2024-01-07 18:15:51 +01:00
vaxerski
7904188de9
input: allow focusSurface when locked if surfase is sessionLock
2024-01-07 14:04:32 +01:00
Epilepsy Gatherings
666ee61c13
input: leave special on focus ( #4358 )
2024-01-07 12:06:33 +01:00
Jan Beich
7e033e48ac
make: unbreak with non-GNU ln(1) after 78f9ba9fdd
...
ln -s -r -f /usr/local/bin/Hyprland /usr/local/bin/hyprland
ln: illegal option -- r
usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file]
ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file ... target_dir
link source_file target_file
*** Error code 1
2024-01-05 19:22:43 +02:00
Naksu
d8dbdc4a01
main: Fix typo in std::cerr ( #4359 )
2024-01-05 12:45:49 +01:00
vaxerski
d3acf8da3b
CI: don't close stale issues
2024-01-05 12:40:18 +01:00
Mihai Fufezan
aeeeace102
flake.lock: update
2024-01-04 22:52:03 +02:00
thejch
880996b053
master: Add more null checks for rollnext ( #4343 )
...
* add more null check for rollnext
* remove pwindow check
2024-01-04 16:17:17 +01:00
rszyma
4d6d662c67
Makefile: force ln command to overwrite symlink ( #4347 )
...
When running `make install` twice ln shows an error:
```
ln -s -r /usr/local/bin/Hyprland /usr/local/bin/hyprland
ln: failed to create symbolic link '/usr/local/bin/hyprland': File exists
```
2024-01-04 10:20:17 +01:00
vaxerski
1512b81126
master: guard PNODE in roll*
...
fixes #4331
2024-01-02 22:18:38 +01:00
flicko
4f26c4e1eb
config: variables update their value when set again ( #4263 )
...
* variables update their value when set again
* only sort if new variable is found
* clang-format
2024-01-02 16:38:30 +01:00
dranull
3c33d4b9dd
keybinds: Refocus only if the silently moved window had the focus ( #4328 )
2024-01-02 14:50:30 +01:00
vaxerski
bd3ea8dcb5
examples: remove example plugin
...
closes #4329
2024-01-02 14:25:18 +01:00
vaxerski
813af393f1
layout: update rules before applying fullscreen nodes in layouts
2024-01-02 14:21:36 +01:00
dranull
583b05a8c6
groupbar: Drag single window instead of destroying group ( #4327 )
2024-01-02 13:37:03 +01:00
Zach DeCook
1607e96704
HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict ( #4321 )
2024-01-01 23:05:26 +01:00
q234rty
1a4f23eb2f
renderer: Only force nearest neighbor when the sizes are off by one or two ( #4325 )
...
Fixes rendering issues in arch's extra/telegram-desktop
2024-01-01 20:20:27 +01:00
bvr-yr
42ab06e7c8
meson: fix wlroots patch ( #4324 )
2024-01-01 19:58:01 +01:00
vaxerski
46753b1f22
CI: limit stalebot ops per run
2024-01-01 18:37:49 +01:00
Vaxry
d4e68ab602
CI: allow manual stale execution
2024-01-01 18:34:15 +01:00
rszyma
37b76cd1ca
keybinds: fix keys getting stuck + minor refactor & optimizations to keybind handling ( #4304 )
2024-01-01 18:29:51 +01:00
vaxerski
0be36cd02d
cmakelists: fix wlroots patch sed
2024-01-01 18:29:10 +01:00
Vaxry
4e0e8d933e
CI: add stalebot
2024-01-01 18:26:48 +01:00
vaxerski
c7ba460687
wlroots: update version patches
2024-01-01 18:19:22 +01:00
vaxerski
3a189c265d
issue templates: make versions spoiler'd
2024-01-01 18:05:49 +01:00
vaxerski
069880e374
hyprctl: add systeminfo
2024-01-01 17:53:03 +01:00
vaxerski
fa5e812304
[gha] Nix: update wlroots
2024-01-01 15:48:37 +00:00
vaxerski
33444e1e5e
deps: update wlroots
2024-01-01 16:47:54 +01:00
vaxerski
03ebbe18ed
props: bump ver to 0.34.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Build Hyprland / Code Style (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2024-01-01 13:03:15 +01:00
dranull
7c1ac58a4b
input: Ignore some input events when focus is on a layer surface ( #4306 )
...
* No motion events with focus on LS on workspace change
* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
vaxerski
46997a7643
renderer: fix auto scale detection with fractional
...
ref #4225
2023-12-31 13:54:24 +01:00
vaxerski
b5b025a1ed
renderer: use nearest_neighbor for misaligned fractional-scale surfaces
...
ref #4225
2023-12-31 13:11:26 +01:00
MightyPlaza
94d6b2d2c1
deco: fix missing border on togglefloating ( #4305 )
...
modified: src/managers/KeybindManager.cpp
2023-12-30 16:59:01 +01:00
zakk4223
33fe3a2e7f
hyprpm: Make sure we're in git repo before getting new hash ( #4303 )
2023-12-30 15:19:53 +01:00
MightyPlaza
2ad2e1d5f5
groupbar: add enabling groupbar and setting priority ( #4299 )
2023-12-30 15:18:53 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
vaxerski
78f9ba9fdd
makefile: add symbolic link for lowercase binary name
...
ref #4272
2023-12-29 10:37:58 +01:00
vaxerski
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
vaxerski
f9c13b614c
xdg-shell: fix sending of suspended state
...
fixes #4287
2023-12-29 00:26:23 +01:00
vaxerski
ddf8e01c1e
config: don't emit reloaded event before eventManager is created
2023-12-29 00:17:58 +01:00
vaxerski
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
Mihai Fufezan
cedf5f1fca
CI/Nix: fix build
2023-12-29 00:07:23 +02:00
vaxerski
9fba887cc9
socket2: emit configreloaded event
...
fixes #4285
2023-12-28 22:34:12 +01:00
vaxerski
4f3ee4c645
renderer: add decoration:blur:popups_ignorealpha
...
fixes #4282
2023-12-28 22:29:04 +01:00
MightyPlaza
5f65946c84
hyprctl: add decorations ( #4275 )
...
* add hyprctl decorations
modified: hyprctl/main.cpp
modified: src/debug/HyprCtl.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprBorderDecoration.hpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.hpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fixes
modified: hyprctl/main.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
2023-12-28 16:38:16 +01:00
vaxerski
6a93cee74e
pluginapi: manually detect endbr64 opcodes in function hooks
...
ref #4277
2023-12-28 13:36:09 +01:00
vaxerski
07132741bc
renderer: use 120 as the denominator in scale checks
2023-12-27 23:47:01 +01:00
Mihai Fufezan
e5eb11ad04
Nix: wrap with gcc
...
This ensures the function hook can assemble.
2023-12-27 20:27:55 +02:00
vaxerski
e75dafd8b2
pluginapi: better wording for plugin function hook errors
2023-12-27 19:27:15 +01:00
vaxerski
b7e8110a30
pluginapi: log assembler return
2023-12-27 19:23:06 +01:00
vaxerski
2702814a3f
opengl: add toggleable nvidia_anti_flicker
...
ref #4252
2023-12-27 19:17:07 +01:00
André Silva
f86cdcf8d5
nix: fix wlroots build
2023-12-27 14:29:15 +02:00
André Silva
85d375e8ab
flake.lock: update nixpkgs
2023-12-27 14:29:15 +02:00
MightyPlaza
6cd82d948f
input: don't steal mouseDown from LS ( #4260 )
...
modified: src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
MightyPlaza
1ecd173c7a
groupbar: remove extra border size from groupbars ( #4262 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-27 11:43:55 +01:00
Vaxry
7474c81958
pluginapi: Trampoline hooks %rip patching improvements ( #4256 )
...
---------
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-12-27 11:43:04 +01:00
Tuur Vanhoutte
191fa587f4
windowrules: add initialTitle and initialClass ( #4259 )
2023-12-26 23:47:46 +01:00
vaxerski
9fb50252d3
special: move floating windows along with the workspace
2023-12-26 19:44:38 +01:00
André Silva
bfb4d66c81
compositor: spawn environment setup with keybind manager ( #3722 )
2023-12-26 18:16:59 +01:00
dranull
34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area ( #4253 )
2023-12-26 17:24:31 +01:00
André Silva
2c2ff4b61b
hyprctl: check only ISDEBUG in version ( #3702 )
2023-12-26 14:14:12 +01:00
Mihai Fufezan
4f99e805b9
flake.lock: update
2023-12-25 19:27:25 +02:00
vaxerski
e2d04ae503
renderer: add option to blur popups
...
closes #2134
2023-12-25 18:07:07 +01:00
MightyPlaza
b25b06430b
groupbar: add egl context to refreshGroupBarGradients() ( #4238 )
...
* add egl context to refreshGroupBarGradients()
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* don't unsetEGL
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-24 19:29:04 +01:00
vaxerski
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
vaxerski
ff75f991a5
compositor: don't block focus if there is no keyboard
2023-12-24 13:20:31 +01:00
vaxerski
f013acc6ee
renderer: add occlusion for special workspaces
2023-12-23 22:41:42 +01:00
vaxerski
d5811283d2
xdgshell: bump to 6, send suspended states
2023-12-23 22:30:56 +01:00
dranull
5c7e23f86b
shadow: Avoid rounded shadows when rounding is 0 ( #4230 )
2023-12-23 20:40:07 +01:00
vaxerski
b9c1414f25
border: fix missed translate by offset
2023-12-23 16:11:26 +01:00
vaxerski
cc0516a9ae
windowrules: minor fixes to onworkspace
...
fixes #4227
2023-12-23 15:49:42 +01:00
vaxerski
6c8e0f9863
config: add debug:disable_scale_checks
...
ref #4225
2023-12-23 00:21:02 +01:00
vaxerski
6b6f3396cf
renderer: deny invalid scales and suggest a replacement
...
ref #4225 #3511
2023-12-23 00:09:55 +01:00
vaxerski
79ef29d6e0
renderer: apply scale to wlr after checks
...
ref #4225
2023-12-22 23:00:36 +01:00
vaxerski
c416880cf9
shadow: correctly scale boxes
2023-12-22 19:54:31 +01:00
vaxerski
37d2840246
renderer: reject non-clean scales, find nearest clean
2023-12-22 19:54:31 +01:00
thejch
7cec618fe4
master: add dispatchers rollnext and rollprev ( #4209 )
2023-12-22 12:37:38 +01:00
vaxerski
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
vaxerski
bc51a91043
crashreporter: don't explicitly set 777 on crash report directory
...
fixes #4218
2023-12-21 22:18:07 +01:00
vaxerski
698f3b6576
hyprpm: trim paths in PATH
...
fixes #4210
2023-12-21 22:01:55 +01:00
Ahmed Yasser
79f3888b4b
signal: fix invalid pointer access ( #4207 )
2023-12-20 23:54:52 +01:00
vaxerski
4eb42fab7b
windowrules: add onworkspace
...
cool
2023-12-20 23:52:18 +01:00
vaxerski
48ecb13b14
renderer: improve cursor hiding infra
...
ref #4197
2023-12-20 21:40:44 +01:00
vaxerski
a197fe3c11
renderer: don't set surfaces on cursor timeout
2023-12-20 17:59:11 +01:00
Junxuan Liao
53c78ab906
idle: notify idle on tablet inputs ( #4201 )
...
Fixes #4028 .
2023-12-20 17:53:54 +01:00
vaxerski
b4f4bd38e8
configmanager: set a limit to config variable substitutions
...
fixes #4198
2023-12-20 13:07:12 +01:00
vaxerski
d1b8a63a8e
input: allow setting cursor even if it's hidden
...
ref #4197
2023-12-20 13:00:35 +01:00
Husam Harazi
3771c49a94
filesystem: Set the sticky bit on /tmp/hypr ( #4199 )
...
To prevent unprivileged users from deleting other users' files.
2023-12-20 11:56:15 +00:00
vaxerski
d9b74ff96b
renderer: staticize local functions
2023-12-19 11:55:56 +00:00
Vaxry
ef445093f9
internal: convert uname fields to strings before logging
...
fixes #4188 , thanks @jbeich
2023-12-18 23:33:10 +00:00
Vaxry
11fd37418c
renderer: fix null cursor surface sets being ignored
...
oopsie from #4184
2023-12-18 22:06:50 +00:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
Vaxry
460a326c90
Revert "xdgshell: set predicted tiled windows to monitor res size pre-map"
...
This reverts commit 763d5fa05f .
Some issues and fixes #4185
2023-12-18 14:45:20 +00:00
Vaxry
403fd7d9f6
xwayland: move commit handler connect to associate
...
fixes #4179
2023-12-18 00:15:30 +00:00
Vaxry
763d5fa05f
xdgshell: set predicted tiled windows to monitor res size pre-map
...
Should improve #4022 although not exactly fix. Fixing would require more witchcraft
2023-12-17 20:09:34 +00:00
Vaxry
9fd928e114
internal: nuke CWindow::m_bMappedX11
...
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
Vaxry
bf7374011b
xwaylandmgr: allow resizes without a monitor
2023-12-17 19:58:11 +00:00
Vaxry
8c9f38e405
events: improve wl_surface::commit event tracking
2023-12-17 19:58:01 +00:00
Vaxry
c0d9dcc586
xwayland: set reported and pending size/pos on geometry sets
2023-12-17 14:53:59 +00:00
MightyPlaza
2a777cb71b
hyprctl: add commit date to "hyprctl version" ( #4171 )
...
* add commit date to "hyprctl version"
modified: scripts/generateVersion.sh
modified: src/debug/HyprCtl.cpp
modified: src/version.h.in
* Nix: add date to hyprctl
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-12-17 14:29:58 +00:00
dranull
9ca0c7d814
input: Activate resize_on_border only when key is pressed ( #4170 )
2023-12-16 20:47:58 +00:00
Vaxry
b1b8d732e6
toplevelexport: fix missed pmonitor set for opengl
...
ref #4165
2023-12-15 21:20:13 +00:00
Vaxry
4e5d9b90c0
toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
...
ref #4165
2023-12-15 21:04:34 +00:00
Vaxry
e1ed8e11ca
internal: import qt env to dbus
2023-12-15 20:59:13 +00:00
Vaxry
79d8d14fe0
config: add qt env to default config
2023-12-15 18:27:04 +00:00
Vaxry
395ab3ba37
xdg: use better min/max size checks for floating resizes
2023-12-15 15:38:20 +00:00
dranull
36fa33f7ca
input: Prevent crash with invalid keyboard layout ( #4157 )
2023-12-15 00:39:03 +00:00
Mihai Fufezan
f7cde9c92c
Nix: remove duplicate options from modules ( #4012 )
2023-12-14 20:02:20 +02:00
Vaxry
01e5c59d75
Revert "xwayland: push invisible windows outside layout"
...
This reverts commit accb3d8d0b .
Bad idea
2023-12-13 17:25:19 +00:00
Junxuan Liao
b2e5a80e2f
hyprpm: Link against tomlplusplus when using cmake ( #4145 )
...
This reduces the compilation time and is consistent with the meson version.
2023-12-13 14:15:03 +00:00
Mihai Fufezan
55cb565e6d
Nix: expose legacyRenderer package
2023-12-13 13:31:36 +02:00
Vaxry
4190b96718
hyprpm: add duplicate header error and log more verbose in install fails
2023-12-13 02:33:07 +00:00
Mihai Fufezan
d9bc210285
Nix: remove libdrm override
...
Nixpkgs update has the new version.
2023-12-12 23:34:22 +02:00
dranull
4de986072c
layout: Focus a floating window after closing the last tiled ( #4137 )
2023-12-12 16:44:31 +00:00
dranull
934112af5b
config: Use canonical instead of read_symlink ( #4136 )
2023-12-12 16:43:38 +00:00
Vaxry
ba2af6f86d
focus: prefer sendMotionEventsToFocused for ensuring cursor image
2023-12-12 14:58:43 +00:00
Vaxry
1950c3fc9c
input: unset resize cursor on empty focus
...
fixes #4133
2023-12-12 14:55:48 +00:00
Vaxry
8f38487884
xwayland: don't change workspace on configure for invisible windows
...
fixes #3578
2023-12-12 01:15:17 +00:00
Vaxry
accb3d8d0b
xwayland: push invisible windows outside layout
...
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
Vaxry
ea7569d7e0
config: improve layoutopt handling for workspacerules
2023-12-11 22:58:51 +00:00
François Conzelmann
e53134ca90
internal: fix interactions with fakefullscreen ( #4113 )
...
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
Vaxry
8191e635a3
deco-positioner: include sticky in sent geometry
2023-12-11 16:46:20 +00:00
Vaxry
0fdf909b19
renderer: don't render decorations on renderdata.decorate false
...
fixes #4117
2023-12-11 16:32:11 +00:00
Jan Beich
50648e6bae
hyprpm: cast std::clamp args to be of the same type ( #4116 )
...
hyprpm/src/progress/CProgressBar.cpp:50:27: error: no matching function for call to 'clamp'
const auto BARWIDTH = std::clamp(w.ws_col - m_szCurrentMessage.length() - 2, 0UL, 50UL);
^~~~~~~~~~
/usr/include/c++/v1/__algorithm/clamp.h:38:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('size_type' (aka 'unsigned int') vs. 'unsigned long')
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
^
/usr/include/c++/v1/__algorithm/clamp.h:27:1: note: candidate function template not viable: requires 4 arguments, but 3 were provided
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
^
2023-12-11 16:29:04 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
Vaxry
167f2ed3b2
border: fix failed assert on small windows
...
fixes #4115
2023-12-10 19:32:03 +00:00
Vaxry
d02ba422da
hyprpm: guard empty command
...
fixes #4114
2023-12-10 19:30:26 +00:00
François Conzelmann
359baa0214
ci: use composite action to minimize code duplication ( #4112 )
2023-12-10 19:26:25 +00:00
nmzik
efdf07e295
renderer: Allocate background texture only if required ( #4111 )
2023-12-10 16:53:08 +00:00
Mihai Fufezan
0c10b8ab2d
input: Add scroll_points option for device ( #4101 )
2023-12-10 16:30:08 +00:00
Vaxry
9f5b9053c6
internal: Remake borders as window decorations ( #4104 )
2023-12-10 16:28:12 +00:00
Vaxry
b3dc58e104
hyprpm: clone plugins recursively
2023-12-10 16:18:30 +00:00
Vaxry
af6aae4e12
renderer: don't use clipBox for pinned window occlusion during animations
...
ref #4094
2023-12-09 18:41:32 +00:00
Vaxry
0ebbf371ff
renderer: improve fullscreen workspace client rendering
...
fixes #4076
2023-12-09 18:38:32 +00:00
dranull
89d8f665b5
config: Avoid regenerating config if --config is used ( #4103 )
2023-12-09 18:27:30 +00:00
Vaxry
9132660768
functionHooks: fix incorrect protlen calcs
2023-12-09 16:16:46 +00:00
Vaxry
dd0714c22a
input: add relative_input for tablets
...
closes #2639
2023-12-09 04:07:28 +00:00
Vaxry
11d1c50420
windowrules: add focus param
2023-12-08 16:02:16 +00:00
Vaxry
288f1863f0
hyprctl: allow instances without HIS
2023-12-08 15:40:01 +00:00
thejch
6fb1b89b98
makefile: add rm hyprpm for uninstall ( #4086 )
2023-12-07 22:36:18 +00:00
dranull
004bf94a23
keybinds: Keep focus on special when switching workspaces ( #4084 )
2023-12-07 22:12:08 +00:00
Vaxry
aa020a2a1a
toplevel-export: commence render pass before reading
...
fixes #4070
2023-12-07 17:58:13 +00:00
Vaxry
d9175a0181
hyprpm: fix with system headers
...
fixes #4082
2023-12-07 17:22:02 +00:00
Vaxry
a794eecd6a
README: add note about hyprpm + clang-format
2023-12-07 10:46:12 +00:00
Vaxry
d360550546
hyprpm: Add hyprpm, a Hyprland Plugin Manager ( #4072 )
2023-12-07 10:41:09 +00:00
ddmetz
62a8d0be5c
keybinds: check for null last monitor in changeworkspace ( #4077 )
2023-12-07 00:09:25 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
Vaxry
5489f9f07a
renderer: use xray for background blur on small() surfaces
...
ref #4050
2023-12-06 20:17:40 +00:00
Vaxry
d74607e414
props: bump ver to 0.33.1
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2023-12-06 16:47:26 +00:00
Vaxry
c4bd91ec8a
makefile: only require version.h before installheaders
2023-12-06 15:31:23 +00:00
Vaxry
03c6f4506a
internal: various improvements to avoid crashes on exit
2023-12-06 14:46:29 +00:00
swwind
13b4c6de86
input: don't send mouse events on touch ( #4071 )
2023-12-06 14:30:40 +00:00
Tungsten842
8bd86cf37e
hyprctl: order commands alphabetically ( #4061 )
2023-12-05 23:39:57 +00:00
dranull
cfd94c5b30
input: Stop propagating axis events after valid binds ( #4059 )
2023-12-05 21:16:26 +00:00
Vaxry
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
Vaxry
37d7a8c64d
framebuffer: ignore addStencil on legacyRenderer
...
ref #4044
2023-12-05 15:41:17 +00:00
Vaxry
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
Vaxry
83248b6936
toplevelexport: fix getPreferredReadFormat param in captureToplevel
...
fixes #4043
2023-12-05 14:43:54 +00:00
Vaxry
3bb9c7c5cf
props: bump ver to 0.33.0
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2023-12-05 00:52:16 +00:00
Vaxry
2d04cb1cc6
input: make fallback layout us
2023-12-05 00:48:39 +00:00
Vaxry
c6804ccaab
opengl: fixup blur dirty repaint conditions with solitary
...
fixes #4025
2023-12-05 00:43:09 +00:00
Glizda
aa46aaed04
config: Add variables to default config ( #4032 )
...
* update default config
* Fix inconsistency in variable naming
* continuation of last commit
* edited example/hyprland.conf for parity
* fix issue
* deleted unwanted newline
2023-12-04 18:47:58 +00:00
Vaxry
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
Vaxry
5d100bdcbb
opengl: clear layer fade fbs in ~dtor
2023-12-04 02:08:34 +00:00
Vaxry
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +00:00
dranull
9a9528d093
config: Minor --config improvements, fixes ( #4034 )
...
* Follow symlink, only file, absolute path for -c
* Create config file only for default paths
* Skip non-file source= glob results
* Check for absolute path on XDG_CONFIG_HOME
As per spec, all non-absolute paths should be ignored.
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2023-12-04 01:35:24 +00:00
Vaxry
e496b0f250
screencopy: fix detecting gl shm formats
...
ref #4029
2023-12-03 22:04:07 +00:00
Vaxry
dc2082b00a
screencopy: fix transformed on shm
2023-12-03 19:06:51 +00:00
dranull
59cb0e20de
input: Handle fullscreen windows in vectorToWindowIdeal ( #4021 )
2023-12-03 12:53:12 +00:00
Vaxry
80b9b21f9f
opengl: fix nvidia read formats
...
fixes #4023
2023-12-02 14:51:45 +00:00
thejch
758cf90ea1
workspacerules: Add workspace rule for master layout orientation ( #3964 )
...
* add workspace rule for master layout orientation
* change rule format
* edit rule name
* use map for layoutopts
* use std::any instead of string
2023-12-02 14:42:49 +00:00
Vaxry
6e8b9ef7d8
opengl: fix swapped rgb drm formats
2023-12-01 17:23:50 +00:00
Vaxry
9c09f2a847
screencopy: fix shm exports with 10-bit
...
fixes #4019
2023-12-01 17:20:56 +00:00
Wren Baxter
8440a30231
input: fix overzealous mouse capture on resize_on_border ( #4010 )
...
fixes #2456
2023-12-01 01:12:08 +00:00
Vaxry
ab40f240c3
screencopy: use drmFormat instead of wlr funcs
...
ref #4014
2023-12-01 00:23:48 +00:00
vaxerski
b394c1695c
[gha] Nix: update wlroots
2023-11-30 18:53:34 +00:00
Vaxry
0a4c4da5f0
deps: update wlroots
2023-11-30 18:52:49 +00:00
Vaxry
b2f3623131
events: add keyPress and mouseAxis
...
fixes #4011 fixes #4008
2023-11-30 18:45:12 +00:00
François Conzelmann
5513eed64d
managers: fix debug log using printf format ( #4007 )
...
Some debug messages where using printf format style to print variable
content instead of std::format format.
2023-11-30 15:20:08 +00:00
André Silva
29970228c5
nix: override libdrm to use newer version ( #4003 )
2023-11-30 11:40:14 +00:00
vaxerski
12ec549a18
screencopy: fix shm sharing if introspection required
2023-11-30 11:07:17 +00:00
Vaxry
9f2027be4b
opengl: don't make a mirror buffer on fakeFrame
2023-11-30 10:15:02 +00:00
Vaxry
b9937484f4
screencopy: fix broken shm copying
...
fixes #4001
2023-11-30 10:14:35 +00:00
Vaxry
776f944619
opengl: fix missed makeEGLCurrent
...
fixes #3998
2023-11-30 02:19:27 +00:00
François Conzelmann
1fc1e4e9cb
monitor: remove comma from monitor description ( #3996 )
...
this allows for monitor specific rules to work on monitor with comma on
their description
fixes #2457
2023-11-30 01:48:10 +00:00
vaxerski
e1258707ad
[gha] Nix: update wlroots
2023-11-30 01:19:51 +00:00
Vaxry
d2c3b23ace
deps: update wlroots
2023-11-30 01:18:55 +00:00
Vaxry
b80c72c7dd
groupbar: fix crash in renderGradientTo
...
fixes #3985
2023-11-29 13:36:37 +00:00
Vaxry
3caaa483d4
configmgr: fix parsing of touchdevice groups
...
fixes #3992
2023-11-29 03:39:45 +00:00
Vaxry
e2f18f8c7f
groupbar: more safety around gradient textures
2023-11-28 19:03:02 +00:00
Vaxry
99ca26d4eb
hooksystem: fix missed log include
2023-11-26 18:33:53 +00:00
Vaxry
e416ab740d
config: log info about logs before loading vars
2023-11-26 18:02:33 +00:00
MightyPlaza
7a0a5666d5
groupbar: allow reload and fix locked groupbar gradient ( #3546 )
...
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
2023-11-26 17:59:49 +00:00
Vaxry
1778fb77e2
functionhooks: throw an exception on unsupported %rip usage
...
ref #2479 , now will actually tell you what's wrong instead of crashing
2023-11-26 17:53:51 +00:00
Vaxry
adeb20ea11
opengl: tiled special require introspection
2023-11-26 16:42:04 +00:00
Vaxry
68e57b7ee3
renderer: proper full occlusion checks for back layer
2023-11-26 15:24:24 +00:00
Vaxry
408d96668d
renderer: use occlusion checks for buffer clear
2023-11-26 15:06:42 +00:00
Vaxry
75e5799310
layer-shell: simulate mouse movement on unmap
2023-11-26 14:54:34 +00:00
Vaxry
9e2b939024
surface: avoid infinite pointer image resets
...
fixes #3729 , should also #3968
2023-11-26 14:53:22 +00:00
Vaxry
cd96ceecc5
build: remove nv patches ( #3957 )
2023-11-26 02:58:57 +00:00
Vaxry
ad3f688648
opengl: check for introspection on special_blur
2023-11-25 19:44:34 +00:00
vaxerski
98c7ba4782
[gha] Nix: update wlroots
2023-11-25 19:25:44 +00:00
Vaxry
a5f64b48ca
deps: downgrade wlroots to fix crashes
2023-11-25 19:24:59 +00:00
Vaxry
b281d8647a
screencopy: use new isNvidia() for format
2023-11-25 17:56:38 +00:00
Vaxry
15b282ee0c
opengl: fix window introspection check
2023-11-25 17:46:50 +00:00
Vaxry
6f733292bf
renderer: nvidia checks and use glFinish on nvidia
...
fixes #3952 #3946
2023-11-25 17:45:08 +00:00
Vaxry
3fe6162af1
opengl: fix xray modes in introspection checks for ls
...
fixes #3953
2023-11-25 14:52:52 +00:00
Jibin George
2ce4b94a22
input: Fix custom acceleration profile config ( #3948 )
2023-11-25 14:39:21 +00:00
coldified
de95e956a0
meson: Update wlroots-meson-build.patch ( #3950 )
2023-11-25 14:32:01 +00:00
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +00:00
Vaxry
512a59731b
config: default special_scale_factor to 1
2023-11-25 01:45:04 +00:00
Vaxry
a6eba91935
opengl: require introspection on mirroring
...
fixes #3939
2023-11-25 00:48:02 +00:00
Xavier
745b998587
renderer: Adding an option to disable first launch animation ( #3933 )
2023-11-24 21:45:59 +00:00
Vaxry
1a2a2da6aa
renderer: fixup cursor scaling
...
fixes #3935
2023-11-24 21:30:28 +00:00
Vaxry
822775aa8c
renderer: Fixup double rendering cases with special ( #3928 )
...
* fixup
* better fullscreen
2023-11-24 21:18:50 +00:00
Vaxry
d79cf0afe2
renderer: fix software cursors on nvidia
...
fixes #3926
2023-11-24 13:47:36 +00:00
Vaxry
334d0ae31b
monitor: fix transform matrix calculations for transformed
...
fixes #3929
2023-11-24 13:45:10 +00:00
Vaxry
be3d635265
makefile: update wlroots sover
2023-11-24 13:08:58 +00:00
André Silva
f9ba5a0551
flake.lock: update nixpkgs and xdph
2023-11-24 15:06:35 +02:00
thejch
258c83f3bb
exec: remove redundant environment variables from spawn ( #3923 )
2023-11-24 12:42:20 +00:00
vaxerski
aedcade68d
opengl: better checking for required introspection
...
performance woo
2023-11-24 12:37:10 +00:00
vaxerski
802ab58f8a
renderer: fix inverseOpaque calcs in renderWithBlur
2023-11-24 12:32:35 +00:00
Vaxry
af5d06593f
cmakelists: fix old wlroots sover
2023-11-24 10:59:02 +00:00
Vaxry
2ebfd0c745
renderer: Move to a full Hyprland GL rendering pipeline ( #3920 )
...
Also updates wlroots
2023-11-24 10:54:21 +00:00
vaxerski
e40e486f61
renderer: better checks for special rendering in renderWorkspaceWindows
...
ref #3916 #3888
2023-11-23 11:31:52 +00:00
Vaxry
e55c5a916a
renderer: make sure lastWindow has correct ws in renderWorkspaceWindows
...
fixes #3916 fixes #3888
2023-11-22 23:43:46 +00:00
Vaxry
45ebe0df8f
config: fix red warn in default config
...
fixes #3917
2023-11-22 23:38:14 +00:00
Vaxry
812a3f6d78
renderer: fix double render of tiled on workspace switch
...
fixes #3889
2023-11-22 20:05:50 +00:00
Vaxry
44accacff9
config: add nomaximizerequest all to default cfg
2023-11-22 19:50:37 +00:00
Ngô Huy
d417370bb7
makefile: Add CXXFLAGS to hyprlctl's Makefile ( #3913 )
2023-11-22 11:02:36 +00:00
zakk4223
4729265284
hyprctl: Add 'layouts' command ( #3895 )
...
* Add hyprctl 'layouts' command
formatting
* Add getAllLayoutNames(), move m_vLayouts back to private
Formatting
* clang-format
2023-11-21 18:43:38 +00:00
thejch
572fd554b8
renderer: Fix floating clipbox ( #3907 )
...
* fix floating decoration clipbox scale
* use vecTransformedSize
* use workspace offset
2023-11-21 00:34:34 +00:00
thejch
7d1c8d827a
shadow: add workspace offset to floating window shadow ( #3906 )
2023-11-20 22:34:28 +00:00
thejch
6d26199e1c
renderer: fix floating window rendering when scale > 1 ( #3901 )
2023-11-20 12:13:09 +00:00
end-4
646f4bc638
general: add workspace gaps ( #3877 )
...
* anims: workspace gap
* anims: ws gaps: on swipe end
* anims: ws gaps: add missing parentheses
* format
* refractor
* Update Swipe.cpp
* format
* fix swipe to right
* ws gaps: move animations:workspace_gap to general:gaps_workspace
* ws gaps: general:gaps_workspace -> general:gaps_workspaces
2023-11-19 12:33:26 +00:00
MightyPlaza
7e0c90b92c
groupbar: fix text pos with verical offset ( #3893 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-11-19 12:29:26 +00:00
MightyPlaza
add23a9ba2
group: fix dragging into floating groups ( #3719 )
...
* allow dragging into floating groups
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* floating-only
modified: src/layout/IHyprLayout.cpp
2023-11-19 12:29:01 +00:00
Dickby
3d89654254
vector: New operator overloads and small fix in Vector2D. ( #3891 )
2023-11-18 21:37:16 +00:00
Dickby
6ad5f26cfe
layout: Don't update pseudoSize after window moved by mouse. ( #3873 )
2023-11-18 19:59:12 +00:00
Vaxry
89f6457a99
renderer: avoid rendering floating windows twice with special
...
fixes #3887
2023-11-18 19:53:45 +00:00
Vaxry
8b57a1973e
internal: Allow floating windows on special ( #3872 )
...
* allow floating on special
* fix mistake
* fix clipbox
2023-11-18 17:00:24 +00:00
Vaxry
483302a2cd
env: add HYPRLAND_NO_RT
2023-11-17 23:29:30 +00:00
Vaxry
a903dba858
cmake: include tracy cpp if set
2023-11-17 23:26:54 +00:00
Vaxry
395985f815
pluginmgr: fix double use of dlerror()
2023-11-17 22:24:52 +00:00
Vaxry
51282f964f
plugins: make logging on error more verbose
...
ref #3874
2023-11-17 22:22:31 +00:00
TheAngusMcFire
db8f13291a
hyprctl: add monitors all to report all connected monitors ( #3730 )
...
---------
Co-authored-by: Christian Rieger <christian.rieger@student.tugraz.at>
2023-11-17 16:01:21 +00:00
André Silva
30ad71ff36
nix: add libGL to build inputs
2023-11-17 17:36:18 +02:00
Vaxry
84bc0a73f6
compositor: drop unused vectorToWindow func
2023-11-17 15:30:04 +00:00
Dickby
1d9bfa60a1
opengl: Don't use wrong shader just because it's GLES ( #3867 )
2023-11-16 21:03:17 +00:00
Vaxry
a34e192433
renderer: clip floating boxes on slide anim
...
fixes #3514
2023-11-16 20:20:41 +00:00
Vaxry
4868d4dfd3
shadow: avoid fatal mutation of the windowBox for calcs
...
fixes #3865
2023-11-16 17:31:52 +00:00
vaxerski
859841f4d1
renderer: don't make snapshots of invisible windows on close
2023-11-16 12:24:07 +00:00
vaxerski
28ef18a921
shadow: avoid using glClear and don't draw behind window if ignore_window
...
fixes #3860
2023-11-16 11:42:53 +00:00
Dickby
91d6be1f09
groupbar: Fix position of groupbar titles on monitor scales != 1.0 ( #3856 )
2023-11-15 20:32:44 +00:00
thejch
9e3dccca76
keybinds: Close special workspace after moving windows out of it ( #3649 )
...
* use old monitor
* use pMonitor for for special workspace
2023-11-15 12:32:02 +00:00
Vaxry
81598b3dbd
README: update showcase
2023-11-14 20:08:00 +00:00
Vaxry
e195e51c1b
logging: move to an internal rolling log buffer
...
disables logging to the logfile by default
2023-11-14 20:06:04 +00:00
Vaxry
e8469f8b1b
renderer: drop unnecessary spammy logs
2023-11-14 19:51:47 +00:00
Vaxry
49597688e9
windowrules: make idleinhibit dynamic
2023-11-14 15:46:57 +00:00
Vaxry
5edb4e4a30
decorations: recalc layout and positioner on add/remove
2023-11-13 16:42:58 +00:00
Ching Pei Yang
4d6fa6ed0c
pluginapi: add touch event hooks ( #3836 )
2023-11-13 16:32:12 +00:00
Vaxry
016a7a9c9b
hyprctl: use a rolling buffer for reading requests
...
fixes #3846
2023-11-13 16:30:37 +00:00
Vaxry
2e26542e3b
renderer: use viewporter corrected size for uv calcs
2023-11-12 23:57:53 +00:00
Vaxry
68935ba9dc
renderer: separate oversize uv calcs in dimensions
2023-11-12 23:27:52 +00:00
Vaxry
ba5bc5871f
subsurfaces: damage window on subsurface size change
2023-11-12 23:06:31 +00:00
Vaxry
824ccd957b
renderer: pass proper arg to main param of uv calcs
...
was fucking up some non-fitting subsurfaces
2023-11-12 22:59:19 +00:00
Vaxry
45e86d4fdf
groupbar: translate box by workspace offset
2023-11-12 22:40:21 +00:00
Vaxry
0ba2e68704
deco-positioner: don't remove hidden windows' data
2023-11-12 17:02:42 +00:00
Dickby
e974d1fe98
shaders: Some more changes in rgb2hsl. ( #3834 )
2023-11-12 16:20:23 +00:00
Vaxry
47d46aa56c
inputmgr: clean lists in ~dtor
...
ref #3558
2023-11-12 14:03:46 +00:00
Vaxry
65efde32c9
internal: make getPlusMinusKeywordResult return optional
2023-11-12 13:40:02 +00:00
Vaxry
69e314207d
internal: replace INT_MAX with WORKSPACE_INVALID
2023-11-12 13:34:54 +00:00
Alessio Molinari
1bfd4a2bff
output-layout: fix wlroots display handling ( #3718 )
2023-11-12 13:14:05 +00:00
Vaxry
91cbe93cf8
decoration: add NON_SOLID flag for shadow
...
fixes #3841
2023-11-12 13:01:23 +00:00
Vaxry
9afdd61ade
props: bump ver to 0.32.3
Build Hyprland / Build Hyprland (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland with Meson (Arch) (push) Has been cancelled
Build Hyprland / Build Hyprland in pure Wayland (Arch) (push) Has been cancelled
Nix / wlroots (push) Has been cancelled
Security Checks / Flawfinder Checks (push) Has been cancelled
Security Checks / CodeQL (push) Has been cancelled
Nix / build (push) Has been cancelled
2023-11-11 18:14:46 +00:00
Vaxry
f39a6ca17c
decoration-positioner: improve stability
2023-11-11 18:07:56 +00:00