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
155d44016d
textinput: handle IME resetting ( #7731 )
2024-09-10 14:49:10 +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
9b54342baa
Revert "syncobj: wait for deadline instead of available"
...
This reverts commit cf6a1716ae
.
Fixes #7628
2024-09-03 14:47:34 +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
cf6a1716ae
syncobj: wait for deadline instead of available
...
avoids slow apps from lagging the desktop
2024-08-31 18:33:04 +02:00
fbd6354393
presentation-feedback: minor fixups
2024-08-30 15:53:45 +02:00
1c9d56998d
xdg-dialog: implement new protocol
2024-08-30 15:53:44 +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
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
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
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
3b663f4afc
screencopy: fixup 10-bit sharing via shm on nvidia
2024-08-23 14:13:49 +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
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
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
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
Maximilian Seidler
520e91238f
gamma-control: fix crash on monitor disconnect ( #7353 )
2024-08-15 17:08:54 +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
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
ea72831541
wayland/compositor: introduce client commit events
2024-08-07 17:04:49 +02:00
99e9cb5107
drm-syncobj: fixup fd leak with timelines
2024-08-07 16:08:50 +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
b0a70f63e3
wayland/compositor: drop pending buffer ref if synchronous
...
fixes https://github.com/hyprwm/hyprpicker/issues/85
2024-08-06 17:08:22 +02:00
Vaxry
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
ae50f8614d
wayland/surface: fixup self-owning surface roles
...
fixes #7133
2024-08-03 17:58:06 +02:00
ab0a3268e0
xdg-shell: fixup unassigned wl surfaces to xdg surfaces
...
fixes #7133
2024-08-01 15:43:19 +02:00
5edfa627b4
layershell: don't throw misaligned error on exclusive edge 0
...
ref #7108
2024-08-01 11:46:04 +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
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
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
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
23a8f06594
virtualptr: allow binding to output
2024-07-29 16:27:09 +02:00
outfoxxed
33e513d489
xdg-shell: fix xdg-positioner y-flip ( #7094 )
2024-07-29 09:48:27 +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
73d09953e8
core/surface: drop map/unmap events in member funcs
...
causes loops
2024-07-28 23:41:41 +02:00
outfoxxed
bc86afea7e
xdg-shell: completely rewrite xdg-positioner ( #7067 )
...
This implementation actually works.
2024-07-27 21:43:01 +01:00
0243271544
layer-shell: properly map and unmap surface and propagate unmap events
2024-07-27 18:08:22 +02:00
729b47d46d
input: refocus last window on keyboard unfocusable surfaces
...
fixes #4460
2024-07-27 17:49:35 +02:00
daed75219f
wayland/compositor: fixup double buffer releases
...
fixes #7043
2024-07-27 17:04:03 +02:00