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
Zach DeCook
b1e2ca04a0
CrashReporter: Fix compilation with musl libc ( #4805 )
...
It can be assumed this doesn't function correctly:
my 'configuration does not support execinfo.h', so I have no backtrace to test against
2024-03-05 22:51:34 +00:00
05dd204c5f
window: ignore surface updates in unsafe / on invalid monitors
2024-03-05 20:46:08 +00:00
31e1287da2
subsurface: don't update transform on unmap
...
fixes #4969
2024-03-05 20:45:23 +00:00
a4c1f4a03d
popup: send scale on map
...
fixes #4972
2024-03-05 20:42:29 +00:00
Grant Ammons
0ee69058c4
config: Add input:scroll_factor configuration ( #4980 )
...
* Allow for input:scroll_factor configuration
This PR will allow for a `scroll_factor` configuration within an `input`
block. The purpose is to control the scroll factor of external mice.
Closes #2574 .
* clang-format
2024-03-05 19:18:53 +00:00
Junxuan Liao
f8a081b56d
layout: warp the cursor when focusing windows ( #4982 )
...
Similar to the `focuswindow` dispatcher, when focusing a window with
wlr-foreign-toplevel-management, the cursor should be warped. Otherwise, the
focus is lost immediately after the cursor moves.
2024-03-05 17:56:06 +00:00
bdfa8ab856
hyprctl: print format and modes
...
fixes #4971
2024-03-05 13:55:38 +00:00
Junxuan Liao
08152477dc
monitor: remove commas from short description ( #4970 )
...
Since `hyprctl monitor` shows szShortDescription now, it needs to be sanitized.
(See #2457 )
Also, monitor selectors are now compared against szShortDescription and
szDescription to avoid re-striping the string.
2024-03-05 13:41:51 +00:00
12985fa0d8
surface: fix damage tearing feedback
...
fixes #4935
2024-03-05 00:21:37 +00:00
thejch
9c48c322d4
keybinds: Allow fullscreen/maximize in special workspace ( #4921 )
...
* allow fullscreen/maximize in special workspace
* remove duplicate code
* hide top layer
* fix special fullscreen deco
* edit
* fix fade top layer when toggle special
* remove double render
2024-03-04 23:29:45 +00:00
7a76ab01d1
input: send motion to confined cursors
2024-03-04 23:07:16 +00:00
Tom Benham
07c7235b72
keybinds: Better handling of workspace_back_and_forth ( #4952 )
...
* Removed redundant boolean condition
* Better handling of workspace_back_and_forth when using focusworkspaceoncurrentmonitor dispatcher
* Fixed config acquisition
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-03-04 17:05:20 +00:00
12da0fc84f
hyprctl: parse custom types in getoption
2024-03-04 10:36:38 +00:00
Isaiah Hamilton
9d89b7109d
config: update per device input configs link ( #4951 )
2024-03-03 23:00:28 +00:00
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
JManch
8ccbd272cc
compositor: ignore grab extend behind special workspaces ( #4944 )
...
* compositor: ignore grab extend behind special workspaces
* ignore the window entirely
2024-03-03 17:04:39 +00:00
thejch
28272d2d74
master: Fix animate resize ( #4942 )
...
* fix master animate resize
* fix some other pointers
2024-03-03 17:03:23 +00:00
c701767038
xkb: handle invalid keymaps in updateXKBTranslationState
...
fixes #4941
2024-03-03 17:02:15 +00:00
cc94123fa7
renderer: minor fixes to transformations
2024-03-03 02:18:06 +00:00
Julien Roy
2a08f2ba84
opengl: fix compilation on legacy renderer ( #4928 )
2024-03-03 00:31:36 +00:00
689fced8b9
windowrules: fix center
...
fixes #4934
2024-03-03 00:22:40 +00:00
Epilepsy Gatherings
acf0b536a6
xwayland: disable initial focus for xwayland dialogs ( #4936 )
2024-03-03 00:18:53 +00:00
JManch
1762e9c6ec
renderer: respect forceNoBlur when rendering small surface windows ( #4932 )
2024-03-03 00:17:40 +00:00
Tobias Zimmermann
964f1a438d
keybinds: Add the 'catchall' keyword that matches all keys ( #4930 )
...
* Add the 'catchall' keyword that matches all keys
This keyword can be used to define arbitrary keybinds. The only special
behavior that it exhibits is that it matches every key, including
modifier keys. Any flags still apply normally.
This commit also fixes an issue that keys bound via the code:KEYCODE
format were not unbound correctly.
* Disallow catchall keybinds outside of submaps
A catchall keybind outside a submap would prevent essentially all key
events from going through to applications and would be difficult to
remove again.
2024-03-03 00:17:02 +00:00
JManch
508262b7db
events: update render data after workspace window rule ( #4931 )
2024-03-02 22:15:07 +00:00
Vaxry
d72ea5f2a7
input: Rewritten pointer constraints ( #4889 )
...
* rewritten constraints
* send pointer enter on activate if not pointer focus
* minor cleanup
* simulate movement on commit
* don't ignore oneshot prop
* various fixes
* dont send motion on confined
* update pos hint on region change
2024-03-02 21:04:55 +00:00
d2289d8327
xdg: minor improvements to initial size reporting
...
fixes #4918
2024-03-02 18:53:17 +00:00
ItsDrike
be89d6faa9
notifs: Implement notification dimissing ( #4790 )
2024-03-02 18:12:31 +00:00
8811f4b69a
drag: check min size for reisze drags
...
fixes #4920
2024-03-02 15:25:32 +00:00
52db216608
events: don't switch to active workspace on workspace rule
2024-03-02 15:20:40 +00:00
7ce781e87c
keybinds: better follow xkb translation state
...
fixes #4908
2024-03-02 01:46:55 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
f115ba94d2
xwayland: set scaledBy for unmanaged windows in map
2024-03-01 23:04:34 +00:00
Brett Alcox
6e3a494d1d
core: add additional headers for Popup.cpp and InputMethodRelay.hpp ( #4909 )
2024-03-01 20:07:36 +00:00
f590505daf
popup: minor fixes to xdg geometries
...
fixes #4900
2024-02-29 21:51:50 +00:00
f801d15947
configmgr: fix compile on 32-bit archs
...
fixes #4895
2024-02-29 21:33:39 +00:00
e63b4b18aa
renderer: force a few render frames on init anim end
...
fixes #4875
2024-02-29 19:04:40 +00:00
1698d336f2
core: fix crashes on access of deleted wlr_ surface
...
ref fixes #4893
2024-02-29 17:23:44 +00:00
fbba8757cb
window: remove unused list
2024-02-29 16:16:03 +00:00
6916d0a6a3
surface: unify owners
2024-02-29 15:07:14 +00:00
Anton Samokhvalov
bcec082a1c
build: fix libc++/clang build ( #4886 )
2024-02-29 15:01:56 +00:00
2e111c8cf9
xdg: rewrite entire popup implementation
2024-02-29 14:26:02 +00:00
b39dcfa497
refactor: move a few things to desktop/
2024-02-29 13:03:38 +00:00
4bff762d97
xwaylandmgr: don't read xwayland surface from unmapped xwayland
2024-02-29 01:21:23 +00:00
Vaxry
b1c0f1cc01
subsurface: Rewrite the subsurface tree ( #4877 )
2024-02-29 00:03:28 +00:00
1e7eb3a5a5
xdg: check for floating conditions before sending tiled size hint
...
ref #4871
2024-02-28 23:14:50 +00:00
097f561e41
surfacetree: Revert "subsurfaceTree: assign surfaces to a CWLSurface"
...
This reverts commit 51b1b17fcb
.
Crash issues, fixes #4874
2024-02-28 19:42:04 +00:00
a31433c215
renderer: damage whole ring on failed commit
...
fixes #4770
2024-02-28 18:00:02 +00:00
51b1b17fcb
subsurfaceTree: assign surfaces to a CWLSurface
...
fixes #4872
2024-02-28 17:53:17 +00:00
29cdd7de1f
layers: minor fixes for new animations
2024-02-28 15:59:45 +00:00
4bc669f933
layers: add fully featured animations
...
Adds configs and layerrules to handle them
alas fixes #981
I have cooked
2024-02-28 15:00:40 +00:00
f4f3aa2e50
layout: add size prediction for initial xdg commits
...
fixes #4022
2024-02-28 11:45:43 +00:00
JManch
c198d744b7
keybinds: unconstrain mouse on focusmonitor and cyclenext ( #4863 )
2024-02-28 00:52:45 +00:00
Tobias Zimmermann
489ac40abd
config: Add option to resolve keybinds by sym instead of code ( #4851 )
...
This commit adds the new configuration option 'resolve_binds_by_sym'
which can be set globally or per-device. It is off by default, which
preserves the current behavior.
This setting only affects the behavior of keybinds that are defined via
key symbols, not those defined via keycode. Binds defined by symbols
currently activate if the keycode pressed would generate the specified
symbol on the first layout specified in the input section.
If enabled, keys pressed on the relevant device will instead match
keybinds by the symbols they produce with their current layout.
Closes #1881 .
2024-02-27 23:21:22 +00:00
e3373669e5
wayland: implement keyboard_shortcuts_inhibit_v1
...
fixes #4568
2024-02-27 23:15:24 +00:00
f26d7aa58d
config: add defaultName for workspace rules
...
alas, fixes #665
2024-02-27 22:44:42 +00:00
e2c286548d
avar: return curve value of 1 when not animated
...
fixes #4862
2024-02-27 22:34:07 +00:00
Philip Damianik
60f81b8a23
input: Map touch devices and tablets bound to an output ( #3544 )
...
* Map bound touch devices and tablets to an output
* Add "[[Auto]]" default option for auto detecting outputs for touch inputs
* Bind new monitors to configured touch and tablet devices
* Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor
* Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
2024-02-27 22:11:59 +00:00
98034fea3c
screencopy: send full frame damage
...
fixes #4855
2024-02-27 14:51:27 +00:00
21f7f32dc9
screencopy: avoid dangling client ptrs on client destroy
2024-02-27 12:23:59 +00:00
ffd7217243
IME: don't set modifiers on grab destroy
2024-02-27 12:23:45 +00:00
bc3f5b94eb
core: nullcheck for old monitor in moveWorkspaceToMonitor
...
fixes #4495
2024-02-26 21:12:12 +00:00
f7a3453487
socket2: move to the wayland event loop
2024-02-26 17:20:51 +00:00
Bernd Müller
1742605eb8
keybinds: fix movewindoworgroup onto empy workspace on next monitor ( #4486 )
...
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* reset flake.nix
* add: changes mentioned in review of #4486
2024-02-26 14:05:24 +00:00
github-usr-name
81fe2ae7f1
surface: ensure global pointers valid before using in destructor ( #4844 )
...
This fixes an observed SigSegV resulting from the cursor surface using
`g_pInputManager` when invoked from the `CInputManager` destructor
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-26 09:52:12 +00:00
dfcfb92ec6
renderer: take into account fading out windows in solitary recheck
2024-02-26 00:19:16 +00:00
9815402074
keybinds: focus floating on top of fs
2024-02-26 00:15:59 +00:00
shezdy
a14f6b570f
keybinds: fix focuswindow for fullscreen ( #4840 )
...
* focuswindow fix
* fix format
---------
Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
2024-02-26 00:05:20 +00:00
Tom Benham
54a8329936
layout: Fixed ghost window when opened while fullscreen on a different workspace ( #4822 )
...
* Fixed ghost window when opened while fullscreen on a different workspace
* Format
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-02-25 14:09:41 +00:00
github-usr-name
f9cfec8abb
compositor: allow source monitor to be provided to getMonitorInDirection
( #4837 )
...
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-25 14:03:00 +00:00
JManch
e9528fc214
config: fix layout invalidation for keyword commands ( #4826 )
2024-02-24 14:06:28 +00:00
6f83856025
hyprctl: add -r argument
2024-02-24 14:02:03 +00:00
thejch
d92da7959a
core: Fix SEGV/ABRT core dump when exiting ( #4823 )
...
* reset input manager first
* move reset
2024-02-24 02:50:54 +00:00
bdbd8d965d
hyprctl: jsonify new gaps
...
fixes #4820
2024-02-23 21:25:04 +00:00
bfb1e876a8
config: add opengl:force_introspection
...
fixes #4819
2024-02-23 21:21:24 +00:00
ca59bd5739
opengl: check bottom/bg layers for required introspection
...
ref #4818
2024-02-23 21:09:47 +00:00
thejch
f389f77015
core: Try to fix the exit hang ( #4811 )
...
* add signal removal
* use a flag instead
* remove signals in cleanup
2024-02-23 16:48:27 +00:00
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
c1ef361e02
renderer: fix logs
2024-02-23 00:02:48 +00:00
35e80a64a6
renderer: add more logging for fails in beginRender
2024-02-22 23:50:56 +00:00
e83bf4f7b7
core: add env to disable crash reporter
2024-02-22 23:10:59 +00:00
c353b7c4f7
renderer: minor fixes for introspection detection
2024-02-22 23:01:22 +00:00
d9757b61bf
xdg: manually schedule initial configures
...
chasing wlroots
fixes #4801
2024-02-22 17:33:23 +00:00
af0c8e299b
input: fix vectorToWindowUnified with floating over fs
...
fixes #4800
2024-02-22 15:42:17 +00:00
7fbe016c15
animationmgr: expand layer box for damage
2024-02-22 15:34:18 +00:00
0ebee80bca
config: adjust default splash col
2024-02-22 15:28:58 +00:00
c4283abb9f
compositor: check for pworkspace validity in setActiveMonitor
2024-02-22 15:12:51 +00:00
94aeb06d6b
toplevelexport: set last damage for dmabuf copy
2024-02-22 03:10:01 +00:00
ea3fd13e24
shadow: fix missed invalid use of cfg val ptr
...
fixes #4785
2024-02-21 19:26:21 +00:00
Hiram Muñoz
dad8ffd576
renderer: Update splash text properties to be configurable ( #4707 )
...
* Update splash text properties to be configurable
The splash text's font and color properties have been updated to be configurable. This change includes adding new configuration values for the splash screen color and font. The rendering of the splash screen is also adjusted to use these new config values, allowing for easy customization of the splash text appearance.
* Updated to use Hyprlang config manager
2024-02-21 18:31:29 +00:00
q234rty
fc5ca391ad
core: Fix building plugins ( #4783 )
2024-02-21 16:57:44 +00:00
André Silva
e5eb1bdf01
renderer: ignore set cursor surface if cursor should be hidden ( #4780 )
2024-02-21 13:48:48 +00:00
Dashie
ddf022d61c
feat: Add css style gaps ( #4723 )
2024-02-21 11:07:39 +00:00
13d9854897
xdgpopup: fix UAF because of an invalid listener connection
...
destroy should be connected to popup::destroy, not popup::surface::destroy...
ref #4751
2024-02-20 18:14:36 +00:00
cd73dda16e
sessionLock: send preferred fractional scale
2024-02-20 16:13:01 +00:00
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
7ea37c9dc9
surface: fix damage calcs with a viewport src
2024-02-20 15:21:30 +00:00
86be75dd97
events: bring back accidentally nuked preConfigReload
2024-02-20 03:24:15 +00:00
thejch
030ed27cc8
crashreporter: Use ~/.cache as cache dir ( #4719 )
...
* use ~/.cache for crash reports
* minor word edit
* clang-format
* minor typo
2024-02-20 00:55:04 +00:00
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +00:00
d62e7a5125
renderer: fixup damage_ring rotation
2024-02-19 19:11:05 +00:00
fe9c8d8745
format: fix formatting
2024-02-19 17:20:39 +00:00
df82625206
hyprctl: reload everything on dynamic source keywords
2024-02-19 12:45:05 +00:00
1763566308
surface: minor fixes for last logicalDamage calc fix
2024-02-19 11:34:55 +00:00
e4790e3f8e
surface: fix invalid damage tracking in damageSurface
...
ref #4744
2024-02-19 11:24:54 +00:00
rszyma
69a4f08dbe
keybinds: fix keys without keysyms triggering random binds ( #4739 )
2024-02-19 00:02:03 +00:00
301b48b740
renderer: fix invalid damage accumulation with invalid buffer_age
...
fixes #4670
2024-02-18 16:04:08 +00:00
fae47ef462
config: fix errors in default config
2024-02-18 15:34:43 +00:00
5fc0b772c7
config: update default config for hyprlang migration
2024-02-18 15:02:34 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
683a4b07c5
rules: ignore static tile/float rules in dynamic gets
...
fixes #4736
2024-02-18 00:13:43 +00:00
Federico Maria Morrone
5261a8df81
keybinds: Add an option to pass a window argument to moveoutofgroup ( #4724 )
...
* keybinds: allow passing window to moveoutofgroup
* keybinds: cleaner handling of certain args
2024-02-17 22:44:22 +00:00
epicgamer256705
289d952a6e
dispatchers: add Fullscreen without sending fullscreen to application ( #4720 )
...
* Add extra option to fullscreen
* Remove useless branch
fixes #1817
---------
Co-authored-by: matteo bob <matteo4375@gmail.com>
2024-02-17 16:21:06 +00:00
294e51a857
input: refocus on completed drags
2024-02-17 16:02:17 +00:00
cdcc5aba06
xwayland: ignore OR activate requests if surface doesn't want focus
2024-02-17 02:47:07 +00:00
Abílio Costa
e3e7e1fdda
monitor: don't damage twice ( #4727 )
...
When scaled, the ring is already fully damaged, no need to add the region
damage.
Also moved a variable that was being declared way to far for where it is
actually used.
Co-authored-by: Abilio Costa <abilio.costa@criticaltechworks.com>
2024-02-17 02:09:12 +00:00
fbf5ba87ce
shaders: use highp for fragments
2024-02-15 17:32:34 +00:00
Jacob Birkett
a8dae8f5e1
socket2: monitoraddedv2
IPC event for monitor description and id ( #4646 )
...
* add monitor szShortDescription without DRM node name
* change hyprctl to use szShortDescription
* add monitoraddedv2 event
* add monitor ID as first param of monitoraddedv2
2024-02-15 14:22:20 +00:00
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
e5ac970d6e
input: fix follow_focus
2024-02-15 01:51:01 +00:00
770956b092
input: don't schedule frame on cursor move on hw cursors
...
spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
ref #3747 #3490
2024-02-15 01:26:48 +00:00
3cca36e773
input: avoid rampant refocuses on popups
2024-02-15 01:24:40 +00:00
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
b7ab15dc80
input: log cursor image requests
2024-02-15 00:59:04 +00:00
9c3f3b0018
renderer: don't calculate mirror damage without mirrors present
2024-02-14 22:33:50 +00:00
8d68d6bfa5
windowrules: nuke no*request
2024-02-14 22:27:53 +00:00
60834a4687
config: remove usages of nomaximizerequest from default cfg
2024-02-14 22:26:45 +00:00
7f52db806c
windowrules: add suppressevent
...
deprecates nofullscreenrequest nomaximizerequest
2024-02-14 22:19:49 +00:00
305b1419c8
renderer: accept custom state requests for fake outputs
2024-02-14 22:05:41 +00:00
Niklas Haas
d5950f7719
dwindle: add swapsplit dispatcher ( #4702 )
...
This is distinct from `swapwindow` in that it allows swapping the entire
tree node with its neighbour.
Fixes: https://github.com/hyprwm/Hyprland/issues/4701
2024-02-14 17:58:28 +00:00
0608791480
dwindle: round wbox before setting
2024-02-14 11:44:47 +00:00
2a002f31e4
renderer: don't set solitary on present notifications
...
fixes #4647
2024-02-14 11:09:18 +00:00
Epilepsy Gatherings
2a3429d4cf
internal: add forcenofocus
prop ( #4672 )
...
* add forcenofocus
* change nofocus to overridable var
2024-02-13 18:07:19 +00:00
95abf1220f
keybinds: fix swapactiveworkspaces not moving focus
...
fixes #4626
2024-02-13 17:53:50 +00:00
b500e5699b
renderer: update cursor also when hostpot only changes
...
fixes #4691
2024-02-13 17:39:51 +00:00
Filipe Paniguel
61378380ee
config: fix tiny typo in defaultConfig.hpp ( #4693 )
2024-02-13 17:30:17 +00:00
890307532c
input: avoid reassigns of unchanged surfaces in processMouseRequest
2024-02-12 20:02:00 +00:00
ComycSans
927da86e3e
hyprctl: fix dispatchBatch() treating empty curitem as last request ( #4681 )
2024-02-12 15:16:00 +00:00
e4bb5fa4af
input: focus monitor on mouse down
...
fixes #4649
2024-02-10 17:39:53 +00:00
658f718fa3
input: partially revert #4514
...
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
Sefa Eyeoglu
334a0f03ee
keybinds: Fix focus not moving along when moving workspace ( #4660 )
...
---------
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
Ben Landon
289d4241be
groupbar: scale groupbar text according to monitor scale ( #4640 )
2024-02-08 22:29:10 +00:00
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
thejch
3d9ca6381d
crashreporter: fix logging of function data ( #4632 )
2024-02-07 09:50:23 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
ded174d6e5
misc: remove unused var
2024-02-05 23:39:19 +00:00
181f651de2
vector: avoid min0 clamps without a max being invalid
2024-02-05 22:37:34 +00:00
Epilepsy Gatherings
8a6e428d32
keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead ( #4625 )
2024-02-05 22:36:22 +00:00
1fd82e37a7
xwaylandmgr: proper clamping for setWindowSize
...
closes #4622 fixes #4621
2024-02-05 20:56:20 +00:00
f9202f791e
xwaylandmgr: clamp size in setWindowSize
...
fixes #4586
2024-02-05 14:08:08 +00:00
60bda7ee3d
pluginapi: allow registering hyprctl commands
...
closes #4616
2024-02-05 01:57:29 +00:00
939696f97e
hyprctl: move to a class and unify commands
2024-02-05 01:56:49 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
JManch
1ed4f1cb25
screenshader: rename output uniform to wl_output ( #4606 )
...
* screenshader: rename output uniform to monitor
* rename to wl_output
2024-02-04 02:30:00 +00:00
504ebe1b37
box: add missing include
2024-02-03 01:31:52 +00:00
cf1886ca44
renderer: avoid unnecessary gpu resource deletions
...
fixes #4594
2024-02-02 15:36:13 +00:00
341e04a36c
dwindle: avoid sending negative sizes to wlr
...
fixes #4591
2024-02-02 15:04:04 +00:00
d7514412d8
renderer: reset fb pointers after render pass
...
fixes #4590
2024-02-02 14:56:04 +00:00
4644de2269
keybinds: fix ignoremods with release
2024-02-02 01:09:57 +00:00
Abílio Costa
15316aaa31
subsurfaceTree: Fix nullptr crash when disconnecting a monitor ( #4577 )
...
I was able to reproduce this frequently by having a kitty terminal on an
monitor running the following command and then unplugging that monitor:
`while true; do echo "" && sleep 0.02; done`
2024-02-01 03:09:31 +00:00
cfd68af5b6
tearing-control: handle unmapped surfaces for hints
...
fixes #4570
2024-02-01 00:55:29 +00:00
c51b3fb06f
events: ignore sending mouse enter to focused if a constraint is active
...
fixes #4186
2024-01-30 16:24:41 +00:00
2e3f0d5991
renderer: Add new background infrastructure
...
Adds new backgrounds from the winners of the contest
Rewrites how it works
Allows high color precision PNGs (RGB32F precisely)
Fixes a small bug in renderTextureInternalWithDamage
Nukes misc:force_hypr_chan
2024-01-29 23:11:00 +00:00
4b4bd90b14
renderer: fixup misaligned fsv1 surfaces with uv
...
fixes #4548
2024-01-28 23:42:49 +00:00
b7840c6461
xwayland: remove delta from pos sets in configureX11
...
ref #4536
2024-01-28 20:13:44 +00:00
Epilepsy Gatherings
0e5f14d8d2
xwayland: remove reportedsize set in unmanagedSetGeometry ( #4539 )
2024-01-28 19:22:02 +00:00
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
9002657bcc
monitor: don't call output_state_finish on buffer-less state clears
...
ref #4546
2024-01-28 00:41:54 +00:00
3e93fdf779
opengl: use texBox for rendering background texture
...
fixes #4543
2024-01-28 00:32:54 +00:00
bc7e488a4c
monitor: clear output state after usage
...
fixes massive lag
2024-01-27 19:11:14 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
rszyma
12d79d6342
dwindle: fix windows being created at incorrect position when cursor is over reserved area ( #4520 )
...
* fix: smart_split not working correctly when creating a window with cursor over reserved area
* use getClosestNodeOnWorkspace instead of getFirstNodeOnWorkspace when hovering over reserved area
* optimize `getClosestNodeOnWorkspace`
* remove unused methods
2024-01-26 22:30:36 +00:00
bvr-yr
08e3519747
layout: save float props before setting fs state ( #4537 )
...
fixes #4388
2024-01-26 17:24:00 +00:00
Epilepsy Gatherings
5cd7e4587e
compositor: don't close special on focus on pinned ( #4533 )
2024-01-26 12:24:52 +00:00
72987dee88
opengl: rassert false on lost context
...
we do not have infra to deal with this. It will cause hyprland to freeze rendering, we might as well die.
2024-01-26 02:26:10 +00:00
754eaf5b8b
pluginapi: fix hooks with negative rip offsets
...
fixes #4484
2024-01-24 13:53:18 +00:00
Zach DeCook
df17991b1c
input: Allow disabling touchscreen input ( #4517 )
...
* enable/disable touch device
* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
791e1b96b3
internal: minor header cleanup
2024-01-23 01:32:34 +00:00
02b4a9bded
compositor: clarify common errors at launch
2024-01-22 09:46:47 +01:00
f40e382fc6
crashreporter: skip first possibly cut off line in log tail
2024-01-20 09:16:27 +01:00
b86ed02d8a
keybinds: avoid duplicated held keys, only use last, remove all
...
ref #4471
2024-01-19 19:09:32 +01:00
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
Epilepsy Gatherings
9f20a15955
input: remove animate checks on resize limiter ( #4480 )
2024-01-19 15:45:51 +01:00
c4365f20ed
damage: use buffer_damage instead of effective_damage
2024-01-17 16:01:20 +01:00
307dd8f511
input: partially revert #4401
...
ref #4465
2024-01-17 14:43:38 +01:00
virchau13
3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching ( #4439 )
...
* feat: implement xmonad/qtile-style workspace switching
Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.
When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
replace it with the workspace that was previously active on the
current monitor,
3. Focus the workspace on the current monitor.
* fix: address PR comments
2024-01-15 16:30:46 +01:00
MightyPlaza
f14c5ea5c5
groupbar: separate gradients from title ( #4444 )
...
* separate gradients from title logic
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled extents
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix disabled height
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-15 16:17:42 +01:00
Isaac Myhal
b6516bad02
config: Add border gradients to windowrulev2 ( #4335 )
...
* Add border gradients to windowrulev2
* windowrule border gradient: Use CVarList to parse
* windowrule border gradient: No {} around short ifs
2024-01-14 18:27:32 +01:00
dranull
13d9a637d6
hyprctl: screen_shader config fixes ( #4102 )
...
* Allow "/" in values of requests
* Don't tick on empty value
2024-01-14 18:12:52 +01:00
1over137
4cee94b91c
fractional: Set preferred scale on monitor config reload ( #4406 )
2024-01-14 14:56:35 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26
babb9c07b0
swipe: Prevent hiding current workspace when swiping ( #4417 )
...
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076 ). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
6b92144f15
surface: avoid spam of window surfaces with scale and transform events
...
fixes #4408
2024-01-11 14:07:28 +01:00
Clyybber
8d31c84483
layout: Round window pos and size on togglefloating ( #4407 )
...
Also restore the behaviour introduced in bc4a51dbbb
2024-01-10 18:08:58 +01:00
d484506600
keybinds: fix tracking of sent key states
2024-01-10 18:06:38 +01:00
b240704bee
renderer: allow rendering multiple fullscreen windows in third fs pass
...
something might be fading out, sliding out, etc. We handle it before, why not use it?
fixes #4076
2024-01-09 20:42:07 +01:00
71166ef40b
subsurfaceTree: update surface tree protocol feedback on map
2024-01-09 18:14:08 +01:00
252aaaecfa
input: add special_fallthrough
...
fixes #4323
2024-01-09 13:17:55 +01:00
f92a86af53
renderer: ignore box offsets for fullscreen windows
2024-01-08 19:58:15 +01:00
MightyPlaza
2ba2c8aeee
groupbar: improve gradient handling ( #4390 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-01-08 19:38:22 +01:00
d7d333d162
opengl: apply box rot to projections
2024-01-07 18:51:08 +01:00
f5b2fd2bc3
opengl: add renderdata.forceIntrospection
2024-01-07 18:37:02 +01:00
44ee9915e3
renderer: overhaul renderModifData
2024-01-07 18:35:44 +01:00
7904188de9
input: allow focusSurface when locked if surfase is sessionLock
2024-01-07 14:04:32 +01:00
Epilepsy Gatherings
666ee61c13
input: leave special on focus ( #4358 )
2024-01-07 12:06:33 +01:00
Naksu
d8dbdc4a01
main: Fix typo in std::cerr ( #4359 )
2024-01-05 12:45:49 +01:00
thejch
880996b053
master: Add more null checks for rollnext ( #4343 )
...
* add more null check for rollnext
* remove pwindow check
2024-01-04 16:17:17 +01:00
1512b81126
master: guard PNODE in roll*
...
fixes #4331
2024-01-02 22:18:38 +01:00
flicko
4f26c4e1eb
config: variables update their value when set again ( #4263 )
...
* variables update their value when set again
* only sort if new variable is found
* clang-format
2024-01-02 16:38:30 +01:00
dranull
3c33d4b9dd
keybinds: Refocus only if the silently moved window had the focus ( #4328 )
2024-01-02 14:50:30 +01:00
813af393f1
layout: update rules before applying fullscreen nodes in layouts
2024-01-02 14:21:36 +01:00
dranull
583b05a8c6
groupbar: Drag single window instead of destroying group ( #4327 )
2024-01-02 13:37:03 +01:00
Zach DeCook
1607e96704
HookSystem: rename PAGESIZE_VAR from PAGESIZE to avoid conflict ( #4321 )
2024-01-01 23:05:26 +01:00
q234rty
1a4f23eb2f
renderer: Only force nearest neighbor when the sizes are off by one or two ( #4325 )
...
Fixes rendering issues in arch's extra/telegram-desktop
2024-01-01 20:20:27 +01:00
rszyma
37b76cd1ca
keybinds: fix keys getting stuck + minor refactor & optimizations to keybind handling ( #4304 )
2024-01-01 18:29:51 +01:00
069880e374
hyprctl: add systeminfo
2024-01-01 17:53:03 +01:00
33444e1e5e
deps: update wlroots
2024-01-01 16:47:54 +01:00
dranull
7c1ac58a4b
input: Ignore some input events when focus is on a layer surface ( #4306 )
...
* No motion events with focus on LS on workspace change
* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
46997a7643
renderer: fix auto scale detection with fractional
...
ref #4225
2023-12-31 13:54:24 +01:00
b5b025a1ed
renderer: use nearest_neighbor for misaligned fractional-scale surfaces
...
ref #4225
2023-12-31 13:11:26 +01:00
MightyPlaza
94d6b2d2c1
deco: fix missing border on togglefloating ( #4305 )
...
modified: src/managers/KeybindManager.cpp
2023-12-30 16:59:01 +01:00
MightyPlaza
2ad2e1d5f5
groupbar: add enabling groupbar and setting priority ( #4299 )
2023-12-30 15:18:53 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
f9c13b614c
xdg-shell: fix sending of suspended state
...
fixes #4287
2023-12-29 00:26:23 +01:00
ddf8e01c1e
config: don't emit reloaded event before eventManager is created
2023-12-29 00:17:58 +01:00
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
9fba887cc9
socket2: emit configreloaded event
...
fixes #4285
2023-12-28 22:34:12 +01:00
4f3ee4c645
renderer: add decoration:blur:popups_ignorealpha
...
fixes #4282
2023-12-28 22:29:04 +01:00
MightyPlaza
5f65946c84
hyprctl: add decorations ( #4275 )
...
* add hyprctl decorations
modified: hyprctl/main.cpp
modified: src/debug/HyprCtl.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprBorderDecoration.hpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.hpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fixes
modified: hyprctl/main.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
2023-12-28 16:38:16 +01:00
6a93cee74e
pluginapi: manually detect endbr64 opcodes in function hooks
...
ref #4277
2023-12-28 13:36:09 +01:00
07132741bc
renderer: use 120 as the denominator in scale checks
2023-12-27 23:47:01 +01:00
e75dafd8b2
pluginapi: better wording for plugin function hook errors
2023-12-27 19:27:15 +01:00
b7e8110a30
pluginapi: log assembler return
2023-12-27 19:23:06 +01:00
2702814a3f
opengl: add toggleable nvidia_anti_flicker
...
ref #4252
2023-12-27 19:17:07 +01:00
MightyPlaza
6cd82d948f
input: don't steal mouseDown from LS ( #4260 )
...
modified: src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
MightyPlaza
1ecd173c7a
groupbar: remove extra border size from groupbars ( #4262 )
...
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-27 11:43:55 +01:00
Vaxry
7474c81958
pluginapi: Trampoline hooks %rip patching improvements ( #4256 )
...
---------
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-12-27 11:43:04 +01:00
Tuur Vanhoutte
191fa587f4
windowrules: add initialTitle and initialClass ( #4259 )
2023-12-26 23:47:46 +01:00
9fb50252d3
special: move floating windows along with the workspace
2023-12-26 19:44:38 +01:00
André Silva
bfb4d66c81
compositor: spawn environment setup with keybind manager ( #3722 )
2023-12-26 18:16:59 +01:00
dranull
34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area ( #4253 )
2023-12-26 17:24:31 +01:00
André Silva
2c2ff4b61b
hyprctl: check only ISDEBUG in version ( #3702 )
2023-12-26 14:14:12 +01:00
e2d04ae503
renderer: add option to blur popups
...
closes #2134
2023-12-25 18:07:07 +01:00
MightyPlaza
b25b06430b
groupbar: add egl context to refreshGroupBarGradients() ( #4238 )
...
* add egl context to refreshGroupBarGradients()
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* don't unsetEGL
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2023-12-24 19:29:04 +01:00
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
ff75f991a5
compositor: don't block focus if there is no keyboard
2023-12-24 13:20:31 +01:00
f013acc6ee
renderer: add occlusion for special workspaces
2023-12-23 22:41:42 +01:00
d5811283d2
xdgshell: bump to 6, send suspended states
2023-12-23 22:30:56 +01:00
dranull
5c7e23f86b
shadow: Avoid rounded shadows when rounding is 0 ( #4230 )
2023-12-23 20:40:07 +01:00
b9c1414f25
border: fix missed translate by offset
2023-12-23 16:11:26 +01:00
cc0516a9ae
windowrules: minor fixes to onworkspace
...
fixes #4227
2023-12-23 15:49:42 +01:00
6c8e0f9863
config: add debug:disable_scale_checks
...
ref #4225
2023-12-23 00:21:02 +01:00
6b6f3396cf
renderer: deny invalid scales and suggest a replacement
...
ref #4225 #3511
2023-12-23 00:09:55 +01:00
79ef29d6e0
renderer: apply scale to wlr after checks
...
ref #4225
2023-12-22 23:00:36 +01:00
c416880cf9
shadow: correctly scale boxes
2023-12-22 19:54:31 +01:00
37d2840246
renderer: reject non-clean scales, find nearest clean
2023-12-22 19:54:31 +01:00
thejch
7cec618fe4
master: add dispatchers rollnext and rollprev ( #4209 )
2023-12-22 12:37:38 +01:00
bd952dcef2
systemd: add HYPRLAND_NO_SD_NOTIFY
...
fixes #4217
2023-12-21 22:27:12 +01:00
bc51a91043
crashreporter: don't explicitly set 777 on crash report directory
...
fixes #4218
2023-12-21 22:18:07 +01:00
Ahmed Yasser
79f3888b4b
signal: fix invalid pointer access ( #4207 )
2023-12-20 23:54:52 +01:00
4eb42fab7b
windowrules: add onworkspace
...
cool
2023-12-20 23:52:18 +01:00
48ecb13b14
renderer: improve cursor hiding infra
...
ref #4197
2023-12-20 21:40:44 +01:00
a197fe3c11
renderer: don't set surfaces on cursor timeout
2023-12-20 17:59:11 +01:00
Junxuan Liao
53c78ab906
idle: notify idle on tablet inputs ( #4201 )
...
Fixes #4028 .
2023-12-20 17:53:54 +01:00
b4f4bd38e8
configmanager: set a limit to config variable substitutions
...
fixes #4198
2023-12-20 13:07:12 +01:00
d1b8a63a8e
input: allow setting cursor even if it's hidden
...
ref #4197
2023-12-20 13:00:35 +01:00
Husam Harazi
3771c49a94
filesystem: Set the sticky bit on /tmp/hypr
( #4199 )
...
To prevent unprivileged users from deleting other users' files.
2023-12-20 11:56:15 +00:00
d9b74ff96b
renderer: staticize local functions
2023-12-19 11:55:56 +00:00
ef445093f9
internal: convert uname fields to strings before logging
...
fixes #4188 , thanks @jbeich
2023-12-18 23:33:10 +00:00
11fd37418c
renderer: fix null cursor surface sets being ignored
...
oopsie from #4184
2023-12-18 22:06:50 +00:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
460a326c90
Revert "xdgshell: set predicted tiled windows to monitor res size pre-map"
...
This reverts commit 763d5fa05f
.
Some issues and fixes #4185
2023-12-18 14:45:20 +00:00
403fd7d9f6
xwayland: move commit handler connect to associate
...
fixes #4179
2023-12-18 00:15:30 +00:00
763d5fa05f
xdgshell: set predicted tiled windows to monitor res size pre-map
...
Should improve #4022 although not exactly fix. Fixing would require more witchcraft
2023-12-17 20:09:34 +00:00
9fd928e114
internal: nuke CWindow::m_bMappedX11
...
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
bf7374011b
xwaylandmgr: allow resizes without a monitor
2023-12-17 19:58:11 +00:00
8c9f38e405
events: improve wl_surface::commit event tracking
2023-12-17 19:58:01 +00:00
c0d9dcc586
xwayland: set reported and pending size/pos on geometry sets
2023-12-17 14:53:59 +00:00
MightyPlaza
2a777cb71b
hyprctl: add commit date to "hyprctl version" ( #4171 )
...
* add commit date to "hyprctl version"
modified: scripts/generateVersion.sh
modified: src/debug/HyprCtl.cpp
modified: src/version.h.in
* Nix: add date to hyprctl
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-12-17 14:29:58 +00:00
dranull
9ca0c7d814
input: Activate resize_on_border only when key is pressed ( #4170 )
2023-12-16 20:47:58 +00:00
b1b8d732e6
toplevelexport: fix missed pmonitor set for opengl
...
ref #4165
2023-12-15 21:20:13 +00:00
4e5d9b90c0
toplevelexport: fix missing GL_READ_FRAMEBUFFER set in shm copy
...
ref #4165
2023-12-15 21:04:34 +00:00
e1ed8e11ca
internal: import qt env to dbus
2023-12-15 20:59:13 +00:00
79d8d14fe0
config: add qt env to default config
2023-12-15 18:27:04 +00:00
395ab3ba37
xdg: use better min/max size checks for floating resizes
2023-12-15 15:38:20 +00:00
dranull
36fa33f7ca
input: Prevent crash with invalid keyboard layout ( #4157 )
2023-12-15 00:39:03 +00:00
01e5c59d75
Revert "xwayland: push invisible windows outside layout"
...
This reverts commit accb3d8d0b
.
Bad idea
2023-12-13 17:25:19 +00:00
dranull
4de986072c
layout: Focus a floating window after closing the last tiled ( #4137 )
2023-12-12 16:44:31 +00:00
dranull
934112af5b
config: Use canonical instead of read_symlink ( #4136 )
2023-12-12 16:43:38 +00:00
ba2af6f86d
focus: prefer sendMotionEventsToFocused for ensuring cursor image
2023-12-12 14:58:43 +00:00
1950c3fc9c
input: unset resize cursor on empty focus
...
fixes #4133
2023-12-12 14:55:48 +00:00
8f38487884
xwayland: don't change workspace on configure for invisible windows
...
fixes #3578
2023-12-12 01:15:17 +00:00
accb3d8d0b
xwayland: push invisible windows outside layout
...
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
ea7569d7e0
config: improve layoutopt handling for workspacerules
2023-12-11 22:58:51 +00:00
François Conzelmann
e53134ca90
internal: fix interactions with fakefullscreen ( #4113 )
...
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
8191e635a3
deco-positioner: include sticky in sent geometry
2023-12-11 16:46:20 +00:00
0fdf909b19
renderer: don't render decorations on renderdata.decorate false
...
fixes #4117
2023-12-11 16:32:11 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
167f2ed3b2
border: fix failed assert on small windows
...
fixes #4115
2023-12-10 19:32:03 +00:00
nmzik
efdf07e295
renderer: Allocate background texture only if required ( #4111 )
2023-12-10 16:53:08 +00:00
Mihai Fufezan
0c10b8ab2d
input: Add scroll_points option for device ( #4101 )
2023-12-10 16:30:08 +00:00
Vaxry
9f5b9053c6
internal: Remake borders as window decorations ( #4104 )
2023-12-10 16:28:12 +00:00
af6aae4e12
renderer: don't use clipBox for pinned window occlusion during animations
...
ref #4094
2023-12-09 18:41:32 +00:00
0ebbf371ff
renderer: improve fullscreen workspace client rendering
...
fixes #4076
2023-12-09 18:38:32 +00:00
dranull
89d8f665b5
config: Avoid regenerating config if --config is used ( #4103 )
2023-12-09 18:27:30 +00:00
9132660768
functionHooks: fix incorrect protlen calcs
2023-12-09 16:16:46 +00:00
dd0714c22a
input: add relative_input for tablets
...
closes #2639
2023-12-09 04:07:28 +00:00
11d1c50420
windowrules: add focus param
2023-12-08 16:02:16 +00:00
dranull
004bf94a23
keybinds: Keep focus on special when switching workspaces ( #4084 )
2023-12-07 22:12:08 +00:00
aa020a2a1a
toplevel-export: commence render pass before reading
...
fixes #4070
2023-12-07 17:58:13 +00:00
a794eecd6a
README: add note about hyprpm + clang-format
2023-12-07 10:46:12 +00:00
ddmetz
62a8d0be5c
keybinds: check for null last monitor in changeworkspace ( #4077 )
2023-12-07 00:09:25 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
5489f9f07a
renderer: use xray for background blur on small() surfaces
...
ref #4050
2023-12-06 20:17:40 +00:00
03c6f4506a
internal: various improvements to avoid crashes on exit
2023-12-06 14:46:29 +00:00
swwind
13b4c6de86
input: don't send mouse events on touch ( #4071 )
2023-12-06 14:30:40 +00:00
dranull
cfd94c5b30
input: Stop propagating axis events after valid binds ( #4059 )
2023-12-05 21:16:26 +00:00
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
37d7a8c64d
framebuffer: ignore addStencil on legacyRenderer
...
ref #4044
2023-12-05 15:41:17 +00:00
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
83248b6936
toplevelexport: fix getPreferredReadFormat param in captureToplevel
...
fixes #4043
2023-12-05 14:43:54 +00:00
2d04cb1cc6
input: make fallback layout us
2023-12-05 00:48:39 +00:00
c6804ccaab
opengl: fixup blur dirty repaint conditions with solitary
...
fixes #4025
2023-12-05 00:43:09 +00:00
Glizda
aa46aaed04
config: Add variables to default config ( #4032 )
...
* update default config
* Fix inconsistency in variable naming
* continuation of last commit
* edited example/hyprland.conf for parity
* fix issue
* deleted unwanted newline
2023-12-04 18:47:58 +00:00
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00
5d100bdcbb
opengl: clear layer fade fbs in ~dtor
2023-12-04 02:08:34 +00:00
45d3fbb8d8
opengl: free window framebuffers in ~dtor
...
ref #4036
2023-12-04 01:44:16 +00:00
dranull
9a9528d093
config: Minor --config improvements, fixes ( #4034 )
...
* Follow symlink, only file, absolute path for -c
* Create config file only for default paths
* Skip non-file source= glob results
* Check for absolute path on XDG_CONFIG_HOME
As per spec, all non-absolute paths should be ignored.
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2023-12-04 01:35:24 +00:00
e496b0f250
screencopy: fix detecting gl shm formats
...
ref #4029
2023-12-03 22:04:07 +00:00
dc2082b00a
screencopy: fix transformed on shm
2023-12-03 19:06:51 +00:00
dranull
59cb0e20de
input: Handle fullscreen windows in vectorToWindowIdeal ( #4021 )
2023-12-03 12:53:12 +00:00
80b9b21f9f
opengl: fix nvidia read formats
...
fixes #4023
2023-12-02 14:51:45 +00:00
thejch
758cf90ea1
workspacerules: Add workspace rule for master layout orientation ( #3964 )
...
* add workspace rule for master layout orientation
* change rule format
* edit rule name
* use map for layoutopts
* use std::any instead of string
2023-12-02 14:42:49 +00:00
6e8b9ef7d8
opengl: fix swapped rgb drm formats
2023-12-01 17:23:50 +00:00
9c09f2a847
screencopy: fix shm exports with 10-bit
...
fixes #4019
2023-12-01 17:20:56 +00:00