03771d3aa9
windowrules: add nearestneighbor
2023-10-24 21:29:03 +01:00
14a3c939ce
hyprctl: log monitor id in workspaces request
...
fixes #3640
2023-10-24 01:03:40 +01:00
aeb8c8fc70
internal: honor close_special_on_empty on moveToWorkspace
...
fixes #3602
2023-10-24 00:58:44 +01:00
616ff343b7
input: fix warn
2023-10-24 00:53:59 +01:00
2f6729f557
example: add special workspace to default config
2023-10-24 00:50:45 +01:00
015664eb4c
compositor: do not process fullscreen events in unsafe
2023-10-23 00:53:33 +01:00
98059b52d7
layershell: support ON_DEMAND keyboard mode
...
fixes #2264
2023-10-22 23:32:55 +01:00
Brenno Lemos
b135bd6cd4
workspacerules: Add new optional "default command" for auto-launching apps on new workspaces ( #3559 )
2023-10-22 23:11:03 +01:00
59f27e7f57
compositor: send preferred scale and transform events to surfaces
...
fixes #3635
2023-10-22 16:58:06 +01:00
d0367d8560
renderer: use preOffset pos instead of offset
...
offset is not passed to transformers, so if they change pos, decos will be in the wrong place
2023-10-21 19:51:14 +01:00
95db9108e5
transformers: allow modifying renderdata pre-pass
2023-10-21 19:25:44 +01:00
a61eb7694d
hooksystem: add callbackinfo struct and cancellable events
2023-10-21 14:52:43 +01:00
c6233a790f
renderer: avoid drawing invisibly small surfaces in renderSurface
2023-10-21 14:20:06 +01:00
92311d260a
renderer: add transformers
2023-10-21 14:15:56 +01:00
Roberto Previdi
af72404259
hyprctl: add a query for workspace rules ( #3630 )
2023-10-21 02:28:34 +01:00
4a79718fe8
renderer: fix shimmers when manual resizing
2023-10-20 20:32:47 +01:00
7f35f33b4c
surface/wayland: conform to small surface requirements
...
do not stretch small surfaces, instead center them if they fit.
2023-10-20 20:15:57 +01:00
thejch
bab2f6a664
master: fix movewindow across monitors ( #3628 )
2023-10-20 18:01:04 +01:00
thejch
bb9d0aed5b
compositor: Fix a lack of a check for workspace equality on same monitors in getInDirection ( #3625 )
...
* prevent movefocus and movewindow from going into main workspace when in special workspace
* compare workspace IDs instead
* change comparison and make code more readable
2023-10-20 10:53:37 +01:00
386708563c
workspacerules: search for special properly
...
fixes #3537
2023-10-19 16:04:59 +01:00
6e15590e98
shaders: support changing the outer radius of borders independently
2023-10-19 14:05:02 +01:00
a0b675ec9e
binds: add ignoreMods flag
2023-10-17 20:10:07 +01:00
André Silva
784f8a88fb
input: don't reset cursor movement timer on simulateMouseMovement ( #3595 )
...
Fixes #2570
2023-10-17 17:00:39 +01:00
thejch
20e7ccd480
master: fix resizing wrong window behind in special workspace ( #3591 )
2023-10-17 12:06:16 +01:00
eriedaberrie
421f5fb221
events: make new windows taking over fullscreen keep the existing mode ( #3588 )
2023-10-17 11:41:27 +01:00
Jan Beich
93676f91a0
renderer: cast std::clamp args to be of the same type ( #3589 )
...
src/render/OpenGL.cpp:1769:41: error: no matching function for call to 'clamp'
const auto FORCEWALLPAPER = std::clamp(*PFORCEWALLPAPER, -1L, 2L);
^~~~~~~~~~
/usr/include/c++/v1/__algorithm/clamp.h:38:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('int64_t' (aka 'long long') vs. 'long')
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
^
/usr/include/c++/v1/__algorithm/clamp.h:27:1: note: candidate function template not viable: requires 4 arguments, but 3 were provided
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
^
2023-10-17 01:29:06 +01:00
memchr
54e1c2ccbd
fix(build): do not include wlr headers directly, use includes.hpp instead. ( #3587 )
2023-10-16 17:39:12 +01:00
Alexander Seleznev
1f582457cf
Debug: respect logging settings for wlr ( #3584 )
2023-10-15 19:19:07 +01:00
Philip Damianik
442209942f
cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ( #3572 )
...
* Replace find() with C++20 starts_with() and ends_with()
* Replace find() with C++20 contains()
2023-10-15 19:07:23 +01:00
memchr
43b39e0bc6
build: include version.h in PluginAPI.hpp ( #3571 )
2023-10-15 12:22:51 +01:00
Vaxry
d5a572bd39
Plugin API: Add version query ( #3545 )
2023-10-14 18:47:43 +01:00
424c9a7e70
render: stop locking SWC on tearing
2023-10-13 22:11:21 +01:00
Michał Lewandowski
3a61350286
notifications: Schedule a frame on notification creation ( #3556 )
2023-10-13 00:05:05 +01:00
vaxerski
e4bcd2e2da
monitor: ensure vrr on workspace change
2023-10-12 17:26:35 +01:00
Vaxry
06cc42441c
build: guard execinfo.h via build systems ( #3547 )
...
* guard execinfo via cmake
* libexecinfo -> execinfo macro name
* meson: add execinfo check
* move check in cmake up
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-10-11 22:27:53 +01:00
Bernhard M. Wiedemann
5dc7161b1d
meson: Sort input file list ( #3550 )
...
so that hyprland builds in a reproducible way
in spite of non-deterministic filesystem readdir order.
See https://reproducible-builds.org/ for why this is good.
This patch was done while working on reproducible builds for openSUSE.
Co-authored-by: Bernhard M. Wiedemann <bernhard+gitcommit lsmod.de>
2023-10-11 19:49:42 +01:00
memchr
34455844e9
groups: ensure consistency in dispatcher behavior with global group lock ( #3531 )
2023-10-11 11:13:12 +01:00
vaxerski
d83357f497
internal: use pragma once in version.h
2023-10-10 21:03:07 +01:00
Vaxry
914851b91a
internal: better versioning ( #3543 )
...
* better versioning
* meson: better versioning
* nix: better versioning
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-10-10 20:21:57 +01:00
MightyPlaza
d537815d43
groups: create group and groupbar config sections ( #3522 )
...
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
2023-10-10 17:42:45 +01:00
Philip Damianik
ac1bd47653
dispatchers: Add option to center the cursor on the focused window when switching workspaces ( #3528 )
...
* Add option for centering on workspace when switching workspace
* Add option for centering on workspace when switching workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-10-10 17:34:28 +01:00
vaxerski
8abb6e1cee
screencopy: enhance error logging
2023-10-09 23:51:59 +01:00
Roberto Previdi
df0c8e0f7a
workspacerules: Add a persistent workspace rule ( #3530 )
...
* add persistent flag to workspace rules
* get rid of unused ws->indestructible flag
2023-10-09 20:28:22 +01:00
Michał Lewandowski
7f8e0a1318
dwindle: Avoid rounding errors in window position ( #3524 )
...
* Avoid rounding errors in window position
* Fix naming scheme
* Fix unwanted window movement
2023-10-09 12:28:58 +01:00
MightyPlaza
499df49f7b
dispatchers: fix extra monitor offset when snapping floating ( #3520 )
...
modified: src/managers/KeybindManager.cpp
2023-10-08 13:49:15 +01:00
vaxerski
728a8bb48e
config: mention force_default_wallpaper in default configs
2023-10-07 15:55:33 +01:00
DaniD3v
7d7565e7ec
renderer: add force_wallpaper instead of no_hypr_chan ( #3459 )
2023-10-07 14:08:38 +01:00
vaxerski
38e242953d
animationmgr: damage floating windows on workspace anim
...
fixes #3514
2023-10-07 02:28:23 +01:00
Jeremy Huang
61d3d4dee7
master: fix drop_at_cursor on workspace 2 ( #3512 )
2023-10-06 22:33:11 +01:00
ItsDrike
1afb00a01b
pluginapi: remove starting newline in demangled func name ( #3502 )
2023-10-06 14:01:40 +01:00
vaxerski
cb7dd1ac6e
layershell: avoid configure on unchanged size
...
fixes #3496
2023-10-06 14:00:05 +01:00
vaxerski
4b3efc73c5
events: fixup empty events not being sent on unmap
...
Ref #3506 https://github.com/hyprwm/Hyprland/issues/3506#issuecomment-1749508111
2023-10-06 01:11:47 +01:00
vaxerski
24c04a8b7c
crashreporter: avoid using empty CACHE_HOME
2023-10-05 16:57:54 +01:00
vaxerski
3d1a167960
wsrules: check for workspace ID matches on numbered workspaces
...
fixes #3494
2023-10-05 01:31:13 +01:00
322c5cc4b9
layout: add new_window_takes_over_fullscreen mode 2
...
fixes #3486
2023-10-04 15:00:24 +01:00
vaxerski
230356012b
renderer: extract solitary check into frame handler
2023-10-04 13:48:44 +01:00
vaxerski
4531717f3e
renderer: considerable fixes to repaint logic
2023-10-04 13:39:40 +01:00
vaxerski
f8c18ff797
renderer: fixup solitary conditions
2023-10-04 13:30:13 +01:00
vaxerski
f803be3d31
input: fixup frame schedule conditions on mouse move
2023-10-04 12:57:37 +01:00
vaxerski
2901bb0d2f
renderer: add further conditions to solitary recheck
2023-10-04 09:44:07 +01:00
Jeremy Huang
d61e4f9ad7
master: add option to drag and drop windows at cursor position ( #3465 )
...
* add option to drag and drop a window at cursor position
* use getWindowIdealBoundingBoxIgnoreReserved
2023-10-03 22:16:57 +01:00
vaxerski
b814ba98a7
misc: add misc:new_window_takes_over_fullscreen
...
referenced in #3474
2023-10-02 16:27:32 +01:00
vaxerski
50fecf084d
events: set new window alpha to 0 if it's tiled behind fullscreen
...
fixes #3474
2023-10-02 16:22:39 +01:00
vaxerski
5ffb1032e1
events: don't focus new window if spawned behind fullscreen
...
fixes #3473
2023-10-02 14:09:23 +01:00
vaxerski
fc1d7acd9a
renderer: fix missing check for surfaceCount in rechecking solitary
...
closes #3470
2023-10-02 14:02:19 +01:00
vaxerski
763bb2d3bc
renderer: remove old debug log
2023-10-02 10:50:33 +01:00
memchr
161fee1d82
internal: include missing header ( #3464 )
2023-10-01 12:26:10 +01:00
vaxerski
a2a29a60e5
tearing: cleanup vars and avoid rendering before drm is ready
2023-09-30 17:07:50 +01:00
vaxerski
e2b72b2975
renderer: avoid spamming software cursor locks
2023-09-30 16:55:41 +01:00
Dickby
772c7d1d3c
shaders: Remove redundant clamp of smoothsteps return value. ( #3456 )
2023-09-30 13:12:48 +01:00
vaxerski
6a4643842d
hyprctl: log activelyTearing for monitors
2023-09-30 13:12:04 +01:00
vaxerski
a05076a7ee
log: log wlr errors regardless of env
2023-09-30 13:12:04 +01:00
vaxerski
b8f8912db2
renderer: lock software cursors while tearing
2023-09-30 13:12:01 +01:00
vaxerski
86e8ed038f
includes: add missing log include to animatedvariable
2023-09-30 02:09:08 +01:00
vaxerski
c298439433
renderer: nuke multisample_edges in favor of a faster algorithm
2023-09-30 01:41:05 +01:00
vaxerski
495d4f2d11
shaders: improve border rounding
2023-09-30 01:35:05 +01:00
vaxerski
7b002d609b
input: fix warn
2023-09-29 20:06:20 +01:00
vaxerski
4daa515700
watchdog: don't hang on exit
2023-09-29 20:05:43 +01:00
vaxerski
e07e64458e
input: fix unused variable warn
2023-09-29 17:55:41 +01:00
vaxerski
a44ab7748f
renderer: optimize render pipeline when there is a solitary client
2023-09-29 17:51:07 +01:00
vaxerski
ab11bd2085
watchdog: remove thread on destroy
2023-09-29 17:33:26 +01:00
vaxerski
27cd7ef0c9
watchdog: initialize after config
2023-09-29 17:04:20 +01:00
vaxerski
9cc614d096
internal: add a watchdog
...
a watchdog will abort processing a signal if a timeout specified via debug:watchdog_timeout is reached.
2023-09-29 16:38:13 +01:00
vaxerski
453128ee0e
examples/readme: mention tearing
2023-09-28 22:09:14 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
vaxerski
d48c11cc3f
input: minor constraint fixes
...
Better adjust to constraints that do not set a hint. Fixes #3436
2023-09-28 20:02:00 +01:00
vaxerski
1f4eab176e
layout: don't discard fullscreen on new tiling
2023-09-28 17:49:40 +01:00
Cascade aka. Isoheptane
6d7dc70f66
input: Add map to region options for tablets ( #3425 )
...
* Add region remap for tablets
* Fix code style
2023-09-27 19:49:30 +01:00
ffacd2efd1
hyprctl: fix crash in unsafe state with activeworkspace
...
fixes #3419
2023-09-25 15:00:28 +01:00
vaxerski
3b657257ec
layout: check for specialworkspace in floating toggle
2023-09-24 23:20:15 +01:00
Legorel
6bdc45e9ce
config: restore configCurrenPath after sourcing file ( #3339 )
2023-09-24 23:11:34 +01:00
Vaxry
46d66f4bcc
internal: Further unsafe state improvements ( #3404 )
...
Instead of allowing Hyprland to sit in a state where there are no monitors, which various parts of the code don't like, we create a fake headless output on all monitor disconnect, and then remove it when a monitor appears
2023-09-24 18:04:38 +01:00
vaxerski
352ceb1117
config: trim spaces in the rule field in windowrulev2
2023-09-24 13:35:36 +01:00
vaxerski
3b445ec849
input: avoid using the wrong surface in drag focus force
2023-09-23 17:20:39 +01:00
memchr
8252957392
dispatchers: support number as arg in changegroupactive ( #3329 )
2023-09-23 13:36:40 +01:00
Jan Beich
8637bfb1b7
build: Unbreak build without precompiled headers ( #3400 )
...
* helpers: add missing header after 2e34548aea
src/helpers/VarList.cpp: In constructor 'CVarList::CVarList(const std::string&, size_t, char, bool)':
src/helpers/VarList.cpp:19:34: error: 'removeBeginEndSpacesTabs' was not declared in this scope
19 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(in.substr(pos)));
| ^~~~~~~~~~~~~~~~~~~~~~~~
src/helpers/VarList.cpp:23:30: error: 'removeBeginEndSpacesTabs' was not declared in this scope
23 | m_vArgs.emplace_back(removeBeginEndSpacesTabs(std::string_view{s}.data()));
| ^~~~~~~~~~~~~~~~~~~~~~~~
* helpers: add missing C linkage after 0dbd997003
ld.lld: error: undefined symbol: wlr_region_scale(pixman_region32*, pixman_region32 const*, float)
>>> referenced by Region.cpp
>>> src/Hyprland.p/helpers_Region.cpp.o:(CRegion::scale(float))
>>> did you mean: extern "C" wlr_region_scale
>>> defined in: /usr/lib/libwlroots.so.12032
2023-09-23 13:31:37 +01:00
vaxerski
de95089552
input: fixup mouse down refocus conditions
...
fixes #3402
2023-09-23 13:30:53 +01:00
vaxerski
9c00381dfc
hyprctl: avoid .pop_back() on empty string
2023-09-23 13:26:35 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +01:00
vaxerski
3b1e09e5a1
renderer: fix missing dontRound check in renderSurface
...
fixes 3296
2023-09-23 00:06:48 +01:00