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
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
bc299928ad
output/xdg-output: avoid sending events to released globals
...
ref #6835
2024-10-09 00:26:40 +01:00
ac658500fb
keyboard: update group state on change for the sym resolve state
...
fixes #8038
2024-10-08 23:33:10 +01:00
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
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
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
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
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
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
4e41cda27e
security-context: close client fds after disconnect
2024-10-06 15:08:26 +01:00
da86aac0f5
security-context: implement protocol
...
fixes #7318
2024-10-06 14:07:07 +01:00
0ec6072a29
single-pixel: set buffer size to 1,1
2024-10-05 16:36:57 +01:00
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
52c0919621
monitor: arrange monitors on connect and disconnect
2024-10-05 14:41:44 +01:00
6fbfeefc71
protocolmgr: don't expose the fallback output
2024-10-05 14:40:03 +01:00
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
a815b14bf1
monitor: cleanup and modernize scheduleDone
2024-10-05 01:01:21 +01:00
3a5052a714
compositor: update all xdg outputs on arrange
2024-10-05 01:01:21 +01:00
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
5c6c300abf
wayland/output: send geometry in updateState
2024-09-30 17:42:36 +01:00
6bd3397141
wlr-output-management: accept 0 refresh rates
...
fixes #7879
2024-09-30 17:40:38 +01:00
68fd32c810
byteoperations: add missing header
2024-09-30 17:27:10 +01:00
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
488efab636
single-pixel-buffer: new protocol impl
...
fixes #6624
2024-09-30 00:58:16 +01: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
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
e20aef7d53
opengl: remove debug log
2024-09-26 22:34:33 +01:00
f75f8efb1b
Meson: add tracy dependency
2024-09-27 00:07:52 +03:00
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
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
22746b3046
hyprctl: use the getMonitorData helper everywhere
2024-09-25 23:38:11 +01:00
49713fab04
pointermgr: avoid hogging CMonitor refs
2024-09-25 23:15:41 +01:00
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
8f5188269b
hyprctl: add solitary field to hyprctl monitors
2024-09-25 09:59:18 +01:00
00c8626863
hyprctl: add submap request
...
fixes #7898
2024-09-24 11:25:05 +01:00
0a211f29f5
hyprctl: add defaultName to workspacerules
...
fixes #7886
2024-09-24 01:19:05 +01:00
d279d7c4c6
eventloop: dispatch pending in session on start
...
fixes #7855 #7391
2024-09-24 00:49:29 +01:00
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
9232bc2c00
internal: move to hyprutils' scopeguard
...
bumps hyprutils dep to 0.2.2
2024-09-21 00:37:17 +01:00
db0b764a5a
shm: send a static list of shm formats
...
fixes #7733
2024-09-20 22:56:15 +01:00
Jasson
4414cd07e2
xwm: Minor cleanup, add wrappers for basic types ( #7856 )
2024-09-20 12:32:04 +01:00
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
dfa1bd0cd4
Meson: pass AQUAMARINE_VERSION argument
2024-09-19 13:48:31 +00:00
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
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
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
581f6659f8
data-device: conform to reported source actions
...
fixes #7815
2024-09-17 12:55:48 +01:00
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
4dbdb556fe
data-device: don't send default action of move
...
gtk doesn't like it?
2024-09-14 23:36:06 +01:00
5ee4b19691
data-device: send clock time in motion events
...
remove hack
2024-09-14 23:35:45 +01: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
e01da1fd7a
Meson: format
2024-09-11 19:09:17 +03:00
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
Maximilian Seidler
8237d7e1a4
input: move dmps activation to input listeners ( #7721 )
2024-09-09 21:29:00 +01:00
darkwater
04421063af
config: add order rule for layers ( #7697 )
2024-09-09 10:10:08 +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
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
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
9b54342baa
Revert "syncobj: wait for deadline instead of available"
...
This reverts commit cf6a1716ae
.
Fixes #7628
2024-09-03 14:47:34 +02: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
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
cf6a1716ae
syncobj: wait for deadline instead of available
...
avoids slow apps from lagging the desktop
2024-08-31 18:33:04 +02:00
Ikalco
838ed87d6f
renderer: minor direct scanout fixes ( #7594 )
2024-08-31 15:07:52 +02:00
Vaxry
c5fd577181
config: Add a window rule to render while unfocused ( #7582 )
2024-08-30 17:37:52 +02:00
fbd6354393
presentation-feedback: minor fixups
2024-08-30 15:53:45 +02:00
fd8d8e122e
keybinds: fixup misused kb state
...
fixes #7369
2024-08-30 15:53:45 +02:00
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
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
Vaxry
604eb21a7e
renderer: better lockscreen dead behavior ( #7574 )
...
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-08-29 23:30:12 +02:00
b9b8e6220f
renderer: fade out windows on silent moves
2024-08-28 21:54:49 +02:00
a95df6b57e
xwm: don't mark selection events as succeeded
...
fixes #7401
2024-08-28 20:37:07 +02:00
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
d105c7403c
hyprctl: add next and all to switchxkblayout
...
fixes #7555
2024-08-28 14:05:31 +02:00
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
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
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
Ikalco
66586c38f5
keybinds: refactor dispatchers to be better ( #7331 )
2024-08-24 18:45:53 +02:00
82c67e61a9
config: fix uninitialized values with mode parsing
2024-08-24 15:24:55 +02:00
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
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
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
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
c86db7bbb0
monitor: avoid dangling references to old monitors being undestroyed
...
ref #7414
2024-08-19 18:44:22 +02:00
272d904870
monitors: avoid crash on wayland output removal
2024-08-19 18:36:14 +02: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
f4045ab8d0
screencopy: fix 10b format r/b flip
2024-08-18 22:57:21 +02:00
fa12efdd2a
protocol: fix logm template checks
2024-08-18 22:54:47 +02:00
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
50348a3ddb
renderer: pass custom modelines to aq
...
ref #7390
2024-08-18 20:19:13 +02:00
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
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
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
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
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
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
2d552fbaa2
renderer: fixup nvidia driver version checks
2024-08-07 18:54:45 +02:00
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
99e9cb5107
drm-syncobj: fixup fd leak with timelines
2024-08-07 16:08:50 +02:00
f36c625e37
compositor: minor cleanups for fading out layers
2024-08-07 13:35:02 +02:00
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
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
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
5dd2c27b63
CMake, Meson: install config and wallpapers to DATADIR/hypr
...
OpenGL: get wallpapers dir from DATAROOTDIR
2024-08-04 15:19:37 +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
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
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
09bb5658b7
window/ls: reset core signals after destroy
...
fixes #7137
2024-08-02 00:31:44 +02:00
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
60571cd5cc
border: fixup infinite recursion
...
ref #7127
2024-08-01 12:36:15 +02:00
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
cc7c117fe7
output: minor tearing fixes
2024-07-30 15:50:14 +02:00
1c221240d0
output: submit damage to kms
2024-07-30 15:46:41 +02:00
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
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
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
23a8f06594
virtualptr: allow binding to output
2024-07-29 16:27:09 +02:00
70468857da
egl: attempt a 3.2 egl context first
2024-07-29 14:27:05 +02:00
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
a9d87bd666
surface: emit unmap before unmapping and releasing the buffers
2024-07-28 23:56:35 +02:00
7df9b01d48
core: emit unmap event after unmap in surface destroy
2024-07-28 23:47:17 +02:00
256db08aed
layersurface: null check for surface validity before unmap()
2024-07-28 23:41:41 +02:00
73d09953e8
core/surface: drop map/unmap events in member funcs
...
causes loops
2024-07-28 23:41:41 +02: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