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
6edfdd63a1
surface: avoid crashes on fading out layers
2024-07-27 22:15:36 +02:00
MightyPlaza
ad711ef421
input: unify removing currentlyDraggedWindow ( #7071 )
...
modified: src/desktop/Window.cpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/InputManager.cpp
2024-07-27 17:46:19 +01:00
ae638d997d
configmgr: fix warning
2024-07-27 18:15:47 +02:00
141cd09bd3
renderer: use session lock alpha for rendering lacking locks
2024-07-27 18:13:41 +02: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
MahouShoujoMivutilde
84227eb587
input: Fix hyprctl switchxkblayout
not actually changing layout ( #7070 )
...
Emits `SModifiersEvent` in `updateModifiers()`
Before the patch:
Changing layout with `hyprctl switchxkblayout ...` results in:
* active keymap in `hyprctl devices` is changed
* no event
* no layout is actually changed UNTIL you press one of the mod keys
(Alt | Shift | Super | Ctrl)
After:
* active keymap in `hyprctl devices` changed
* activelayout IPC event emitted
* layout is changed
This fixes https://github.com/hyprwm/Hyprland/issues/7044
2024-07-27 16:43:45 +01:00
daed75219f
wayland/compositor: fixup double buffer releases
...
fixes #7043
2024-07-27 17:04:03 +02:00
Ikalco
ec672b1ab9
protocols: move screencopy and toplevel export to hyprwayland-scanner ( #7065 )
...
* move screencopy and toplevel export to hyprwayland-scanner
* oops
2024-07-27 16:02:02 +01:00
963816b9a6
layersurface: fixup focus issues in onUnmap
...
fixes #6929
2024-07-27 15:04:03 +02:00
682865632f
xwayland: fix high cpu idle usage
...
fixes #7051
2024-07-27 13:58:30 +02:00
76610d9fb0
opengl: destroy cairo image surface after use
2024-07-27 13:03:43 +02:00
57371b93a0
renderer: drastically optimize bg texture creation
...
stop loading 20MB images every time, dumbass
2024-07-26 19:53:24 +02:00
33a5c8ce32
config: avoid using initial ws tracking for exec-once
2024-07-25 15:29:39 +02:00
a0d15a0b7b
wayland/compositor: release buffers on unmap
...
XWayland does not use the regular commit(null) method to unmap, which results in buffers never being released.
release the buffers if present and un-released in the unmap() handler
ref #6584
2024-07-25 14:12:08 +02:00
cd942ad12d
keyboard: update xkb state after key event
...
fixes #6946
2024-07-25 13:10:53 +02:00
daf5fad190
keyboard: properly update keymap state and fd on keymap changes
...
needed for virtual keyboards that impose their own layouts.
fixes #6991
2024-07-25 13:02:10 +02:00
MightyPlaza
4beac91cbd
keybinds: add safeguard to mousebinds ( #7034 )
...
modified: src/managers/KeybindManager.cpp
2024-07-25 00:19:15 +02:00
Anton Lazarev
391f1ae838
input: don't simulate mouse movement on focus change in follow_mouse = 2/3 if no_warps is false ( #7015 )
2024-07-25 00:16:47 +02:00
MightyPlaza
a0be3de0e8
keybinds: handle monitor change in moveWindowIntoGroup ( #7030 )
...
modified: src/managers/KeybindManager.cpp
2024-07-24 20:00:25 +02:00
Ikalco
3e543d2ce8
core: Properly shutdown wl display ( #7018 )
...
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
2024-07-24 19:07:36 +02:00
MightyPlaza
735e3c6c56
crashreporter: add date and flags to crash report ( #7028 )
...
modified: src/debug/CrashReporter.cpp
2024-07-24 19:05:54 +02:00
b16fb9770c
egl: support getting the device via platform_device
...
a neat EXT
2024-07-24 18:53:51 +02:00
MightyPlaza
f2b6ebbf54
keybinds: remove toggleopaque ( #7024 )
...
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
2024-07-24 18:53:51 +02:00
fe19754887
shortcutsInhibit: fix crash
2024-07-24 16:26:44 +02:00
MightyPlaza
72bce7efd5
keybinds: add bindp and noshortcutsinhibit ( #7017 )
2024-07-24 14:10:36 +02:00
99088eaed8
compositor: simplify getWindowFromSurface
2024-07-24 11:07:28 +02:00
Leon
2da3cfb422
touch: fix touch swipe invert config ( #7014 )
2024-07-24 10:59:50 +02:00
8a4548e430
window: drop ack requirement for applying pending reported size
...
fixes #6533
2024-07-23 23:38:58 +02:00
Ikalco
a5f58a3126
layer-shell: validate exclusiveEdge and don't set it as top by default ( #7006 )
...
* validate exclusiveEdge and don't set it as top by default
* make sure exclusive edge anchor is within bounds
2024-07-23 20:03:15 +02:00
077494ee85
surface: fix zero_scaling xwayland damage
2024-07-23 19:56:47 +02:00
Sam Lakerveld
3c758db95c
renderer/layer-shell: use explicitly set exclusiveEdge ( #6984 )
2024-07-22 23:36:58 +02:00
7c68236a51
egl: avoid setting debug mode and handle legacyrenderer
...
ref #6973
2024-07-22 23:05:22 +02:00
4c3b035162
pointer/hw: rollback the swapchain on multiple renders without a commit
...
fixes the hack
2024-07-22 19:19:37 +02:00
f17f8b219c
pointer/hw: extend cursor swapchain to 3
...
otherwise on some commits we draw twice and we draw over the front buffer
2024-07-22 19:05:45 +02:00
Ikalco
e8374e0792
debug: get rid of useless 1s in logs ( #6969 )
...
* get rid of 1s in logs lol
* replace WLR with AQ in logs
2024-07-22 18:06:11 +02:00
77b134e23b
virtual-pointer: fixup virtual pointer warp events
...
fixes #6976
2024-07-22 17:24:30 +02:00
87db950189
wl_seat: avoid sending events to objects without caps
...
ref #6835
2024-07-22 16:57:35 +02:00
5bae7f150b
wayland/output: avoid sending events to dead outputs
...
ref #6835
2024-07-22 16:56:51 +02:00
diniamo
d03fa94c2c
core: avoid locking 2 wayland sockets ( #6971 )
...
* fix: avoid locking 2 wayland sockets
* format
* fix formatting
2024-07-22 13:16:25 +02:00
UjinT34
511e9ccdd1
xwm: Fix xwayland black window bug after losing focus ( #6966 )
...
* fix xwayland black window bug
* resend normal state
2024-07-22 13:15:40 +02:00
3132f0275e
touch: set lastInputTouch on every event
2024-07-22 13:05:06 +02:00
1797319a07
renderer: untransform textures matching display transform
...
fixes #6754
This will break if the client uses a transform that is not equal to the display, reverting to old behavior. Combining transforms is left as a todo for the future.
2024-07-22 13:01:55 +02:00
5979ceb56b
surface: fixup logical damage size calculations
...
fixes #6618
2024-07-22 12:38:05 +02:00
672bf1f867
compositor: ignore setting surface scanout if DS is disabled
2024-07-21 23:52:16 +02:00
33e933e2a0
renderer: drop redundant spammy trace log
2024-07-21 22:09:29 +02:00
341fb4497f
wayland/compositor: fixup buffer damage tracking for wl_shm buffers
...
remove qt hack, fixup conditions
fixes #6844
2024-07-21 22:05:53 +02:00
cbaac6deaf
xwm: drop invalid case for clearing X focus
...
fixes #6955
2024-07-21 20:02:48 +02:00
3b6bcd6ddc
presentation-feedback: fix invalid values sent after aq merge
2024-07-21 19:25:07 +02:00
7f624d2236
xwayland: fixup WM_SIZE_HINTS handling according to ICCCM
2024-07-21 17:41:26 +02:00
f7fb7e7e49
xwayland: avoid unfocusing on OR child focuses
...
fixes #6698
2024-07-21 17:27:36 +02:00
efcbcd7297
input: fix invalid usage of dev in setTouchDeviceConfigs
...
ref #6943
2024-07-21 16:45:46 +02:00
khachbe
cf373d315e
touch: add touch swipe invert config ( #6940 )
2024-07-21 13:59:09 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00