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
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
1423707dbe
output: remove wl_output globals for mirrored displays
...
ref #6387
2024-06-10 00:06:42 +02:00
722b846ac5
egl: assume implicit modifiers are available for old drivers
...
fixes #6367
2024-06-09 21:10:46 +02:00
4168b8c17b
seat: fix pointer frame events not being sent correctly
...
fixes #6384
2024-06-09 17:23:28 +02:00
Mykola Perehudov
bf75723f27
helpers: fix misuse of syscalls in sd namespace ( #6379 )
2024-06-09 09:43:39 +02:00
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
3fb079a2a3
renderer: allow custom uv for surface no-blur passes
2024-06-08 16:16:43 +02:00
211353dc34
core: verify surface roles on creation of objects
2024-06-08 12:03:47 +02:00
10e02076b1
wayland: fix invalid wl_output_mode dimensions sent
2024-06-08 11:50:44 +02:00
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
c31d9ef417
xdg_shell: fix nested xdg_positioner calculations
...
ref #6240
2024-06-07 20:24:09 +02:00
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
9bc00897fc
xdg_shell: improve xdg_positioner slide behavior
...
ref #6240
2024-06-07 19:46:51 +02:00
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
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
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
5517cc506b
xwayland: don't destroy server client
...
this potentially leaks, but avoids a UAF
ref #6323
2024-06-03 21:13:38 +02:00
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
b30c7125d7
window: avoid nullptr deref on monitor in box helpers
...
fixes #6321
2024-06-03 21:09:18 +02:00
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
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
obivan
df6ebe358b
pointer: Include monitor scaling in HW hotspot calculation ( #6283 )
2024-05-31 12:38:52 +02:00
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
90f262aada
pointer: remove dividing hotspot by scale
...
fixes #6117
2024-05-25 20:43:38 +02:00
Can
ce17961aad
keybinds: Added new dispatcher (sendshortcut) ( #6174 )
2024-05-24 20:58:26 +02:00
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
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
62401d5b3f
screencopy: use a simple renderer for frame passing
2024-05-23 00:42:16 +02:00
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
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
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
2ead1fd221
virtual-keyboard: emit event before finishing keyboard
...
ref #6123
2024-05-17 20:07:33 +01:00
49485ba36a
pointer: damage in software mode on cursor image changes
...
fixes #6126
2024-05-17 20:04:17 +01:00
fe23d2b639
window: verify suppress flags in onUpdateState
...
ref #6108
2024-05-17 19:54:05 +01:00
9518cec833
popup: clip input region to surface size
...
fixes #6125
2024-05-17 19:43:56 +01:00
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
f21b6fe576
tablet: avoid null deref on an empty cursor set
...
fixes#6116
2024-05-17 14:51:06 +01:00
abbe71d26d
pointer: don't update hw cursors on disabled displays
2024-05-16 19:34:36 +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
de9798fcf9
configmgr: shadow exec rules when window is unmapped
...
fixes #6091
2024-05-16 00:55:55 +01:00
7e8c0b7f30
seat: send axis_stop events after axis events
...
fixes #6090
2024-05-15 23:13:51 +01:00
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
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
3381e2b55b
datadevice: guard surface in dnd for null
...
fixes #6076
2024-05-15 16:26:02 +01:00
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
94c20a1863
primary-selection: move to hyprland impl
2024-05-14 23:13:35 +01:00
eed1361f39
wlr-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
fc72df8e58
seatmgr: Add a grab class
2024-05-14 23:13:33 +01:00
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
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
ba69652193
window: set sane default pseudo size
2024-05-13 22:21:06 +01: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
fd35b35000
keybinds: fix pass
...
reverts #5967
fixes #6022
2024-05-12 16:01:01 +01: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
8562d38477
screencopy: don't spam sw cursor locks
2024-05-11 22:10:42 +01:00
494b9415a1
layersurface: avoid restack on identical layers
...
ref #6014
2024-05-11 18:31:50 +01:00
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
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
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
2549f0cc97
layersurface: reset popuphead after unmap
...
fixes #5980
2024-05-10 12:03:38 +01:00
3374229118
core: remove unused includes and fix warn
2024-05-10 03:20:26 +01:00
2ba6bb69c4
popups: fix breadthfirst and at
...
fixes #5977
2024-05-10 02:38:56 +01:00
db30ff63e6
popups: avoid infinite recursion in bf
2024-05-10 02:38:56 +01:00
a7e23d2f1e
presentation-time: move to new impl
2024-05-10 02:38:54 +01:00
1753059b07
pointermgr: reset entered outputs when resetting surface
...
fixes #5970
2024-05-09 23:08:40 +01:00
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
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
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
fe4737fb9d
pointer: don't calculate hw hotspot for missing hw cursors
...
ref #5964
2024-05-09 19:17:04 +01:00
d7aed240db
text-input-v3: atomically enable/disable on commit
2024-05-09 14:27:48 +01:00
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
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
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
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
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
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
22a86fd7a2
session-lock: don't allow events from rejected locks
...
fixes #5913
2024-05-07 18:43:00 +01:00
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
ec092bd601
core: chase hyprwayland-scanner
2024-05-07 14:28:26 +01:00
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
96365309de
deco-positioner: avoid infinite recalcs
...
fixes #5908
2024-05-07 11:53:29 +01:00
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
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
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
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
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 090358d0d1
.
* 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
62eadad20f
kde-server-decoration: move to new impl
2024-05-05 02:00:55 +01:00
0b215c5f24
idle-inhibit: fix and cleanup visibility logic
...
fixes #5878
2024-05-04 23:46:10 +01:00
a3309b51a2
shadow: fix small pixel gaps between border
...
huge fix
2024-05-04 20:30:03 +01:00
c77b60c910
keyboard: prevent UAF in destroy events
2024-05-04 16:37:26 +01:00
c951c4f8a1
keyboard: check for wlr() validity before accessing
...
fixes #5873
2024-05-04 16:10:32 +01:00
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
a3b4923c42
input: ignore destroyed devices in static events
...
fixes #5863
2024-05-04 00:48:25 +01:00
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
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
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
2755297670
virtual-pointer: move to new impl
2024-05-03 01:52:05 +01:00
7d49819b5e
virtual-keyboard: destroy on vdestroy event
2024-05-03 00:54:32 +01:00
6aa2d123ae
virtual-keyboard: move to new impl
2024-05-03 00:31:48 +01:00
a3ca016d42
cursor-shape: use - instead of _ in shapes
...
ref #5824
2024-05-02 16:21:33 +01:00
eeb78ef965
fractional: set scale before configure
...
fixes #5842
2024-05-02 15:13:47 +01:00
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
56de72f357
internal: store matched windowrules and emit event
...
new event for plugins, windowUpdateRules
2024-05-02 02:18:01 +01:00
0237e39f74
protocols: utilize hyprwayland-scanner 0.3.3 functions
...
stuff like ::version(), ::client(), ::error() etc
2024-05-01 19:40:35 +01:00
8bcccf9f0f
ime-v2: move to new impl
2024-05-01 16:41:17 +01:00
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
ed58cc4c31
sessionLock: remove m_pLastFocus on destroy of surface
...
fixes #5822
2024-05-01 02:33:36 +01:00
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
a09103cd38
sessionLock: set locked after emitting event
...
ref #5816
2024-04-30 21:20:06 +01:00
dbb8b294d6
sessionLock: fix incorrect protocol error raised
...
fixes #5816
2024-04-30 20:02:30 +01:00
1f6657f037
keybinds: check for special workspace equality before switching
...
fixes #5814
2024-04-30 16:42:31 +01:00
90e1411315
session-lock: move to new impl
2024-04-30 16:34:09 +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
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
5e6f7b1cdb
cursor-shape: allow duplicate devices per pointer resource
...
fixes #5798
2024-04-30 00:05:29 +01:00
f2b03e9679
ext-idle-notify: move to new impl
2024-04-29 17:50:07 +01:00
86133983a9
xdg-activation: move to new impl
2024-04-29 16:43:24 +01:00
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
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
95a5e75c26
hooksystem: check for existing random outdir
2024-04-28 21:20:10 +01:00
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
b164e67d8b
core: prefer mkdir over create_directory and permissions
2024-04-28 18:58:31 +01:00
28c8561924
hooksystem: use a random 700 directory for assembler
2024-04-28 18:28:19 +01:00
82a6fba6ec
tokenmgr: separate getRandomUUID from registerNewToken
2024-04-28 18:17:48 +01:00
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
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
25aec3ac8c
pointer-constraints: move to new impl
2024-04-27 03:17:04 +01:00
f94264928a
swipe: fix crashes with invalid distance
...
fixes #5758
2024-04-26 19:11:28 +01:00
d9ec2785cb
wlr-foreign-toplevel: send done after property changes
...
fixes #5753
2024-04-26 13:14:50 +01:00
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
0652a20bd3
events: set window initial* before searching for rules
2024-04-25 16:57:11 +01:00
9fc3cb5629
foreign-toplevel: fix bad_any_cast in moveWindow
...
fixes #5740
2024-04-25 16:35:09 +01:00
01df3b73d8
shortcuts-inhibitor: move to new impl
2024-04-25 14:32:35 +01:00
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
3878f806ff
pointer-gestures: move to new impl
2024-04-24 21:36:56 +01:00
d86eec332f
idle-inhibit: don't destroy inhibitor on surface destroy
...
fixes #5731
2024-04-24 19:15:01 +01:00
4540d8ccd5
style: fix clang-format
2024-04-24 16:45:54 +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
8aecd4f253
cursormgr: fix misscaled cursors on fractional
2024-04-24 16:18:38 +01:00
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
e5fa0007a5
foreign: fix no-pch builds
2024-04-24 16:03:56 +01:00
0d1bb65c75
ext-foreign-toplevel: add implementation
2024-04-24 15:48:06 +01:00
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
d119513749
renderer: fix safety around sendFrameEventsToWorkspace
...
ref #5718
2024-04-23 21:15:37 +01:00
bb4646bbdf
compositor: properly update workspace in moveWindowToWorkspaceSafe
...
fixes #5714
2024-04-23 16:38:12 +01:00
a2366f78f0
renderer: send frame events to apps on empty damage renders
...
fixes #5711
2024-04-23 16:08:54 +01:00
cf3596a96d
renderer: avoid rendering frame if finalDamage is empty
2024-04-23 12:29:01 +01:00
4f1214c7e9
windows: don't force workspace change on same tracked workspace
2024-04-23 11:37:20 +01:00
5fdd0bceac
Meson & Nix: add libuuid dep
2024-04-23 07:01:20 +03: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
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
7778f01194
managers: Add a TokenManager
2024-04-23 01:28:27 +01:00
PostCyberPunk
855a516596
core: add libinput backend support for headless session ( #5699 )
2024-04-22 18:48:18 +01:00
012a2802e0
Protocols: implement protoLog
2024-04-22 18:44:25 +01:00
741c75d907
gamma-control: move to new impl
2024-04-22 18:21:03 +01:00
dafc9ed4eb
pluginsystem: fix unhooking on exit
2024-04-22 15:57:03 +01:00
e91513a5e8
pluginapi: unregister callbacks on lost ptrs
2024-04-22 15:50:23 +01:00
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
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
f587c3e0ba
alpha-modifier: add support for protocol
2024-04-21 21:21:22 +01:00
87173bd09d
protocols: fix for hyprwayland-scanner update
2024-04-21 21:20:48 +01:00
ed69502ff6
xdg-decoration: move to new impl
2024-04-21 20:04:58 +01:00
4954dcbbb3
relative-pointer: move to new impl
2024-04-21 19:30:23 +01:00
55f1f3fedf
protocols: minor style improvements to new impls
2024-04-21 19:29:45 +01:00
d9fe1d0f58
idle-inhibit: move to new impl
2024-04-21 16:54:52 +01:00
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
93e5d7ca5a
input: check for focused_client being null before reading its client
...
ref #5673
2024-04-21 15:17:12 +01:00
4dc07c4378
keybinds: clear repeat source on mouse inputs
...
fixes #5671
2024-04-21 12:50:37 +01:00
thejch
7c3bd4c19f
workspace: Add fullscreen workspace selector ( #5640 )
...
* add fullscreen selector
* use stoi
2024-04-21 01:50:08 +01:00
30e4b404f2
cursor-shape: move to new impl
2024-04-21 01:49:23 +01:00
a141bbbea5
helpers: Add new C++ Signal and Listener classes
...
A memory-safe alternative to wl_signal
2024-04-21 01:47:45 +01:00
4ad739ec63
HookSystem: improve callback safety
2024-04-20 20:16:42 +01:00
1055e6bee6
wayland-protocol: remove unused CWaylandResource
2024-04-20 19:40:01 +01:00
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
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
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
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
32555e98dd
window: remove input ref on unmap
...
ref #5605
2024-04-16 15:17:54 +01:00
FUFSoB
c99803af15
notifications: fix notifications on manually rotated monitor ( #5599 )
2024-04-15 21:47:39 +01:00
ccbdce7c85
input: send an empty relative event after constraint motion events
...
ref #4015
2024-04-15 17:22:25 +01:00
3dbf8e936e
cursor: add hyprcursor loggers
2024-04-15 16:45:08 +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
https://github.com/freebsd/freebsd-src/commit/af93fea71038
https://github.com/netbsd/src/commit/75f1bc6655cf
* 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
https://github.com/swaywm/wlroots/commit/ae7c3f3d1c56
2024-04-15 14:42:17 +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
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
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
dd6fdf49d9
window: always unref workspace on unmap
...
fixes #5563
2024-04-12 19:52:01 +01:00
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
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
ac0f3411c1
macros: fix no pch warning
2024-04-11 02:13:05 +01:00
abc131ec7b
configmgr: fix header priority
2024-04-11 02:12:29 +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
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
dranull
a06272ae55
input: Option for handling off-window axis events ( #4177 )
2024-04-08 23:35:21 +01: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
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
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
7d989f2cf0
damageSurface: don't correct smallVec twice
2024-04-07 22:25:34 +01:00
863c7b6072
eventloop: move timers to an event loop fd
...
fixes #5481
2024-04-07 21:55:29 +01: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
ff114cf6f9
input: fix focus on maximized bg surfaces
2024-04-06 18:59:23 +01:00
fa79aacea3
constraint: fix possible uaf on double destruction
...
ref #5448
2024-04-06 18:43:17 +01: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
f081a4300f
input: fixup background layer checking on maximized
2024-04-06 15:18:58 +01:00
159444c45b
compositor: fix ghost fadingOut windows remaining after cleanup
2024-04-06 14:59:30 +01:00
f8c22916ab
compositor: remove windows from fadingOut properly
2024-04-06 14:51:35 +01:00
24734fbf1d
subsurface: init existing subsurfaces on children creations
...
fixes #5333
2024-04-06 03:09:20 +01:00
dab149e4a6
core: fix compile without pch
...
fixes #5445
2024-04-05 21:23:28 +01:00
b5b1c0137d
CColor: fix getAsHex
2024-04-05 21:23:06 +01:00
094bce8118
core: simplify sanityCheckWorkspaces
2024-04-05 19:43:51 +01:00
4909b0f350
monitor: unset visible flag from ws on disconnect
...
ref #5443
2024-04-05 19:25:40 +01:00
965a2e5b21
hooksystem: attempt allocating pages in linear order
2024-04-05 17:16:09 +01:00
f815a33f64
workspace: remove monitor and visible flags on inert
2024-04-05 16:57:49 +01:00
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
1ae592fcd9
hyprpm: add support for minimum versions
2024-04-05 00:46:37 +01:00
1454c6213e
window: fix invalid last workspace id
...
ref #5432
2024-04-04 22:49:15 +01:00
ec2cc79c65
renderer: avoid double-rendering ls-es on fadingOut
...
fixes #5295
2024-04-04 22:43:57 +01:00
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
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
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
b7d71bc0e1
keybinds: fix spammy warning
2024-04-04 01:16:47 +01:00
9cf563065a
layouts: add missing include
2024-04-04 01:10:46 +01:00
36a8ae9bda
input: allow focus to bottom layers on maximized in reserved
2024-04-03 21:57:19 +01:00
d605e47511
renderer: block screen shader on screencopy
2024-04-03 21:35:16 +01:00
10146f5ec5
core: fix some crash conditions around workspace ptrs in CWindow
...
ref #5402 , supersedes #5409
2024-04-03 20:42:38 +01:00
d88d589880
swipe: add events
2024-04-03 19:20:47 +01:00
93915502d2
blur: block modif only on no new optimize
2024-04-03 17:08:11 +01:00
91061a2084
opengl: fix modif in blur
2024-04-03 15:08:29 +01:00
64964c4e3b
renderer: render back layer for workspace-less passes
2024-04-03 14:28:15 +01:00
3981f85e94
opengl: log framebuffer errors
2024-04-03 14:24:15 +01:00
efdc1af044
renderer: some fixes for renderModif
2024-04-03 14:09:58 +01:00
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
fc0a7af7ba
IME: fix blurry ime on scaled
...
ref #5387
2024-04-02 16:10:55 +01:00
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
2e5b146e57
workspace: remove lastFocusedWindow on unmap
2024-04-02 12:10:03 +01:00
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
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
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
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
9e8f051896
avar: minor fixes
2024-03-31 21:43:08 +01:00
64c8ba2fb1
avar: fix warp onEnd conditions
...
ref #5348
2024-03-31 21:34:11 +01:00
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
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
54376d7b5f
compositor: remove windows from fading out on destroy
...
ref #5321
2024-03-29 19:07:18 +00:00
3d1bf1405e
keybinds: add binds:disable_keybind_grabbing
...
fixes #5273
2024-03-29 18:57:16 +00:00
fcd9d77b64
layout: improve initial size prediction for floating
2024-03-29 00:43:50 +00:00
2930c5cb6f
animvar: fixup update callbacks and cleanup
2024-03-29 00:23:23 +00: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
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
0869f65b0b
input: add misc:hide_cursor_on_key_press
...
fixes #3045
2024-03-28 02:07:06 +00:00
132ab8d035
layers: add animation direction overrides
...
fixes #5285
2024-03-28 01:39:29 +00:00
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
1a0b8d1263
renderer: minor fixes to misaligned reported surface rendering
...
fixes #5257
2024-03-26 13:35:03 +00:00
a9d7526aae
core: ensure m_pLastMonitor validity over unsafe state
...
ref #5241
2024-03-26 02:26:19 +00:00
ae17e900e7
layer-shell: render popups above everything
2024-03-25 16:20:30 +00:00
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
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
294ff8609f
cursormgr: log theme loading failures
2024-03-24 19:39:56 +00:00
1e82d5a04d
ime: fix build without pch
2024-03-24 17:19:35 +00:00
5cc4bf699c
IME: Refactor and fixup popups
2024-03-24 16:08:25 +00:00
acf15e5579
text-input: reset lock counter on surface destroy
...
fixes #5231
2024-03-24 15:00:00 +00:00
86dc46ffea
animationmgr: use realpos and size for border damage
...
fixes #5239
2024-03-24 03:09:46 +00:00
09e1128da2
cursormgr: initialize size to 0
...
Because the ctor expects that. Ref #5237
2024-03-24 02:21:36 +00:00
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
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
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
9f2ed02f35
IME/TI: Fixes and refactoring
...
Fixes #5189
2024-03-22 23:08:52 +00:00
8c88689faf
IME: guard unfocused TIs in leave
2024-03-22 18:58:28 +00:00
d2b42e29c6
IME: fix crashes with destroyed text-inputs
...
ref #5189
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
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
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
8593c45be3
refactor: move window.hpp to desktop/
2024-03-20 01:44:51 +00:00
f6038837bc
constraint: do not disable constraints in destroy
...
fixes #5170
2024-03-20 01:30:41 +00:00
05cd6d3df1
config/workspace: added workspace selectors
2024-03-19 20:56:20 +00:00
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
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
7a31c954e5
tablet: minor focus fixes
...
ref #3004
2024-03-19 02:45:11 +00:00
49f5fd59ad
opengl: minor adjustment to getPreferredReadFormat
...
fixes #4791
2024-03-19 02:42:39 +00:00
7283dde878
screenShader: allow camel for screensize
...
ref #5059
2024-03-18 23:51:32 +00:00
4ffcdc41ff
animations: fix layer slide with fade
...
fixes #5151
2024-03-18 18:29:57 +00:00
4b74123649
socket2: add pin event
...
fixes #4778
2024-03-18 18:11:20 +00:00
5eb33ff4d8
screenshader: add screen_size uniform
...
fixes #5059
2024-03-18 16:35:22 +00:00
7587cadd0a
renderer: add support for gles3.2 screen shaders
2024-03-18 04:15:04 +00:00
c34ad12183
cursormgr: scale hotspot with buffer
2024-03-17 19:00:21 +00:00
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
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
0e87a08e15
renderer: disable surface adjustments for misaligned reported when manual resizing
...
ref #5135
2024-03-16 17:56:09 +00:00
3162739e1b
renderer: don't translate surface box on interactive resizes with non-updated sizes
...
closes #5135
2024-03-16 17:12:29 +00:00
thejch
c942ce6dce
renderer: add better multi monitor animations ( #5126 )
2024-03-16 14:49:34 +00:00
5e5d7e2abc
renderer: fix non-reported sizes window box calculations
...
fixed #5129
2024-03-16 14:37:07 +00:00
3f5f5f5491
splashes: add 2ya splash
2024-03-15 23:58:22 +00:00
2a2da6082e
renderer: fix invalid access on non-assigned surfaces
...
fixes #5125
2024-03-15 21:29:20 +00:00
c4f52d1979
master: fix invalid config usage
2024-03-15 19:31:33 +00:00
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
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
045c3fbd85
subsurface: fix visibility check
...
ref #5113
2024-03-14 20:42:33 +00:00
b7b13623ba
subsurface/popup: expand on map/unmap to add buffering
...
ref #5113
2024-03-14 20:21:58 +00:00
164e92f8e3
internal: minor fixups for fading out xwayland windows
...
fixes #4935
2024-03-14 18:25:28 +00:00
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
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
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
66330281ff
config: report errors from sourced files
2024-03-11 01:39:00 +00:00
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
0a1632a79f
dwindle: preserve fs state on switchWindows
...
fixes #2842
2024-03-10 22:27:23 +00:00
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
b0f98a3d3e
compositor: reject focus to noFocus OR xwayland windows
...
fixes #4922
2024-03-09 22:39:23 +00:00
2ed032a7fd
xwayland: fix no_xwayland compiles
2024-03-09 22:37:49 +00:00
739c5bc98c
cursormgr: fix invalid access to hyprcursor in xwayland init
...
fixes #5048
2024-03-09 21:54:33 +00:00
26cd1bf949
input: fix minor default cursor reset conditions
2024-03-09 18:12:55 +00:00
18a35b1406
cursormgr: fix memory leak with cursor buffers
2024-03-09 18:04:33 +00:00
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
a01949dd28
deco: fix warnings
2024-03-09 16:39:38 +00:00
3f58e77e75
deps: update wlroots
2024-03-09 16:35:35 +00:00
300d77edd9
keybinds: track submap at press for keypresses
...
fixes #5037
2024-03-09 16:08:07 +00:00
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
3e930a568a
format: fix format
2024-03-09 03:09:25 +00:00
024d4ddc74
input: scale local coords in constraints
...
fixes #5029
2024-03-08 22:51:28 +00:00
717d5b3cc2
hyprctl: hide unmapped windows without -a
2024-03-08 17:47:12 +00:00
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
4c34e4aac2
windowrules: minor improvements to min/max size
...
fixes #5017
2024-03-08 17:10:38 +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
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
8e2a62e53b
events: apply monitor state on sessionActive
...
ref #4839
2024-03-06 18:14:59 +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