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
vaxerski
9f68aa33ea
renderer: damage monitor on special workspace change
...
fixes #3396
2023-09-22 23:36:28 +01:00
vaxerski
ea45bfb63c
renderer: cleanup drm format selection
2023-09-22 20:15:12 +01:00
memchr
ea5d9584da
refactor: manually resets singletons ( #3395 )
2023-09-22 11:06:09 +01:00
memchr
1357b66091
windowrules: add rule group
to map windows grouped ( #3279 )
...
* windows: add rule group to map windows grouped
* group rule: use `invade` to force open a window in a locked group
2023-09-22 00:42:00 +01:00
vaxerski
2e1842b5ff
screencopy: log renderer_begin_with_buffer failures
2023-09-22 00:21:07 +01:00
vaxerski
b662215fad
input: simplify fullscreen workspace input calculations
...
Fixes an issue with special workspaces not receiving focus above fullscreen windows, and cleans up the code
2023-09-21 23:58:58 +01:00
alaricljs
e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher ( #3217 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
Mihai Fufezan
1925e64c21
Vector2D: fix typo in include
2023-09-20 22:26:08 +03:00
vaxerski
62efc045d7
input: lock focus to last surface on buttons held
...
fixes #3385
2023-09-20 19:50:46 +01:00
Vaxry
0dbd997003
input: Various constraint handling fixes ( #3381 )
...
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
memchr
6594b50e57
logging/format: use std::format_string to catch formatting string errors at compile time ( #3377 )
...
* fix(log): use constexpr format string
* deprecate getFormat
2023-09-20 08:26:20 +01:00
Dickby
d8d0cd75c2
internal: Make part of CCompositor::focusWindow a bit easier to read. ( #3356 )
2023-09-19 11:37:30 +01:00
memchr
c50072b108
varlist: cleanup unintuitive string splitting ( #3369 )
...
* refactor(varlist): replace unintuitive string splitting
* refactor(varlist): remove test asserts
2023-09-19 09:44:54 +01:00
vaxerski
60f10e6037
hyprctl: print monitor IDs as int64
2023-09-19 00:41:56 +01:00
vaxerski
e4d6695375
keybinds: focus last window on workspace change to another mon
2023-09-18 11:33:19 +01:00
Dickby
b0a82c04df
bezier: Remove Todo about N-Point bezier curves. ( #3352 )
2023-09-17 18:48:11 +01:00
vaxerski
af15b15b4b
input: guard constraint in unconstrainMouse
2023-09-17 16:46:04 +01:00
Mihai Fufezan
f72e04d63b
misc: add disable_hypr_chan option ( #3343 )
2023-09-17 15:26:24 +01:00
vaxerski
2f01a18989
window: recalculate layout on swallow in map
...
fixes #2848
2023-09-16 18:40:57 +01:00
Dickby
a53ec98b82
bezier: Optimize CBezierCurve::getYForPoint ( #3321 )
2023-09-16 18:32:33 +01:00
Jeremy Huang
cc630c90b5
master: partially revert 0e64dd2e
and fix the animation ( #3327 )
2023-09-15 22:13:23 +01:00
vaxerski
b9b38424b0
input: fix hints not being used if committed at the beginning
2023-09-15 21:01:54 +01:00
memchr
56adec7c1a
socket2: emit lockgroups event ( #3317 )
2023-09-15 12:06:59 +01:00
MightyPlaza
824290c791
windowrules: fix workspace exec rule with special ( #3316 )
...
modified: src/events/Windows.cpp
2023-09-15 12:05:21 +01:00
Jeremy Huang
d3cbec2d1a
master: Add mfact dispatcher ( #3298 )
...
* add mfact dispatcher
* limit mfact to between 0.05 and 0.95
* add try catch block for stof
* change log to err
2023-09-15 12:03:05 +01:00
vaxerski
2536630049
dwindle: fix moving windows on special
2023-09-14 15:37:45 +01:00
memchr
e6651334f2
refactor: flatten nesting if
s in layout window creation method ( #3294 )
2023-09-14 12:27:16 +01:00
Jeremy Huang
0e64dd2ea5
master: respect the resizing animation option in master layout ( #3300 )
2023-09-14 12:14:10 +01:00
memchr
db2b72adee
config: fix relative path resolution ( #3308 )
2023-09-14 12:07:31 +01:00
memchr
0dc8289b02
dwindle: fix: don't merge groups when moving window ( #3302 )
2023-09-14 11:56:29 +01:00
memchr
84f8f4d77d
keybinds: warp cursor to correct window in moveWindowOutOfGroup ( #3290 )
2023-09-13 15:02:21 +01:00
Jeremy Huang
2ad429dfe0
master: Fix the wrong resize speed in master layout center orientation ( #3289 )
...
* rebase
* change isStackVertical variable to make it more readable
* fix some code getting unnecessarily repeating in a loop
2023-09-13 11:48:19 +01:00
memchr
4f88897fc0
keybinds: avoid onWindowRemoved & onWindowCreated when group has one member ( #3286 )
...
Make moveWindowOutOfGroup behave like toggleGroup on a group with single
member, this prevents the window from moving around rabidly.
2023-09-13 11:44:02 +01:00
41e5f401c5
keybinds: simulate movement on empty focus after workspace change
2023-09-13 11:36:41 +01:00
b884544ee6
input: don't refocus on switched workspace on the same monitor
2023-09-13 11:33:36 +01:00
memchr
6b1ac659e0
layout: add direction parameter to onWindowCreated and friends ( #3269 )
...
* feat(layout): add direction parameter to onWindowCreated and friends
In addition:
- Implement directional moveWindowOutOfGroup for `movewindoworgroup`
when using dwindle layout. (augmentation of #3006 )
- Replace `DWindleLayout::OneTimeFocus` with `IHyprLayout::eDirection`.
- Slight formatting change (clang-format).
* fix: nullptr dereference in dwindle window creation
* refactor: generalized eDirection
* refactor: eliminate DIRECTION_NONE
* Update IHyprLayout.hpp
2023-09-13 11:13:29 +01:00
outfoxxed
b0d5e4008b
layout: Allow the layout to control how windows are raised in groups ( #3275 )
...
* Allow the layout to control how windows are raised in groups
Previously windows could only be focused if they weren't hidden or
were part of a group. This shifts the logic for picking the window out
of a group to the layout allowing for alternate group implementations
to function normally.
* Fix doc comment consistency
* Fix tabs in comments
2023-09-12 22:37:08 +01:00
be19773aaa
windowrules: fix workspace rule separation
...
fixes #3265
2023-09-12 16:50:10 +01:00
2e34548aea
varlist: move to a separate header, add join
2023-09-12 16:50:10 +01:00
memchr
5cc53c14d9
config: add wildcard handling in source= ( #3276 )
2023-09-12 12:54:05 +01:00
alaricljs
9192b20b96
windowrules: add on-screen constraint to wrv2 'move' ( #3247 )
...
* add on-screen constraint to wrv2 'move'
* review changes
* std::clamp
* more parens
---------
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-12 09:56:20 +01:00
memchr
bc41d7ec85
fix: inconsistent behaviour where last workspace was not saved ( #3261 )
2023-09-11 23:39:24 +01:00
memchr
df51c45d7f
keybinds: unify changeworkspace dispatcher ( #3250 )
...
* refactor: changeworkspace dispatcher
* refactor: remove redundant focusWindow calls
* refactor(changeworkspace): warp cursor to middle of last focused window
* refactor: use rememberPrevWorkspace
* Fix: `CWorkspace::rememberPreWorkspace` condition is illogical
2023-09-11 15:14:43 +01:00
5a6d0e9963
refactor: fix missed middle() call in CKeybindManager
2023-09-11 12:19:21 +01:00
alaricljs
99fac59938
keybinds: movewindow to screen edge for floating windows ( #3245 )
...
* movewindow to screen edge for floating windows
* review changes
* constify vars
---------
Co-authored-by: Leeman <lstrout@enlj.com>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-09-11 10:23:57 +01:00
memchr
e96e0dc02d
refactor: utilize 'middle()' method for window/montior center ( #3253 )
2023-09-11 10:09:34 +01:00
vaxerski
3859607b6c
input: do not process mouse in unsafe state
2023-09-10 23:44:47 +01:00
memchr
ac2f1a9c30
feat: add a new movewindoworgroup dispatcher ( #3006 )
2023-09-10 23:29:10 +01:00
alaricljs
81661b49aa
windowrules: add % to resizeparams ( #3246 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-10 23:26:14 +01:00
memchr
79862c957c
layout: add missing groupbar decoration to the window ( #3235 )
...
* fix: add missing groupbar decoration to the window
Add groupbar decoration to the operand window of `CWindow::insertWindowToGroup` if it does not exist, to prevent segmentation faults when mouse events are triggered after moving the window to a group, where `getDecorationByType(DECORATION_GROUPBAR)` unexpectedly returns nullptr.
Also fixed a bug where the group bar disappeared when the moveIntoGroup dispatcher's operand window was in a group.
* Update Window.cpp
2023-09-10 22:59:10 +01:00
Jeremy Huang
19bbdeed47
master: Add smart resizing option for master layout ( #3210 )
...
* add smart resizing for master layout
* fix smart resizing workspace check
* master layout fix smart resize when at max size
* change resizing for center orientation so it doesnt use all nodes
* master layout resizing, simplify code for calculating total height and weight
* remove the redundant smart resizing check
2023-09-10 22:58:06 +01:00
vaxerski
0d53401217
xwayland: adjust coord calculation
...
coord exactly at the corner would be calc'd wrong
2023-09-10 20:19:09 +01:00
vaxerski
d28725c678
keybinds: ignore conditions on special release
...
while the previous commit ignores mods, we also need to ignore other conditions to avoid dangling presses
2023-09-10 16:54:14 +01:00
vaxerski
dcb909df04
keybinds: track pressed special binds
...
Ignore mods only if we're processing a special bind, and only if it's pressed. Otherwise we might shadow normal key releases via ignoring mods. Fixes #3240
2023-09-10 16:27:14 +01:00
Philip Damianik
6c855dd6e4
internal: Fix wlr output management ( #3234 )
2023-09-10 13:14:27 +01:00
vaxerski
d490f198a4
keybinds: ignore mods on release of special binds
...
fixes #3208
2023-09-10 13:13:15 +01:00
memchr
a781c152ff
fix(layout): remove focusWindow
calls from onWindowCreatedTiling
( #3233 )
2023-09-10 12:55:18 +01:00
memchr
f7f70c9e72
refactor: replace lambdas with CKeybindManager::switchToWindow ( #3229 )
...
moves `switchToWindow` lambdas to a single private method
`CKeybindManager::switchToWindow()`.
fixes #3227 , as a by-product of the mouse motion simulation at the end
of `CKeybindManager::switchToWindow()`.
2023-09-10 12:51:27 +01:00
vaxerski
f4e99a36a9
input: don't warp region constraints
2023-09-10 12:49:53 +01:00
Philip Damianik
1a6f961de2
hyprctl: Make device configs queryable ( #3226 )
...
* Make device configs queryable
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
* Add set property to getoption output
---------
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-09 12:25:17 +01:00
shadowmax31
c061946a94
keybinds: Do not suppress pass and mouse release ( #3219 )
2023-09-09 10:15:24 +01:00
memchr
6648274735
fix: focusWindow on hidden workspace triggers another focusWindow. ( #3216 )
...
This commit address an issue where focusing a window on a hidden
workspace inadvertently triggered a second `focusWindow` call due to
simulated mouse movement. This behaviour led to the incorrect focus on
the window under the cursor instead of target window of method
`focusWindow()`, disrupting `focusurgentorlast` and `focuscurrentorlast`
dispatchers. Introduced a flag to the `CMonitor::changeWorkspace()`
method to prevent simulated mouse movements. This flag is set to false
by default. Changed the `focusWindow()` method accordingly to set this
flag to true when the target window is in a hidden workspace.
2023-09-08 19:17:04 +02:00
398e861b55
internal: fix warnings
2023-09-07 16:43:01 +02:00
vaxerski
cc5852faa2
config: disable blur special by default
...
very expensive
2023-09-07 00:35:44 +02:00
vaxerski
b2516010b7
hyprctl: fix missing comma in getopt -j
...
Fixes #3200
2023-09-06 23:52:25 +02:00
Philip Damianik
8c83852704
internal: Remove all .c_str()
calls when using std::vformat
( #3198 )
...
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-06 21:45:37 +02:00
Philip Damianik
60c01dab01
config: Integrate HASCONFIG into CConfigManager::getConfigValueSafeDevice ( #3195 )
2023-09-06 19:16:46 +02:00
Philip Damianik
a15e3e1f38
config/input: Improve fallback behavior for unset device config values ( #3184 )
...
* Fix fallback behavior for unset device config values
* Replace overload with default argument for fallback config key
* Remove default value for fallback argument in source
* Fix typos
2023-09-06 16:14:18 +02:00
vaxerski
a1cc99a986
pch: add format
2023-09-06 14:59:34 +02:00
unrealhoang
f90a009e93
input/config: add button scroll lock ( #3189 )
2023-09-06 14:54:48 +02:00
vaxerski
8b9cc9a8db
animationmgr: guard monitor ptr in animationSlide
2023-09-06 13:05:37 +02:00
vaxerski
37e2311a3e
config: loosen restrictions around animation keywords
...
Fixes #3185 , makes hyprland ignore further args if an animation is disabled
2023-09-06 12:58:01 +02:00
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +02:00
vaxerski
c3a83daa1e
monitor: minor adjustments
2023-09-05 22:16:14 +02:00
Dickby
fa3de9b70e
renderer: Fix blur for passes set to 0. ( #3181 )
2023-09-05 16:33:40 +02:00
vaxerski
2d100bf57e
socket2: add renameWorkspace event
2023-09-05 15:55:24 +02:00
Dickby
28f1f035b1
animationmgr: Optimize CAnimationManager::scheduleTick a bit. ( #3172 )
...
* Optimize CAnimationManager::scheduleTick a bit.
* Use integer in wl_event_source_timer_update call.
2023-09-05 15:06:39 +02:00
vaxerski
db48f973fd
xdgoutput: do not destroy resources on monitorRemoved
2023-09-05 13:33:08 +02:00
memchr
8e9f010ee0
build: use PCH to reduce compile time ( #3095 )
2023-09-04 19:56:02 +02:00
vaxerski
4eecb8bffc
config: don't enable vrr 2 for maximized workspaces
...
fixes #3162
2023-09-04 18:24:18 +02:00
vaxerski
d9937fcdba
input: minor constraint fixes
...
fixes the confined region, warping issues, etc. Closes #3158
2023-09-04 17:34:19 +02:00
vaxerski
e3c83ab2e0
xwaylandmgr: find closest output in xwayland coord translation
...
partially off-screen windows would be snapped to 0,0 otherwise
2023-09-04 17:30:48 +02:00
shadowmax31
b4c832a1f2
master: Add orientationcycle command on MasterLayout ( #3128 )
2023-09-04 16:45:58 +02:00
vaxerski
9f3a64481e
dwindle: add proper movement for window move binds
...
ditches the "movewindow = swapwindow" mechanism. Fixes #2804
2023-09-04 15:34:13 +02:00
memchr
69439871e6
refactor: replace manual iteration of CWindow with existing methods ( #3147 )
2023-09-04 15:13:39 +02:00
MightyPlaza
6a0e2bbff3
socket2: added "activespecial" IPC event ( #3163 )
2023-09-04 15:11:51 +02:00
vaxerski
32f75ebb70
renderer: separate workspace window render logic
...
Makes the logic used to render stuff over the windows (special, popups, ime, lockscreen) unified by yeeting the workspace window logic (which is separate cuz fullscreen windows) into their own funcs. Fixes #2053
2023-09-04 15:07:56 +02:00
vaxerski
35df4693ea
animatedvariable: don't reset timers on duplicate setters
...
Fixes the annoying jump when a recalc happens while a window is being animated
2023-09-04 13:11:56 +02:00
MightyPlaza
8fefb180b1
windowrules: Monitor rule fix ( #3157 )
...
* fix monitor rules
modified: src/events/Windows.cpp
* exec on workspace as silent when special is open
modified: src/events/Windows.cpp
2023-09-03 17:23:13 +02:00
vaxerski
5126bfab72
monitor: ignore no-op workspace changes
2023-09-03 17:21:55 +02:00
vaxerski
c6c820d16d
layout: always center floating xdg windows
2023-09-03 13:07:40 +02:00
vaxerski
e6ca4b6eee
window: check for special id matching in close_special_on_empty
2023-09-03 13:02:05 +02:00
vaxerski
5e0cf7d6a5
special: add misc:close_special_on_empty
...
fixes #3156
2023-09-03 13:00:06 +02:00
staz
01c6c5ae22
internal: Revert rounding of window size ( #3153 )
...
* Revert "renderer: round coords and size in renderWindow"
This reverts commit fc0c1896e0
.
* Revert "xwaylandmgr: round reported sizes"
This reverts commit 2985e20e6a
.
2023-09-03 12:51:48 +02:00
vaxerski
423b129b24
renderer: don't set enabled in applyMonitorRule
2023-09-03 12:43:57 +02:00
MightyPlaza
00bee91bbc
internal: workspace rule handling refactor ( #3116 )
...
modified: src/events/Windows.cpp
2023-09-02 20:41:02 +02:00
vaxerski
d4ec54d048
renderer: render IME popups in fullscreen
...
fixes #1353
2023-09-02 20:32:15 +02:00
memchr
69ce11a063
fix: use-after-free of CWindow* in CHyprGroupBarDecoration::draw ( #3146 )
2023-09-02 19:58:01 +02:00
vaxerski
204a580544
keybinds: fixup global conditions
2023-09-02 19:36:12 +02:00
vaxerski
1ecfb5e852
globalshortcuts: allow empty appid
2023-09-02 19:32:05 +02:00
vaxerski
2985e20e6a
xwaylandmgr: round reported sizes
...
Since we round the sizes in the renderer, it's also a good idea to round the sizes reported to the apps. Fixes #3138
2023-09-02 00:04:55 +02:00
vaxerski
d2a785dfe3
renderer: fixup occlusion conditions
...
fixes #3123 I fucking hate yall
2023-09-01 23:01:59 +02:00
vaxerski
563fe83db2
keybinds: set special monitor id before recalc
...
set special workspace's monitor ID before we call recalculateMonitor in toggleSpecialWorkspace. Fixes #1151
2023-09-01 22:57:23 +02:00
vaxerski
f242f9447b
keybinds: suppress up event if down was consumed
...
Fixes #3000
2023-09-01 22:14:10 +02:00
Vaxry
d9292800a2
internal: Unsafe state reworks ( #3114 )
2023-09-01 22:03:56 +02:00
vaxerski
774a5bedf8
waylandResource: remove user data in markDefunct and not ~dtor
2023-09-01 20:03:58 +02:00
vaxerski
bb0933437f
wlr-ext-workspace: remove protocol impl
...
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35 ) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
2023-09-01 17:10:03 +02:00
q234rty
5035f5fc68
text-input-v1: Fix preedit styling in chromium ( #3131 )
2023-09-01 16:39:15 +02:00
memchr
1a13d44d5d
refactor: raise SIGABRT instead of write to null address ( #3124 )
2023-08-31 22:52:02 +02:00
vaxerski
fc0c1896e0
renderer: round coords and size in renderWindow
2023-08-31 09:55:38 +02:00
vaxerski
9c4f776757
keybinds: fixup release conditions
...
honestly I already forgot why the m_vHeldBack vec existed. Seems useless and annoying. Fixes #3113
2023-08-30 23:23:35 +02:00
MightyPlaza
b10cae3010
decos: groupbar mouse interaction ( #3102 )
...
* allow groupbar clicking
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.hpp
* remove setting pos inside insertWindowToGroup()
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
* add group window by index and group size functions
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/managers/input/InputManager.cpp
* allow dragging into groupbar
modified: src/Window.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* allow dragging from groupbar
modified: src/managers/KeybindManager.cpp
* try groupbar clicking before border resize
modified: src/managers/input/InputManager.cpp
* block grabbing groupbar on floating (crash)
remove later when crashing is fixed
modified: src/managers/KeybindManager.cpp
* remove redundant { }
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
* implement getWindowDecorationBox()
modified: src/Window.cpp
modified: src/Window.hpp
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/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* fix crash when moveoutofgroup in floating windows
also removes dragging from floating windows limitation
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
* use CRegion in getWindowDecorationBox()
modified: src/helpers/Region.cpp
modified: src/helpers/Region.hpp
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/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* add groupbar scrolling
modified: src/config/ConfigManager.cpp
modified: src/managers/input/InputManager.cpp
* change name to getWindowDecorationRegion()
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/IHyprWindowDecoration.cpp
modified: src/render/decorations/IHyprWindowDecoration.hpp
* make dragging from group less hacky for floating
modified: src/managers/KeybindManager.cpp
2023-08-30 17:39:22 +02:00
vaxerski
c98a00678c
input: fix xwayland constraint calcs
...
some minor adjustments, fixes #3028
2023-08-30 17:23:35 +02:00
vaxerski
b4f123d1f2
compositor: remove wlr_scene refs
...
super old leftovers
2023-08-30 17:22:55 +02:00
vaxerski
28a90d6055
input: warp in unconstrainMouse
...
XWayland coord translation would fuck up if we did this in destroyConstraint
2023-08-30 13:42:17 +02:00
vaxerski
32f4059b37
screencopy: fix region sharing
...
translate before scaling if we are not dividing the coords
2023-08-30 13:17:26 +02:00
vaxerski
84c4a14dad
opengl: cleanup framebuffer style
2023-08-29 23:24:35 +02:00
vaxerski
981386d2ae
layout: allow changing float status of fullscreen windows
2023-08-28 22:55:52 +02:00
vaxerski
b8f38dcbd3
layout: allow drag on fullscreen windows
2023-08-28 22:54:23 +02:00
vaxerski
df691859fb
renderer: make contrast and brightness adjustments before rendering
2023-08-28 18:29:44 +02:00
Vaxry
4a41d013a2
internal: Fix XDP multi-portal issues ( #3077 )
...
* add a hyprland portals conf
* remove portal checks
* typo
* Nix: remove portal patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-08-26 17:12:21 +02:00
vaxerski
299d201e56
renderer: don't blur special on disabled blur
2023-08-26 11:48:04 +02:00
vaxerski
116b9a8056
xdgoutput: mark resources defunct when monitor is unplugged
2023-08-25 18:22:25 +02:00
vaxerski
9dae8ece71
layout: use full box for visibility check of floating xdg
...
Fixes #3069 , if an xdg dialog pops up and is partially off bounds, just move it to the center.
2023-08-25 18:10:12 +02:00
vaxerski
870471dd96
internal: allow opening empty special workspaces
...
Fixes point 2 of #2596
2023-08-25 18:05:08 +02:00
vaxerski
23e17700a7
renderer: add decoration:blur:special
...
will blur behind the special ws
2023-08-25 17:44:17 +02:00
memchr
f0da0b0be4
input: improved path handling; null check return value of fopen. ( #3061 )
2023-08-25 17:21:55 +02:00
vaxerski
3a1f30519b
compositor: fix offset in auto arrangeMonitors
...
Fixes #3043 , I am an idiot
2023-08-25 13:11:32 +02:00
vaxerski
6a5a5ed11e
input: add transparent binds
...
adds a new flag for binds to be transparent (non-shadowable)
fixes #3058
2023-08-25 12:35:24 +02:00
vaxerski
ad085666c1
input: sanitize newlines in device names
...
fixes #3066 by replacing newlines with dashes in device names
2023-08-25 12:17:48 +02:00
Jeremy Huang
90c03e5bd2
master: layout resize makes the wrong size changes ( #3064 )
2023-08-24 11:57:30 +02:00
end-4
17ea7db23a
gestures: Swipe direction lock ( #3052 )
2023-08-23 22:40:19 +02:00
vaxerski
9d094f655e
renderer: track fade alpha for blur if ignore opacity is true
...
with ignore_opacity, blur would stay at 1 opacity during a fadeOut animation on layers, making it look wrong. Fixes #3051
2023-08-23 12:03:27 +02:00
vaxerski
ba31518ed8
compositor: fix log types
2023-08-22 16:44:33 +02:00
MightyPlaza
41d9b6f0d7
dwindle: use smart on display borders ( #2897 )
2023-08-21 20:57:55 +02:00
memchr
9ad4a96d18
renderer: update alpha of layers only if active ws ( #2994 )
...
update `alpha` of ZWLR_LAYER_SHELL_V1_LAYER_TOP only when Workspaces is active on the monitor.
2023-08-21 20:55:57 +02:00
memchr
cb59763d32
fix: improved focus behaviour on workspace switching for follow_mouse!=1 ( #3041 )
...
* fix: improved focus behaviour on workspace switching for follow_mouse!=1
When the 'input:follow_mouse' is not set to 1 and the target workspace
for switching does not currently have the previously focused window,
Hyprland will prioritize focusing on the top-left-most window.
* fix : #2451 call simulateMouseMovement.
* unify logic
* multimon fix
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-08-21 20:54:02 +02:00
vaxerski
9977a8bfd4
compositor: log more in arrangeMonitors
2023-08-21 19:52:34 +02:00
Vaxry
37128bfd43
internal: Wayland Protocol impl improvements ( #2944 )
2023-08-21 19:36:09 +02:00
vaxerski
63b2189ce8
xdgshell: damage old popup coords after a reposition
...
fixes #3038 . I updated the shell ver without properly supporting .reposition
2023-08-21 01:15:00 +02:00
vaxerski
025c023e4b
xwayland: use logical pos in unmanaged geom requests
...
using raw xwayland coords is wrong cuz we use separate coord spaces
2023-08-21 00:39:39 +02:00
memchr
09cc96c0d5
feat(debug): add debug:suppress_errors to suppress errors. ( #3032 )
2023-08-20 18:17:49 +02:00
vaxerski
b79dfcceb4
compositor: fix missed raw throws
2023-08-20 13:58:46 +02:00
vaxerski
7713daa86a
compositor: log thrown runtime exceptions
2023-08-20 11:47:06 +02:00
vaxerski
fff118fa76
xdgoutput: don't send all details in .get
2023-08-19 21:14:12 +02:00
vaxerski
ebc5fed9b2
compositor: minor cleanup
2023-08-19 19:24:48 +02:00
942ee943f5
input: unify constraint hint logic
...
Unifies the constraint hint logic. Previously, ignoring the stupid conditions, unscaled hints were mistaken with scaled coordinates.
2023-08-18 22:40:23 +02:00
14f20a7372
xwayland: fix incorrect VECINRECT usage
...
Fixes #3002 . VECINRECT uses x2 and y2 and not w / h.
2023-08-18 22:20:05 +02:00
3d9545d2e0
shaders: minor premultiplication fixes
2023-08-18 22:07:28 +02:00
end-4
37a211a2ae
animations: add slidefade and slidefadevert styles for workspaces ( #3008 )
...
* add slidefade and slidefadevert animations
* fix swiping for slidefadevert
* rename minPerc to movePerc for slidefade anim styles
* change default slidefade percentage to 100%
* remove useless comments
* findlastof + 1
* debug logging for slidefade/slidefadevert percentage
2023-08-17 22:30:20 +02:00
MightyPlaza
7155b4c266
renderer: Border improvements ( #2986 )
...
* simplify getting border size
modified: src/Window.cpp
modified: src/Window.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* fix border damage and input box
modified: src/Window.cpp
modified: src/managers/AnimationManager.cpp
* add border size in resize_on_border box
modified: src/managers/input/InputManager.cpp
* simplify border (fixes possible typo)
modified: src/Window.cpp
* use updateSpecialRenderData()
modified: Window.cpp
modified: Window.hpp
modified: events/Windows.cpp
modified: layout/DwindleLayout.cpp
modified: layout/IHyprLayout.cpp
modified: layout/MasterLayout.cpp
modified: render/Renderer.cpp
* update window workspace rule data on reload
modified: src/config/ConfigManager.cpp
* use rounding()
modified: src/Window.cpp
2023-08-17 10:13:19 +02:00
7e8a212027
internal: allow negative monitor offsets
2023-08-16 18:16:39 +02:00
Dashie
19c4855afc
layout: Use refreshrate tick on all manual animations ( #2988 )
2023-08-16 10:56:48 +02:00
memchr
63b266cf65
internal: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE ( #2989 )
...
* fix: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE
ioctl VT_GETSTATE on stdin fails if it is not console, such as when
using GDM. `/dev/tty` should be used instead.
- `/dev/tty` is a synonym for the controlling terminal of a process, if
there is one.
---------
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-08-16 10:51:08 +02:00
4986d74ef2
xwayland: fix use of xwayland coords in native spaces
2023-08-15 20:10:43 +02:00
91e28bbe9d
xwayland: use a completely separate coordinate system
...
Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps.
Fixes #2916
2023-08-15 19:15:37 +02:00
kbtz
2b4537606f
master: fix always_center_master
( #2961 )
...
* master: fix always_center_master
* master: allow resizing single centered window
---------
Co-authored-by: kbtz <github@kbtz.dev>
2023-08-15 18:13:45 +02:00
347a1eb662
xdgoutput: separate logic for zero scaling positions
...
if a scaled monitor was directly to the left of another monitor, we'd change the size to have zero scaling without pushing other monitors out of the way, creating overlaps in xwayland.
2023-08-15 17:55:29 +02:00
7c4daee29a
compositor: fix skipping iterators in arrangeMonitors
2023-08-14 19:27:33 +02:00
b9a783229b
compositor: don't apply offsets in renderer
2023-08-14 18:41:52 +02:00
2110dc1f03
compositor: fix auto positioning offset calcs
2023-08-14 17:31:36 +02:00
13886a264f
internal: add a new monitor auto system
2023-08-14 14:22:10 +02:00
0314a727eb
layers: set proper alpha to top grabbing surfaces
2023-08-13 21:52:43 +02:00
0220e4c1ea
input: notify idle about activity on mouse move regardless of focus
2023-08-13 17:46:20 +02:00
MightyPlaza
4b568ae5f6
remove shadow no_gaps_when_only master ( #2958 )
...
* remove shadow no_gaps_when_only
modified: src/Window.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
* add master
modified: src/layout/MasterLayout.cpp
* fix wrong
modified: src/layout/MasterLayout.cpp
2023-08-13 10:18:48 +02:00
MightyPlaza
739598717b
remove shadow no_gaps_when_only ( #2956 )
...
modified: src/Window.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
2023-08-12 23:37:55 +02:00
3f7f4207a6
config: add vrr per-display
2023-08-11 17:37:57 +02:00
UserSv4
8a7ce59ad4
internal: Fix grouped windows not being properly focused on activation ( #2925 )
...
* Fix grouped windows not being properly focused on activation
This bug could happen if you:
1. Open two Chromium windows in a single group
2. Open some tabs in both of the windows
3. Using tabs search (Ctrl+Shift+A) try to switch to a tab in the second window from the first one.
When this happens any window focus would be lost (hyprctl activewindow starts to output "Invalid") and also the mouse cursor would become centered relatively to the second window.
* Update Compositor.cpp
2023-08-11 17:27:09 +02:00
60b548296d
internal: move backtrace to specific func
2023-08-11 17:22:19 +02:00
MightyPlaza
901236a535
rules: center window improvements ( #2935 )
...
* center window improvements
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
* remove redundant line
modified: src/events/Windows.cpp
* simplify code
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
2023-08-11 16:54:16 +02:00
e4e8ae8f88
dwindle: disallow togglesplit on fullscreen
2023-08-10 22:01:34 +02:00
MightyPlaza
c4c3b590e5
toplevel: patches group toplevel-activated ( #2931 )
...
* patches group toplevel-activated
modified: src/Compositor.cpp
modified: src/Window.cpp
* remove redundant call
modified: src/Compositor.cpp
* fix style
modified: src/Compositor.cpp
2023-08-10 20:06:39 +02:00
126792584f
renderer: don't add workspace offset to pinned
2023-08-09 22:15:37 +02:00
cbb899740c
rules: add layer and window xray rules
2023-08-09 22:03:31 +02:00
d7209b90bb
renderer: remember extents before removing a window and use them for dt
...
fixes #2351
2023-08-09 14:28:04 +02:00
8e04a80e60
toplevelexport: minor fixes to dmabuf
2023-08-08 19:10:53 +02:00
MightyPlaza
6295cbe9cb
keybinds: Keep aspect ratio ( #2907 )
2023-08-08 18:52:20 +02:00
ab73183cb2
config: adjust default background color
2023-08-08 18:04:46 +02:00
0x455241
b3393c429f
background: add background color option ( #2915 )
...
Co-authored-by: 0x455241 <>
2023-08-08 18:00:11 +02:00
c748f36939
internal: add lock files and hyprctl instances
2023-08-08 16:16:40 +02:00
Michael
ad3b8dddf9
keybinds: Only call fclose() when we have a valid file. ( #2908 )
...
Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
2023-08-08 16:07:15 +02:00
Michael
cebab759d5
Close keymap files. Fixes #2904 ( #2905 )
...
Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
2023-08-07 19:34:15 +02:00
deeeb33c5f
macros: fix missing include
2023-08-07 18:48:08 +02:00
261c3307f7
internal: cleanup headers in helpers/
2023-08-07 13:36:14 +02:00
6e53c47e68
renderer: fix missing premultiplication for border multisampling
2023-08-06 20:46:00 +02:00
6c10c38481
renderer: fully switch to premultiplied alpha
2023-08-06 20:33:36 +02:00
a077b7a92e
animationmgr: avoid redundant ticks
2023-08-05 23:29:33 +02:00
MightyPlaza
b925f1b497
fix workspace change focus ( #2891 )
2023-08-05 20:53:13 +02:00
vaxerski
ef0d97153a
xdgoutput: manually destroy manager resource
2023-08-04 14:07:41 +02:00
vaxerski
2e6693fbb6
compositor: update window rules on workspace move
2023-08-03 21:59:12 +02:00
romanstingler
7d98181ade
xwayland: drop wlr_xwayland_surface.events.set_pid ( #2884 )
...
Co-authored-by: Roman Stingler <roman.stingler@waterdrop.com>
2023-08-03 21:40:56 +02:00
vaxerski
7a2027d1fd
input: fix and unify client checking in mouseRequests
2023-08-03 18:44:07 +02:00
vaxerski
da46e01b97
config: update default config for new blur changes
2023-08-03 15:16:37 +02:00
Vaxry
d96f8ff0fe
renderer: Various Blur Improvements ( #2877 )
...
* move blur to its own category
* blur improvements, contrast, brightness, noise
2023-08-03 15:11:10 +02:00
vaxerski
5c50fac907
windowrules: add workspace param
2023-08-02 13:21:38 +02:00
vaxerski
51cda87fe4
hyprctl: rerender on cursor_zoom_factor dynamic calls
2023-08-01 18:08:53 +02:00
vaxerski
da0c74cdf0
config: schedule frame for mons on reload
2023-08-01 15:47:56 +02:00
vaxerski
08651736ad
keybinds: add toggle to dpms
2023-07-30 16:46:37 +02:00
vaxerski
f61a714320
renderer: cleanup old redundancies in CFramebuffer
2023-07-29 13:27:40 +02:00
Po-Yeh Chen
77818e3457
xwayland: Add temporary fix for #2808 by adding nullptr check. ( #2829 )
...
* Add temporary fix for #2808 by adding nullptr check.
* Remove redundency.
2023-07-28 17:12:24 +02:00
Gioele Pannetto
ef26f711c9
Added git tag in json version command ( #2821 )
2023-07-27 10:51:04 +02:00
vaxerski
a9b8e2159c
renderer: reset scissor after renderTexturePrimitive
2023-07-25 13:33:08 +02:00
vaxerski
4173d2ccf6
input: fix styling
2023-07-25 11:49:36 +02:00
vaxerski
f5913135c6
input: add support for cursor-shape-v1
2023-07-24 18:50:17 +02:00
vaxerski
603de16f9a
renderer: adjust distribution of backgrounds
2023-07-24 18:30:00 +02:00
ferrreo
f6b340cc19
init: Fix for issue #2797 ( #2799 )
...
* Fix for issue #2797
* Fix for issue #2797
* Fix for issue #2797
2023-07-24 18:26:24 +02:00
memchr
76c6e09e39
keybinds: Make moveintogroup locking check configurable ( #2796 )
...
* groups: revert to the old moveintogroup behaviour, ignore m_sGroupData.locked
* groups: Make moveintogroup locking check configurable
2023-07-24 18:25:10 +02:00
vaxerski
9bad2a8180
backgrounds: add hypr chan var 2
2023-07-24 18:22:39 +02:00
MightyPlaza
6db3c4ef5e
layout: no_border_when_only-improvements ( #2791 )
2023-07-24 12:13:40 +02:00
Mily
9fc5f4c48b
init: Request SCHED_RR using CAP_SYS_NICE and add Python to nix dev shell ( #2690 )
...
* nix: add python3 to devShell
* init: request SCHED_RR scheduling policy
* init: checks if host supports reseting scheduler on fork
* init: make gainRealTime more compatible with other OSes
* init: remove linux-only code
2023-07-23 20:51:00 +02:00
MightyPlaza
50e6f368ff
windowrules: implements nomaximizerequest ( #2785 )
...
* Window.hpp
* ConfigManager.cpp
* Windows.cpp
* fix maximize event
2023-07-23 19:47:41 +02:00
vaxerski
975c4175b2
hyprctl: unify and sanitize ver commit msg better
2023-07-23 19:43:15 +02:00
vaxerski
af395a8f55
windowrules: fix opacity override
2023-07-23 16:03:59 +02:00
vaxerski
90f69782ee
window: fix segfault in boundingbox
2023-07-23 16:02:35 +02:00
vaxerski
5a64c73e05
render: use primitive end() only when no screen shader is present
2023-07-23 15:54:27 +02:00
end-4
9845f99b60
add config option to enable/disable new intuitive resizing ( #2774 )
...
dwindle:smart_resizing = 1 by default
== 1 then use new resizing
else use old resizing
2023-07-23 15:50:09 +02:00
MightyPlaza
d3bba2489d
render: Border fixes ( #2781 )
...
* Window.cpp
* layout
* CHyprGroupBarDecoration.cpp
2023-07-23 15:49:49 +02:00
Rachel Knight
b21644b611
input: Fix #2376 mouse movement bug in XWayland ( #2776 )
2023-07-22 19:31:36 +02:00
vaxerski
b70553cf46
opengl: fix warn
2023-07-22 19:26:56 +02:00
vaxerski
1a7fb1572a
renderer: disable init anim on disabled animations
2023-07-22 19:26:44 +02:00
outfoxxed
375e8385ee
Fix background occlusion ignoring monitor position ( #2771 )
2023-07-22 10:19:51 +02:00
vaxerski
27dd07f1b8
windowrules: improve opacity
2023-07-21 19:05:00 +02:00
vaxerski
263b9c6e39
socket1: add a timeout for requests
2023-07-21 17:20:23 +02:00
vaxerski
d7e9eb65e2
renderer: use primitive rendering for copying buffers
2023-07-21 17:11:54 +02:00
vaxerski
f864b15427
background: add option to force hypr chan
2023-07-20 21:01:07 +02:00
vaxerski
61dc0909ae
layout: use warp() instead of setValue()
2023-07-20 20:03:27 +02:00
MightyPlaza
ca54ceff6f
groups: add use_current_group_pos ( #2759 )
2023-07-20 19:48:32 +02:00
vaxerski
6c1f4faff2
animationmgr: avoid looping over all avars in favor of only active ones
2023-07-20 19:26:10 +02:00
vaxerski
a3f6a72a51
region: allow ctor from pixman_box32_t
2023-07-20 18:27:28 +02:00
vaxerski
d2a8b8c2de
renderer: cleanup back buffer skip checks
2023-07-20 18:27:14 +02:00
vaxerski
833d73df09
shaders: short-circuit rounding if radius <= 0
2023-07-20 18:18:53 +02:00
vaxerski
23eda1411b
renderer: scale box for occlusion
2023-07-20 18:12:29 +02:00
vaxerski
ff598b0827
renderer: don't occlude when pre-blur is queued
2023-07-20 18:03:47 +02:00
vaxerski
a3e1e5e8ba
tracy: add more opengl zones
2023-07-20 17:51:38 +02:00
vaxerski
a921c5b89e
Debug: add tracy
2023-07-20 17:47:49 +02:00
vaxerski
948855a984
renderer: add canSkipBackBufferClear
2023-07-20 14:11:05 +02:00
vaxerski
547305c7ed
opengl: adjust blend and reduce the usage of clear
2023-07-20 13:49:28 +02:00
vaxerski
b65adf8d4a
toplevelexport: support dmabuf + various fixes
2023-07-20 12:42:25 +02:00
vaxerski
7091d4e597
animationmanager: optimize avar state
2023-07-19 22:40:03 +02:00
vaxerski
80cd2ef3d7
renderer: remove unused var
2023-07-19 21:10:42 +02:00
vaxerski
2c2314faa0
renderer: take workspace offset into account for occlusion
2023-07-19 21:08:49 +02:00
vaxerski
88c2a02773
render: avoid allocating mirrorfb for no reason
2023-07-19 21:04:45 +02:00
Vaxry
89b87158db
internal: Wrap regions ( #2750 )
2023-07-19 20:09:49 +02:00
vaxerski
ce9896204a
renderer: fix rounding in renderSurface
2023-07-19 20:06:19 +02:00
vaxerski
f4f0f35c5b
renderer: add occlusion for back layers
2023-07-19 16:13:55 +02:00
vaxerski
aac75ddcbf
screencopy: guard region buffer values in frameDamage
2023-07-19 13:10:41 +02:00
outfoxxed
5cd5631fb2
Add bringWindowToTop function to IHyprLayout ( #2747 )
...
* Add bringWindowToTop function to IHyprLayout
* Rename `bringWindowToTop` to `requestFocusForWindow`
* Fix doc
2023-07-19 12:39:45 +02:00
vaxerski
b8a7b09092
screencopy: use wlr_buffer api for shm copies
2023-07-19 12:24:41 +02:00
vaxerski
81f4a4f471
screencopy: improve shm handling
2023-07-19 00:51:38 +02:00
vaxerski
2623364dbd
no_xwayland: fix redef
2023-07-19 00:33:47 +02:00
MightyPlaza
3b03597784
keybinds: movegroupwindow-improvement ( #2740 )
...
* movegroupwindow-improvement
* use std::swap
2023-07-19 00:30:10 +02:00
vaxerski
ce9c5fd722
render: set refresh to 0 for both wl and x11 backends
2023-07-19 00:28:15 +02:00
vaxerski
f2999e84b9
render: set refresh to 0 for wayland backend outputs
2023-07-19 00:02:57 +02:00
Aaron Blasko
7c1dacea09
only return 0 when using -h ( #2738 )
2023-07-18 21:00:08 +02:00
vaxerski
16fd9084ea
screencopy: nullcheck for empty buffer
2023-07-18 15:52:53 +02:00
vaxerski
0ba28a46fd
monitor: unplug all callbacks in ~dtor
2023-07-18 15:36:27 +02:00
Vaxry
8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl ( #2733 )
...
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00
vaxerski
629e61c7a5
monitor: disconnect bind on disconnect
2023-07-18 15:22:49 +02:00
vaxerski
2e323a5671
renderer: use correct wlr sample func
2023-07-18 12:25:48 +02:00
Jan Beich
8c9e2e1ff1
deps: update wlroots ( #2734 )
2023-07-18 12:13:59 +02:00
István Donkó
5c8a20be77
fix: handle window change directions in fullscreen ( #2728 )
2023-07-18 12:12:50 +02:00
Tuur Vanhoutte
d2eb4fee76
Avoid connected monitor reusing unavailable ID ( #2731 )
2023-07-18 12:12:05 +02:00
vaxerski
4537860079
layout: recalculate monitor instead of window in updateDynamicRules
2023-07-18 11:49:57 +02:00
vaxerski
7f47655f60
layout: recalc window on dynamic rule update
2023-07-18 00:11:43 +02:00
vaxerski
2c7b2ad6ca
windowrules: add border size rule
2023-07-18 00:11:29 +02:00
MightyPlaza
ddb8c89776
Allow empty args in hyprctl dispatch ( #2724 )
2023-07-16 21:01:06 +02:00
MightyPlaza
cacdb424a9
massive-fix ( #2725 )
2023-07-16 21:00:38 +02:00
vaxerski
3229862dd4
xwayland: guard monitor validity in xwayland scale overriding
2023-07-15 23:10:05 +02:00
vaxerski
06563d7034
popups: update parent pos on commit
2023-07-15 18:27:21 +02:00
vaxerski
459afcc47f
idle: fix reverse flag for new idle protocol
2023-07-14 20:02:31 +02:00
Lennard Hofmann
06f5910365
Make bind modmask case-insensitive ( #2714 )
2023-07-14 18:39:53 +02:00
MightyPlaza
b159634ef9
move/resize window ( #2706 )
2023-07-13 20:20:40 +02:00
MightyPlaza
db2367bf33
update groub decos ( #2705 )
2023-07-13 20:17:14 +02:00
vaxerski
f8def68e7e
idle: implement new protocol
2023-07-13 18:05:34 +02:00
vaxerski
9f7382bca4
keybinds: add movegroupwindow
2023-07-13 17:55:25 +02:00
Daniel Adolfsson
d3a644d81c
Dwindle: Make resize more intuitive ( #2681 )
...
* improved resize
* clang-format
* rewrite
* almost legacy behavior when using CORNER_NONE
2023-07-13 16:52:11 +02:00
vaxerski
70dae78c1b
background: add mascot versions
2023-07-13 14:32:30 +02:00
zakk4223
21f64b6660
Keep new mapped layer's alpha zero if the workspace has a fullscreen window ( #2686 )
...
Co-authored-by: Zakk <zakk@rsdio.com>
2023-07-12 12:58:45 +02:00
vaxerski
7a7e3ee6d9
screencopy: don't send frames on commits w/o a buffer
2023-07-12 00:30:42 +02:00
vaxerski
9c9f56743e
groupbar: fix vram leak
2023-07-11 20:57:38 +02:00
Daniel Adolfsson
64e7d5345d
Add support for smart splitting ( #2676 )
...
* Add support for smart splitting
* clang-format
* smart_split default to 0, and make smart_split behave like preserve_split
2023-07-11 13:37:25 +02:00
MightyPlaza
29d017f54b
monitor desc default workspace but working now ( #2678 )
...
* fix desc check
* fixes crashes when nulptr
2023-07-11 11:29:19 +02:00
vaxerski
26579fa962
texture: fix styling
2023-07-11 00:27:13 +02:00
vaxerski
0c61a1530f
plugins: fix config value usage in init
2023-07-10 14:13:23 +02:00
vaxerski
da7ea2b33d
pluginapi: add configReloaded event
2023-07-10 13:54:06 +02:00
vaxerski
382af06406
render: resize subsurfaces with size resizes
2023-07-10 13:32:57 +02:00
vaxerski
515a363ecd
render: move lastFrameDamage to CMonitor
2023-07-10 13:21:00 +02:00
vaxerski
fe54dcb4eb
screencopy: send original damage, avoid extents
2023-07-10 13:17:21 +02:00
vaxerski
42f46aeac5
config: minor path handling fixes
2023-07-10 13:10:34 +02:00
MightyPlaza
4cc0e6de90
monitor desc default workspace ( #2673 )
2023-07-10 07:53:03 +02:00
MightyPlaza
d9f7f039e1
monitor desc support ( #2670 )
...
* monitor desc
* monitor desc
2023-07-09 23:10:35 +02:00
Tuur Vanhoutte
b99ac063ea
Reuse same ID when reconnecting monitor, otherwise use minimum available ID ( #2666 )
...
Fixes #2601
2023-07-09 23:08:40 +02:00
vaxerski
b33d82734f
input: schedule frame on mouse move
2023-07-09 00:44:32 +02:00
Ed Younis
f49af187bc
Xdg config home support ( #2047 )
...
* config: Add support for XDG_CONFIG_HOME
Contributes-to: #1040
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
* config: Log used config file
* config: Add GetConfigDir and minor fixes
* config: fixed minor nitpicks
---------
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
2023-07-07 19:19:35 +02:00
vaxerski
e632bf176b
config: fix reading touchpad values to non-touchpad per-device cfgs
2023-07-06 16:26:38 +02:00
Mykola Perehudov
41358c6fb5
Cleanup compositor deadcode ( #2657 )
...
* Remove dead code as it is a part of CCompositor::cleanup
* Unify sd_notify logic with Compositor lifetime
2023-07-06 15:24:49 +02:00
Mykola Perehudov
bbedb065e1
eventmanager: drop obsoleted ignore events flag ( #2660 )
...
This flag became obsoleted in commit
287e6c4ede
2023-07-06 15:23:11 +02:00
Mykola Perehudov
0c974b7236
Avoid passing control unix socket descriptors to children ( #2656 )
...
Add SOCK_CLOEXEC flags to server side connection FDs to make them
closed during execve(2).
2023-07-06 11:39:02 +02:00
nexec
8407a9af0a
Close socket2 client descriptor on hangup ( #2654 )
2023-07-06 00:18:44 +02:00
vaxerski
86e487e003
input: remove old redundant code
2023-07-05 13:20:40 +02:00
MightyPlaza
34d845da13
typo ( #2643 )
2023-07-04 22:03:19 +02:00
vaxerski
07d7962c7f
swipe: fix mixup of r/m
2023-07-04 12:34:22 +02:00
vaxerski
18f9fb5e0f
rules: add stayfocused
2023-07-04 12:05:25 +02:00
vaxerski
6f91997f06
layout: improve time restraints in window drag
2023-07-04 11:49:24 +02:00
MightyPlaza
283a8e77aa
screenshot fix ( #2640 )
2023-07-04 11:40:28 +02:00
MightyPlaza
50755d26d4
lockgroups fix ( #2636 )
2023-07-03 15:53:04 +02:00
MightyPlaza
05047f60f4
groupbar fixes ( #2630 )
...
Fixes multiple groupbar decoration issues:
- togglegroup removes fullscreen to avoid to avoid weird state
- fixes issue where a group had multiple windows with head = true
- fixes issue where merging 2 groups would cause a window to have 2 groupbar decorations
- fixes issue where merging a group with more than 1 window into another group would make windows have no groupbar decoration
- fixes issue where ungrouping windows could just move them into another group on the same workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-07-03 12:49:56 +02:00
vaxerski
738ec900f4
config: fix floating rules with floating-by-rule windows
2023-07-02 13:02:48 +02:00
vaxerski
86ca283352
gestures: add workspace_swipe_use_r
2023-07-01 16:30:36 +02:00
vaxerski
6c28388420
layout: minor style fixes
2023-07-01 16:28:17 +02:00
vaxerski
e96fcb31f0
layout: set pseudo to float size in new window
2023-06-30 11:29:06 +02:00
vaxerski
1012e2735a
shader: remove useless comment
2023-06-29 23:20:10 +02:00
MightyPlaza
990ad854bd
Reloads animated decoration values set on window rules ( #2594 )
...
* Reloads dynamic window rules
* Update ConfigManager.cpp
* Update ConfigManager.cpp
* Reloads animated decoration values set on window rules
Reloads animated decoration values like border color and opacity set on window rule on config reload.
2023-06-28 11:40:16 +02:00
d83296c7a9
renderer: damage decos on damageWindow
2023-06-27 13:23:58 +02:00
MightyPlaza
7ed66abe57
Reloads dynamic window rules ( #2585 )
...
* Reloads dynamic window rules
* Update ConfigManager.cpp
* Update ConfigManager.cpp
2023-06-26 13:03:51 +02:00
4294456cdc
xwayland: remove spaces from output names
2023-06-25 13:52:24 +02:00
01f85a09a9
xwayland: send zero scaling to xwayland if enabled
2023-06-23 21:42:44 +02:00
69fae18e63
damage: account for popups in getFullWindowBoundingBox
2023-06-23 13:54:01 +02:00
c241da5ea5
crashreporter: log tag
2023-06-23 13:22:38 +02:00
0283c498d6
xwayland: fix minor force_zero_scaling bugs
2023-06-22 21:43:31 +02:00
fc59cef1ee
keybinds: remove old todo
2023-06-21 21:20:26 +02:00
2f875aec79
includes: move workspace protocol header to includes
2023-06-21 21:17:05 +02:00
cfa4086b0b
configmgr: fix idiotic comparisons in device configs
2023-06-21 20:58:35 +02:00
cbe9bf0e69
compositor: move group members properly in moveWindowToWorkspaceSafe
2023-06-21 20:51:18 +02:00
83ad6b9af8
groupbar: fix damage calcs
2023-06-21 13:16:10 +02:00
cabdf38ce4
internal: minor style fixes
2023-06-20 21:35:54 +02:00
2295bbdd80
xwaylandmanager: fixup style
2023-06-18 18:14:52 +02:00
Shemig
74ca81cc79
Partial revert of Commit 302ec13
: ( #2539 )
...
Fix crash when screen size is 0x0 (#2523 )
Reason: The disable of a monitor with 0x0 size
is causing issuses with some users.
https://github.com/hyprwm/Hyprland/issues/2537
Left the defensive code to resolve the crash.
Will continue to investigate and find a solution for the
dell xps disabled monitor
Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-17 18:49:37 +02:00
vaxerski
5ac625d7bd
format: fix hooksystem
2023-06-16 18:45:14 +02:00
Shemig
302ec1372c
Fix crash when screen size is 0x0 ( #2523 )
...
(When booting into laptop clam mode in dell XPS)
and also ignore any screen with size 0x0 in the first place
Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-15 22:07:58 +02:00
vaxerski
c4dec4f796
internal: damage window on change group
2023-06-14 19:44:51 +02:00
vaxerski
0f1911a8d4
opengl: fix invalid tex references to tex-less shader
2023-06-14 13:47:57 +02:00
vaxerski
e43f7fc98d
shader: init uniforms to -1
2023-06-14 13:29:12 +02:00
vaxerski
fbabb105c3
gamma: use wlr's new gamma manager event
2023-06-14 13:26:47 +02:00
outfoxxed
f0e4f6622e
Implement pass binds ( #2503 )
...
* Implement pass binds
Pass binds run the associated dispatcher but do not prevent windows
from receiving the bind.
* Fix pass binds not working properly with release binds
* Rename `pass` to `nonConsuming`
2023-06-14 13:08:56 +02:00
JManch
9a88c19f1a
screenshader: fix uniform variable checks ( #2513 )
2023-06-14 13:03:20 +02:00
vaxerski
7762ac0173
toplevelexport: ignore defunct windows
2023-06-13 20:13:21 +02:00
vaxerski
e8c6d0f51e
compositor: don't set dim percent on disabled dim
2023-06-13 18:51:49 +02:00
vaxerski
807b52b019
animationmgr: warp on equal start and goal
2023-06-13 18:50:45 +02:00
vaxerski
0e31eaa157
shadow: drop useless damageEntire()
2023-06-13 18:50:45 +02:00
memchr
24ed9b061f
feat: add variable to customize locked group border color ( #2507 )
...
added variables:
- general:col.group_border_locked
- general:col.group_border_locked_active
2023-06-13 12:04:54 +02:00
6beb79f27b
xwayland: add force_zero_scaling
2023-06-11 21:52:13 +02:00
64ce06a353
xwayland: add nearest neighbor filtering as an opt
2023-06-11 21:33:59 +02:00
end-4
e1edfde539
Allow setting alpha value for ignorezero layer rule ( #2477 )
...
* rename ignorezero to ignorealpha
* allow setting ignorealpha value
This commit allows setting a float value (0-1) for the ignorealpha layer rule.
Does not yet have error handling; invalid ignorealpha layer rule will crash Hyprland.
* add brackets i forgot to add
* prevent crash with invalid ignorealpha value
prevents hyprland from immediately crashing with invalid ignorealpha layer rule
does not log
* don't try to set ignoreAlphaValue if alpha value not specified
* add catch to try, reintroduce ignorezero
- added catch after try cuz i was an idiot
- re-add ignorezero as an alternative to ignorealpha to not introduce a breaking change
* add logging for failed ignorealpha layer rule
* fix get ignorealpha's get VALUE
* check npos and use empty()
* rename VALUE cuz no longer const
* format Shader.hpp
2023-06-11 19:30:31 +02:00
Nicola Guerrera
10fd75c833
zoom: multiply by scale only on mouseZoomUseMouse ( #2495 )
2023-06-10 23:00:41 +02:00
7932e42507
screenshader: add output uniform
2023-06-10 16:10:26 +02:00
Nicola Guerrera
003993337a
calculate zoom_center based on monitor scale ( #2482 )
2023-06-10 12:28:00 +02:00
memchr
bca3068db2
feat: add lockactivegroup dispatcher ( #2478 )
...
* feat: add lockactivegroup dispatcher
The `lockactivewindow` dispatcher takes `lock`, `toggle` or `unlock` as arguments. When a group is locked, no window or group can be added to it, nor can it be added to another group, but the `moveintogroup` and `moveoutofgroup` dispatches are not affected.
Implementation details:
the lock is implement via `SGroupData.locked` flag (defaults to false).
The flag is only relevant to the group head, and upon the group head's succession, the flag will be passed down to the new head. Meanwhile, the old head's flag will be set to false.
The flag is set to false when a group is dismissed.
New condition checks have been added to the dwindle and master layout to check if target group is unlocked (and if the source is also a group and unlocked) before adding windows to the target group.
* refactor: `lockactivegroup dispatcher code ordering
2023-06-09 23:44:18 +02:00
cf37922d42
input: update surface input on changeworkspace
2023-06-09 12:20:40 +02:00
eriedaberrie
d123835ef5
main: fix segfault when -c is given with no other arguments ( #2470 )
2023-06-09 12:15:18 +02:00
Franz Berger
4afeedbd56
Fix fractional scale updates in some cases ( #2447 )
...
* fix fractional scale update in moveWorkspaceToMonitor
* fix fractional scale update in moveToWorkspace
* Revert "fix fractional scale update in moveWorkspaceToMonitor"
This reverts commit 6612197a38
.
* Revert "fix fractional scale update in moveToWorkspace"
This reverts commit 75d9795a06
.
* move fractional scale code to updateSurfaceOutputs
* remove duplicate check
* remove superfluous setPreferredScale()
2023-06-06 09:48:07 +02:00
10db5a4fdb
xwayland: disconnect events on destroy
...
thanks Kirill Primak
2023-06-05 20:51:47 +02:00
1a4e6e6a4b
window: recalc on deco remove
2023-06-05 09:49:21 +02:00
staz
e4e6ddb075
Make movetoworkspace register previous workspace ( #2436 )
...
* Make movetoworkspace register previous workspace
* style: no braces + format with clang-format
2023-06-05 09:44:13 +02:00
4ef684f615
hyprctl: recalc layout on setprop
2023-06-04 21:35:23 +02:00
2629cfeeab
layouts: make aware of borderSize prop
2023-06-04 21:35:23 +02:00
d83e5b8409
internal: make borderSize prop overridable
2023-06-04 21:35:23 +02:00
c5a7202cd9
noxwl: add missing stubs
2023-06-03 13:01:32 +02:00
147e962370
deps: update wlroots
2023-06-03 12:20:28 +02:00
Cyril Levis
d7db7040d4
feat: add ipc set title window event ( #2419 )
...
* feat: add ipc set title window event
* chore: add EMIT_HOOK_EVENT and change event name
2023-06-03 11:18:49 +02:00
871ab24c6e
internal: properly set monitor props on special windows
2023-06-02 20:14:34 +02:00
ce0f248d20
events: remove old comment
2023-06-02 19:50:02 +02:00
Sinkerine
ca3791fed8
[hyprctl] Expose the special workspace id and name of the monitor ( #2392 )
...
* [hyprctl] Expose the special workspace id of the monitor
So that we know if a special workspace is shown on a monitor
* [hyprctl] Add special workspace name to the output
2023-06-02 13:25:33 +02:00
e76bd43f53
rules: add nodim
2023-05-31 21:11:20 +02:00
baf81cdc5d
input: force focus on movefocus
2023-05-31 20:59:38 +02:00
9f72d508ae
groupbars: fix damage calcs
2023-05-31 19:53:58 +02:00
fd73a7f795
gradient: fix warn
2023-05-31 15:55:54 +02:00
vaxerski
a7cfbdb854
keybinds: fix tryMoveFocusToMonitor with special
2023-05-29 18:11:37 +02:00
vaxerski
1e3571eb5b
layout: don't reset to floating size on drag tiled
2023-05-29 18:05:41 +02:00
vaxerski
5484411232
compositor: disallow sending pinned to special
2023-05-29 17:46:12 +02:00
Jan Beich
f1ad270ff8
vector: restore cmath include after 438d063ec6
( #2394 )
...
src/helpers/Vector2D.cpp:27:26: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:27:41: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:37:17: error: no member named 'sqrt' in namespace 'std'
return std::sqrt(dx * dx + dy * dy);
~~~~~^
2023-05-29 15:12:00 +02:00
Jeremy Huang
b3a86952cf
focus: fix #1675 window not scrollable after movefocus ( #2390 )
2023-05-29 09:52:36 +02:00
outfoxxed
409ff027f8
Fix UAF in animation end callback if callback deletes the animation ( #2389 )
...
Removes use after free when the end callback deletes the animation as
long as `m_bRemoveEndAfterRan` is false.
2023-05-29 09:51:58 +02:00
vaxerski
438d063ec6
vector: use c++ stdlib math functions instead of cmath
2023-05-28 22:50:13 +02:00
vaxerski
078ba6daa8
groupbars: add text color opt
2023-05-27 17:46:02 +02:00
Jeremy Huang
8afc2f45c7
focus: make cursor follow movewindow ( #2374 )
2023-05-27 12:16:50 +02:00
vaxerski
5f4659afef
xdgshell: check and conform to rigid float sizes on commit
2023-05-26 14:49:03 +02:00
vaxerski
0887e2ee6e
window: reveal current from group on toplevel activate
2023-05-26 13:44:59 +02:00
vaxerski
62e3953f5b
master: guard monitor in recalc
2023-05-26 13:41:52 +02:00
vaxerski
9c9b74179c
pluginapi: add separate window render events
2023-05-26 13:07:45 +02:00
vaxerski
a2bb95fc60
touch: fix double offset in local
2023-05-24 22:19:22 +02:00
vaxerski
12227d7b6a
input: only configure newly added touch devices
2023-05-24 22:17:33 +02:00
vaxerski
a4c120d608
layouts: ignore direction forces on non-map
2023-05-24 19:23:10 +02:00
eriedaberrie
53285a75ad
hyprctl: fix cut-off json outputs ( #2352 )
...
* hyprctl: fix cut-off json outputs
* Address comments
2023-05-24 17:46:56 +02:00
vaxerski
f877d68f4f
launchanim: fix #2291
2023-05-24 15:49:31 +02:00
vaxerski
eb1f832fce
decos: recalc on add
2023-05-23 14:26:38 +02:00
vaxerski
799add8659
groupbars: fix reserved area on titles
2023-05-23 14:18:26 +02:00
vaxerski
90cb5fb672
groupbars: make gradients toggleable
2023-05-22 22:07:32 +02:00
vaxerski
d1ec314a03
groupbars: conserve VRAM by staticizing textures
2023-05-22 22:06:40 +02:00
vaxerski
7bcc01efb7
groupbars: fix minor alignment issues
2023-05-22 21:43:37 +02:00
vaxerski
206ac000b9
groupbars: add title and gradient rendering
2023-05-22 21:40:32 +02:00
vaxerski
1eb6cfd45c
groupbar: make exclusive
2023-05-22 20:52:41 +02:00
vaxerski
088b4a68e6
moveActiveToWorkspace: update last window of old ws
2023-05-22 19:44:10 +02:00
vaxerski
086f724951
wlr_ext_workspaces: honor activate from client + format
2023-05-22 19:36:47 +02:00
Russell Greene
ad244190e0
1483: fix crash on last display disconnect ( #2344 )
2023-05-22 12:18:07 +02:00
maqrrr
9f8c5cb63c
Fix broken pipe crash when event listener terminates ( #2339 )
2023-05-21 14:38:18 +02:00
5627b70981
input: reset cursor hide timer on tablet
2023-05-20 21:15:21 +02:00
Anthony Ruhier
d7935356da
input: don't move monitor focus on wp change ( #2320 )
2023-05-17 13:32:59 +01:00
Anthony Ruhier
9ef7225532
don't swap workspaces if monitors are the same ( #2322 )
...
Return swapActiveWorkspaces early if MON1 and MON2 are equals, to avoid
buggy behavior.
2023-05-17 13:31:03 +01:00
outfoxxed
642030f959
Fix not finding function symbols for hooking ( #2292 )
...
Fixes no useful feedback about failing subcommand.
Fixes function hooks breaking when running under a path containing
spaces.
Replaced old usages with this function where possible.
Complex shell usages now use `execAndGetShell` which is equal to the
old function.
2023-05-16 23:39:14 +03:00
Eric_Luo
b5b9af508a
bug fix ( #2314 )
...
fix float check logic
Co-authored-by: hnboy <hnywolf@gmail.ccom>
2023-05-16 17:43:04 +01:00
vaxerski
d68f8ea668
internal: make CAnimatedVariable non-move non-copy
2023-05-16 12:49:59 +01:00
vaxerski
5b84b0fb44
animationmgr: allow empty avars
2023-05-15 17:11:51 +01:00
vaxerski
824813fc6a
internal: remove check for negative exact vector args
2023-05-15 15:16:06 +01:00
vaxerski
7c207243e4
input: check for matrix availability in touch config
2023-05-14 13:54:55 +01:00
vaxerski
b748b0734f
input: don't refocus on closed window
2023-05-14 13:47:43 +01:00
vaxerski
896a78aaa0
lock: add allow_session_lock_restore
2023-05-13 12:36:36 +01:00
vaxerski
cc01550aff
hyprctl: recalc layout on dynamic workspace
2023-05-12 01:16:27 +01:00
vaxerski
413a36a914
workspacerules: overwrite on existing
2023-05-12 01:15:32 +01:00
vaxerski
86ef85efae
layershell: don't enter on unmapped ls
2023-05-12 01:07:46 +01:00
vaxerski
f2725a374a
render: minor fixes to fullscreen rendering
2023-05-10 18:36:13 +01:00
vaxerski
7fde80f38e
layers: fix wonky focus on multimon
2023-05-09 17:01:18 +01:00
vaxerski
cc4ccfdbfd
internal: use i64 for workspaces in outofbounds
2023-05-09 14:08:05 +01:00
Andrei Alexeyev
2f87e4c2f3
renderer,config: add custom DRM modeline support ( #2254 )
...
This allows specifying custom display resolutions for the DRM backend.
This is useful for display overclocking, working around broken EDIDs,
etc. To use this feature, specify a modeline instead of a resolution
in the config, for example:
monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1
This example is a custom 3840x2160@120Hz mode with tightened timings.
I use it because the standard timings don't work with my monitor and GPU
combination (M28U with RX580).
The syntax is compatible with Sway and Xorg.
2023-05-09 14:01:45 +01:00
vaxerski
e7c2ea9724
layershell: focus if changed keyboard mode
2023-05-08 19:12:01 +01:00
scorpion-26
826dc61e5c
Add "next on monitor or empty" workspace parameter ( #2198 )
...
* Add "next on monitor or empty" workspace parameter
Implements the following workspace parameter:
r+x/r-x (i.e. r+1): Behaves similar to the "m" parameter, but can also
select empty workspaces and it doesn't wrap around
* Improve code comments
* Implementation V2 for 'r' workspace param
* Rebase to upstream
Should fix CI
* Always set outName
* Include named workspaces
Currently only considers open/active named workspaces
2023-05-08 14:37:59 +01:00
vaxerski
a31dceb2c6
includes: remove redundant from screencopy
2023-05-07 00:11:33 +01:00
vaxerski
1ba7a09bf6
includes: use libdrm prefix for include
2023-05-07 00:11:01 +01:00
vaxerski
afe8d8dfec
monitors: fix some bugs with re-plug
2023-05-06 16:50:15 +01:00
dtop129
7e5ba5e824
Fixed wrong focus changes when moving background workspaces ( #2258 )
2023-05-06 16:13:26 +01:00
vaxerski
83cd5e2ebd
workspaces: minor fixes for multi-special
2023-05-06 16:10:51 +01:00
vaxerski
7f0738bcb3
varlist: allow using s for std::isspace
2023-05-06 01:16:20 +01:00
vaxerski
583b8842e7
configmanager: fix substr offset in default ws rule
2023-05-06 01:10:05 +01:00
Dashie
a8541d5f64
Add split preselection ( #2240 )
2023-05-06 01:02:18 +01:00
vaxerski
4ad03af544
compositor: don't focus pointer in focusWindow
2023-05-06 00:59:25 +01:00
vaxerski
0859944c9a
input: add custom accel profiles
2023-05-05 16:06:13 +01:00
vaxerski
c0be1e2fd8
configmanager: remove useless log from handleWorkspaceRule
2023-05-05 15:42:02 +01:00
vaxerski
7b73a332ea
configmanager: deprecate bindws
2023-05-05 15:41:25 +01:00
vaxerski
a5d63a0324
configmanager: store workspace rules as a deque
2023-05-05 15:33:31 +01:00
vaxerski
8435d6fc12
monitors: toggle special on changeworkspace with special
2023-05-05 15:01:31 +01:00
vaxerski
bf04c83e3d
config: clear layer rules on reload
2023-05-04 18:28:45 +01:00
scorpion-26
c3b9326ba1
Honor debug:enable_stdout_logs on startup ( #2197 )
...
* Honor debug:enable_stdout_logs on startup
disableStdout is set via config in CConfigManager::init(), which is
called early in CCompositor::initServer(). initServer() always disables
stdout logs at the end though, even when stdout is enabled is config. With this commit,
the config is respected.
* Don't spam stdout message
2023-05-03 16:08:01 +01:00
vaxerski
fd3e6a3bfd
workspaces: restore monitor on re-plug
2023-05-03 15:15:56 +01:00
vaxerski
0155b85950
rules: fix monitor rule with names
2023-05-03 14:58:51 +01:00
jacekpoz
a663823af2
only ignore no_gaps_when_only when the workspace rule specifies a border ( #2217 )
...
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-05-03 14:48:46 +01:00
vaxerski
72b118cd8f
opengl: don't use new optim with xray off on special tiled
2023-05-02 21:23:53 +01:00
vaxerski
79791c9ed4
internal: fix -Wsign-compare and -Wunused-variable warnings
2023-05-02 14:53:31 +01:00
Yavor Kolev
ac3edec14b
Add activeworkspace
hyprctl command ( #2202 )
...
* Add `activeworkspace` hyprctl command
* fix format in hyprctl
* Make stuff more shared in workspace hyprctl
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-02 14:51:52 +01:00
vaxerski
cde7f79af0
xwayland: allow initial focus to dialogs
2023-05-02 14:44:21 +01:00
levnikmyskin
c949173bc9
Added some workspace-specific rules ( #1986 )
...
* added some workspace-specific rules
* added some worskpace-specific rules, with windowrule like syntax
* monitor is not mandatory anymore
* pointers to config are now static
* fixed optional WorkspaceRule fields
* Windows can now specify border size
* removed CHyprOpenGLImpl::renderBorder borderSize default value
* stuff
---------
Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
Jan Beich
250d5cf78c
config: add missing header for libc++ after 3a631e40db
( #2208 )
...
src/config/ConfigManager.cpp:1980:27: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
std::stringstream error;
^
/usr/include/c++/v1/iosfwd:134:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_stringstream;
^
2023-05-01 22:24:51 +01:00
vaxerski
45b1e6dc5e
keybinds: simulate workspace switch on focusWindow to another ws
2023-05-01 15:39:08 +01:00
vaxerski
d6b069458d
input: don't refocus on dragging
2023-05-01 15:15:55 +01:00
outfoxxed
3a631e40db
Declarative plugin management ( #2180 )
...
* Declarative plugin management
Allow declaring `plugin` entries in the hyprland configuration.
Plugins will be loaded if an entry is added and unloaded if that entry
is removed.
* Replace pointers with copying in updateconfigPlugins
* Include which plugin was declared twice in error
2023-05-01 15:10:53 +01:00
vaxerski
11b7ce14f8
renderer: fix misused size -> transformed size
2023-05-01 02:53:43 +01:00
vaxerski
ddfeebad3d
Renderer: add init animation
2023-05-01 02:49:41 +01:00
vaxerski
02312cac59
renderer: more checks for background LS optimizations
2023-04-30 01:15:51 +01:00
vaxerski
6501bceb42
workspace: don't check LS-es in startAnim
2023-04-30 01:13:58 +01:00
vaxerski
3580f845e6
monitor: update fullscreen fade on workspace change
2023-04-30 01:12:20 +01:00
vaxerski
b7e69be51e
windows: check for fullscreen after rules
2023-04-30 01:01:47 +01:00
scorpion-26
fdb772832f
Keep fullscreen mode in moveWindowToWorkspaceSafe ( #2191 )
...
Moving a maximised window would always result in the window being
fullscreen instead of maximised
2023-04-29 23:39:09 +01:00
vaxerski
5a3e3deb33
internal: warp workspace on change only if old mon is last
2023-04-29 13:32:59 +01:00
vaxerski
2946221195
renderer: fix fadingout render on fs
2023-04-29 13:29:32 +01:00
vaxerski
fbb938fcf2
internal: don't change ws on active swap
2023-04-28 21:40:44 +01:00
vaxerski
dbb6d9d174
rules: add noinitialfocus
2023-04-28 15:36:08 +01:00
vaxerski
5ce76cd0b0
internal: add tag to version, send hash in release ci
2023-04-27 14:28:40 +01:00
vaxerski
1a1656ddbf
Revert "internal: include headers from protocols/"
...
This reverts commit 550700bed0
.
We can't cuz meson
2023-04-27 13:55:13 +01:00
vaxerski
550700bed0
internal: include headers from protocols/
2023-04-27 13:40:38 +01:00
vaxerski
4a1fb3e903
keybinds: fix move to named
2023-04-26 16:58:58 +01:00
vaxerski
28ca434fb5
Revert "input: make overlay layers precede constraints"
...
This reverts commit 1e526411b6
.
Issues with input
2023-04-25 21:50:24 +01:00
vaxerski
1e526411b6
input: make overlay layers precede constraints
2023-04-25 17:02:20 +01:00
outfoxxed
849d657595
Window resizing for pseudotiled windows ( #2140 )
...
* Window resizing for pseudotiled windows
* Use `m_vRealSize` to determine scaled window size
2023-04-25 16:53:18 +01:00
vaxerski
bf27066fd7
IHyprLayout: add missing static modifiers to config vars
2023-04-25 16:53:01 +01:00
vaxerski
1f80154823
layouts: add missing static modifiers to config vars
2023-04-25 16:49:06 +01:00
outfoxxed
f40272d509
Add follow mouse mode to avoid refocusing under cursor ( #2135 )
...
* Add follow mouse mode to avoid refocusing under cursor
2023-04-25 16:00:34 +01:00
vaxerski
e195a51cd4
internal: update fullscreen fade on workspace move
2023-04-24 23:23:12 +01:00
vaxerski
247ff4e60d
internal: improve fullscreen fade
2023-04-24 23:21:51 +01:00
vaxerski
eb570c88e6
screencopy: clamp damage to framebuffer
2023-04-24 20:01:44 +01:00
Tyler Schneider
67c73ec100
Fixed a crash when waking up monitors in power-saving mode ( #2139 )
2023-04-23 22:28:18 +01:00
Jan Beich
f7579fc923
internal: unhardcode sun_path size after a6cfe70428
( #2137 )
...
hyprctl/main.cpp:83:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
^
hyprctl/main.cpp:146:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
^
src/managers/EventManager.cpp:70:9: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(SERVERADDRESS.sun_path, socketPath.c_str(), 107);
^
2023-04-23 21:20:29 +01:00
mekb
fbcbe947da
Added moveCursor dispatcher ( #2100 )
...
* Added moveCursor dispatcher
* fix error message for moveCursor
2023-04-23 19:50:53 +01:00
vaxerski
97b0368765
xwayland: crude fix for qt dnds
2023-04-22 22:20:48 +01:00
vaxerski
c0f4e9f52e
internal: moveToWorkspace before setting ws
2023-04-22 21:13:06 +01:00
vaxerski
49fb4cd94d
renderer: improvements to layer render detection
2023-04-22 12:54:57 +01:00
vaxerski
1911e4262b
renderer: skip rendering bottom layers on fullscreen opaque
2023-04-22 12:36:54 +01:00
q234rty
d366fc48b8
Remove wlr_output_damage.h ( #2121 )
...
This is [removed](9ef98452a3
) upstream and hyprland wasn't using it anyway.
This alone will probably not fix the CI but this will allow to clean build hyprland in many configurations.
2023-04-21 18:28:51 +01:00
vaxerski
7b5b4a1049
crashReporter: log on crash
2023-04-21 16:48:36 +01:00
vaxerski
d03dcc3d99
deps: update wlroots
2023-04-21 15:42:08 +01:00
outfoxxed
2df0d034bc
Fix dragging cursor being forced on fullscreen windows ( #2115 )
...
Fix two edge cases causing the dragging mouse cursor to be forced on
fullscreen windows:
- hovering over a window border and running the fullscreen dispatcher
- moving mouse focus from a monitor with the resize cursor set to a
different monitor with a fullscreen window
2023-04-21 13:36:55 +01:00
vaxerski
510db64860
hyprctl: allow spaces in cursor themes
2023-04-20 23:59:31 +01:00
vaxerski
b15803510c
input: improve mouse release conditions
2023-04-20 00:46:42 +01:00
vaxerski
f914a5a06d
input: release mouse buttons before refocuses
2023-04-19 21:36:08 +01:00
q234rty
6225591dbd
Fix apps requesting fullscreen ( #2099 )
...
Otherwise e446db02f6
breaks fullscreening of image previews for nheko/telegram-desktop/...
2023-04-19 13:26:27 +01:00
DB
e446db02f6
Add windowrule fakeFullScreen ( #2043 )
...
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-04-18 21:59:08 +01:00
vaxerski
a4330fe378
misc: scan ppids in exec rules
2023-04-18 11:48:56 +01:00
vaxerski
716d713b04
pluginAPI: add note about API expansion
2023-04-17 23:49:42 +01:00
vaxerski
1c50a11688
opengl: keep current rendered workspace in renderData
2023-04-17 23:47:12 +01:00
vaxerski
385fe4e301
events: add render event for plugins
2023-04-17 23:45:03 +01:00
vaxerski
412d46ff65
monitors: set special monitor ID on open
2023-04-17 22:58:59 +01:00
vaxerski
ae82c3a639
screencopy: improve consistency of share indicator
2023-04-17 22:57:24 +01:00
vaxerski
b4f75525d9
pluginAPI: make symbols static
2023-04-17 18:39:40 +01:00
vaxerski
8b3d8dc792
Format: use %lx for all addresses
2023-04-17 17:35:28 +01:00
vaxerski
5cb5b628b8
crashReporter: fix invalid format string
2023-04-17 17:32:07 +01:00
vaxerski
a6cfe70428
internal: avoid buffer overflows with socket paths
2023-04-17 16:38:52 +01:00
vaxerski
b6a7be7663
dispatchers: fix movetoworkspace with bound ws-es
2023-04-17 16:09:46 +01:00
25f14294a8
formats: fix endian ifdef
2023-04-17 15:36:49 +01:00
vaxerski
7c36a3e167
internal: move workspace special check higher in changeWorkspace
2023-04-17 13:32:35 +01:00
vaxerski
785fc8d669
dispatchers: fix missing log param
2023-04-17 13:30:37 +01:00
vaxerski
c62ab1bee7
internal: use setSpecialWorkspace on destroy in sanityCheck
2023-04-16 21:33:28 +01:00
vaxerski
f80f4f3194
dispatchers: fix named ws-es on changeworkspace
2023-04-16 21:32:32 +01:00
vaxerski
b05ff89c76
Render: add cursor_zoom
2023-04-16 14:48:38 +01:00
vaxerski
28dfe21584
blur: fixup optimization bool
2023-04-16 14:18:02 +01:00
dann-merlin
c86f06caa0
Fix possible usage of clamp with lo > hi in Vector2D ( #2049 )
2023-04-16 01:27:14 +01:00
vaxerski
afc887d941
monitor: recalc layout on switched ws
2023-04-16 01:11:57 +01:00
vaxerski
edad24c257
Screencopy: unify frame and client between impls + event
...
Adds a new event to both hooks and ipc: screencopy
2023-04-15 23:43:41 +01:00
vaxerski
12604b7676
compositor: ignore contraints on warp in moveWorkspaceToMonitor
2023-04-15 21:27:11 +01:00
Jan Beich
63841c8aac
Disable systemctl when built without systemd support ( #2066 )
...
/bin/sh: systemctl: not found
2023-04-15 20:03:09 +01:00
vaxerski
8944db49be
swallow: fix invalid regexes with empty vals
2023-04-15 19:15:59 +01:00
vaxerski
4c4fcc128b
input: fix ls focus in non-input area
2023-04-15 16:53:31 +01:00
vaxerski
d6c4ae71d0
damage: fix damage on moves / workspace changes
2023-04-15 16:16:33 +01:00
vaxerski
a6d94eafba
tick: don't tick on invalid session
2023-04-15 12:45:25 +01:00
vaxerski
29fc410a8f
crashReporter: avoid segfault in deref plugin system
2023-04-15 10:58:46 +01:00
vaxerski
83f1616a65
keybinds: minor adjustments to workspace
2023-04-14 17:51:10 +01:00
vaxerski
7ec23254fd
workspace: don't lose monitor with refocus on no warps
2023-04-14 17:03:12 +01:00
vaxerski
c2b5dd1be6
keybinds: only warp on different monitor ws
2023-04-14 16:22:55 +01:00
vaxerski
727160f0a4
workspaces: fixup workspaces not activating on workspace switch
2023-04-14 15:28:22 +01:00
vaxerski
3f2a18a435
keybinds: remove old comment
2023-04-14 15:16:59 +01:00
vaxerski
e329bc2c7b
renderer: fix incorrect shouldRenderWindow calcs
2023-04-14 15:16:43 +01:00
vaxerski
8dd0c4fe74
workspaces: deactivate all on monitor switch
2023-04-14 15:08:27 +01:00
vaxerski
cf7c5e4dff
misc: fix a warning
2023-04-14 15:06:22 +01:00
vaxerski
287e6c4ede
internal: workspace manip handling rework
2023-04-14 15:03:53 +01:00
vaxerski
011600ac6e
keybinds: more intelligent fallback on silent move
2023-04-14 01:42:55 +01:00
vaxerski
70eb74c356
fractional-scale: notify all surfaces on window move
2023-04-14 01:36:07 +01:00
vaxerski
260ef788f5
internal: don't sanity check workspaces on internal ws calls
2023-04-13 22:21:11 +01:00
vaxerski
6131e0bef7
keybinds: refocus properly on silent move
2023-04-13 22:20:31 +01:00
vaxerski
41c7d896e3
internal: prevent premature destroy in moveworkspace
2023-04-13 21:09:50 +01:00
Person1873
33d06fb0e5
Add ability to split master when only 1 additional window ( #2025 )
...
* fix: enable master split less than 2 windows
added a config flag "master:allow_small_split"
added config to minimum windows check.
TODO: check that no bug added (remove all masters?)
* IMPL:FIX: multiple master windows full width
Implemented the ability to have multiple master windows filling the full
monitor width in master mode.
this is controlled by the config option master:allow_small_split
(true/false)
this defaults to false as it was the original behaviour before this
patch
* BUGFIX: corrected issue with blanks re: addmaster
FIX 1: Treat ORIENTATION_CENTER the same as ORIENTATION_LEFT unless
there are enough STACK_WINDOWS to fill both wings.
FIX 2: enforced last window always set as master in
MasterLayout::CHyperMasterLayout::calculateWorkspace();
FIX 3: fix 2, also fixed focus issues previously noted.
* Changes requested by vaxerski
changed how we access config variables (by reference not value)
fixed a regression previously missed prior to requested changes.
I had somehow broken the very functionality i meant to add.
* added static keyword to config variables
* removed superfluous static tags
I made a mistake with making too many variables static.
this made them only evaluate once per runtime breaking things majorly.
My appologies. I haven't touched C++ in nearly 20 years.
* remove annoying comment
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-04-13 15:20:58 +01:00
vaxerski
4bc3f9adbe
config: ignore invalid paths in configPaths
2023-04-12 22:00:39 +01:00
vaxerski
a22e1174ee
screencopy: implement dmabuf
2023-04-12 21:40:51 +01:00
vaxerski
985764c8db
listeners: more safety around change
2023-04-12 20:18:55 +01:00
vaxerski
5f000306f5
popups: send scale info
2023-04-12 18:00:07 +01:00
Kajetan Puchalski
efee6a1cda
swallow: Add swallow_exception_regex ( #2026 )
...
Currently, if a window class is specified in the swallow_regex (e.g.
Kitty) it will swallow every other window spawned by it automatically.
Many other WMs implementing this functionality allow for defining
exceptions from this rule. For instance, we want Kitty to swallow sxiv
or zathura but we do not want Kitty to swallow something like wev.
This commit adds an additional regex - swallow_exception_regex where
these exceptions can be defined. This regex is then compared against the
title of the window about to be swallowed and if it happens to be a
match, aborts the swallowing.
This works because whenever an application that could be swallowed is
launched by a terminal, the class of the terminal remains the same while
the title changes to whatever the application's name is, thus letting it
be matched against a regex.
2023-04-12 13:38:15 +01:00
vaxerski
a68feb5aa0
internal: guarantee activeWindow event type
2023-04-12 13:11:38 +01:00
vaxerski
293df75b97
renderer: workspace rendering improvements
2023-04-12 13:05:57 +01:00
vaxerski
f00e11d457
renderer: fix incorrect delta calc
2023-04-12 12:50:20 +01:00
vaxerski
0fd09579a1
renderer: reset renderModif on fullscreen render
2023-04-12 12:45:16 +01:00
vaxerski
3ae33b951f
renderer: add support for rendering workspaces
2023-04-12 12:41:23 +01:00
vaxerski
92fecb8ad4
internal: don't iterate special workspaces in move
2023-04-12 11:24:36 +01:00
Stanisław Zagórowski
ac2cd0f0dc
plugins: Add "tick" event ( #2029 )
2023-04-12 11:18:33 +01:00
Max Verevkin
c2f29be9ba
make ext_workspace_unstable impl more atomic ( #2023 )
2023-04-11 14:28:32 +01:00
vaxerski
16a034a34a
keybinds: send pass with a null keymap
2023-04-10 22:42:05 +01:00
vaxerski
ea77622e04
input: send null keycodes on focusSurface
2023-04-10 22:37:55 +01:00
vaxerski
a38b0e736d
hyprctl: don't assume output validity in hyprctl workspaces
2023-04-10 21:52:14 +01:00
Hilmar Wiegand
7b43f9f056
Implement window move ( #2018 )
2023-04-10 20:07:49 +01:00
vaxerski
fa4aef4531
args: print help on invalid arg
2023-04-10 18:26:36 +01:00
vaxerski
56a307d734
Revert "keybinds: avoid sending release on suppressed press"
...
Issues with XWayland
This reverts commit a1b1480c21
.
2023-04-10 15:47:20 +01:00
Hilmar Wiegand
6a4bda60f2
Allow movefocus for empty workspaces ( #2011 )
...
* Allow switching to empty workspaces using movefocus
* Allow switching to other workspaces when no windows are focused
* Implement review feedback
* Add option to disable focus fallback
* Remove unnecessary braces
2023-04-10 14:40:03 +01:00
vaxerski
a1b1480c21
keybinds: avoid sending release on suppressed press
2023-04-10 00:56:08 +01:00
vaxerski
4ae784dc53
input: fix kb focus on top layers without interactive flag
2023-04-09 19:53:31 +01:00
vaxerski
3ade6c4a96
renderer: fixup damage repaint
2023-04-09 17:59:24 +01:00
Vaxry
046ad79d11
GlobalShortcuts protocol impl ( #1886 )
...
Implements the `hyprland-global-shortcuts-v1` protocol
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
vaxerski
e4e653ada6
socket2: receive bytes to avoid endless loops
2023-04-08 23:14:12 +01:00
vaxerski
b32af6ebfb
hyprctl: sanity check icons in notify
2023-04-08 18:53:54 +01:00
vaxerski
86852cdc78
textInput: don't double destroy TI
2023-04-08 15:39:14 +01:00
vaxerski
31963f823b
screencopy: fix crash in invalid format reads
2023-04-08 13:35:36 +01:00
scorpion-26
07e4ba9d80
Fix crash in CConfigManager::parseKeyword ( #1983 )
...
If debug:manual_crash is set on startup, parseKeyword tries
to call g_pHyprNotificationOverlay->addNotification, but
g_pHyprNotificationOverlay isn't initialized yet (is nullptr)
This commit adds a sanity check for that.
2023-04-07 20:15:11 +01:00
vaxerski
5e2d4d644a
screencopy: fix crash
2023-04-07 19:21:47 +01:00
vaxerski
50876f1b15
screencopy: fix read on incorrect monitor render
2023-04-07 19:11:30 +01:00
vaxerski
c2a85c9d36
screencopy: minor fixes for damage_ring
2023-04-07 18:04:02 +01:00
vaxerski
41d1fdedf2
output: handle needs_frame
2023-04-07 17:25:56 +01:00
vaxerski
cd1b982b2a
internal: listen to output.damage events
2023-04-07 16:31:55 +01:00
Andrew Nitrogenesis
a35ea4d242
Better and more secure argument parsing, and code reformatting ( #1976 )
...
* Better and more secure argument parsing, and code reformatting
* Changes to resolve PR conversation
* Formatted via clang-format, fixed typos
* More typos
2023-04-07 15:03:26 +01:00
vaxerski
d8645cd148
internal: release buttons on unmap
2023-04-07 12:54:11 +01:00
vaxerski
c9f7afbf78
subsurfaces: guard node's surface
2023-04-07 12:36:26 +01:00
Andrew Pritchard
dfb78e0593
Fix swiping onto a new workspace with multiple monitors. ( #1971 )
...
The previous code could run into issues into the following circumstances:
* The focused monitor is on its rightmost workspace with ID `i`.
* Another monitor has a workspace with ID `i+1`.
* `workspace_swipe_create_new` is enabled.
Then, swiping rightwards attempts to target a new workspace with ID
`i+1`: completing the swipe gesture unintentionally focuses that
workspace on whichever monitor it's already on while leaving the active
monitor in a broken state where it shows no windows but creates new
windows on the workspace it was previously on; and cancelling the swipe
gesture shifts the entire workspace `i+1` to the right by the width of
the active monitor.
By choosing an ID that doesn't exist, this problematic behavior is
avoided. More specifically, it's the smallest ID greater than any
existing workspace's ID, because otherwise the new workspace that was
seemingly just created to the right of the rightmost workspace could end
up somewhere in the middle of the workspace order.
2023-04-07 12:18:53 +01:00
vaxerski
24ace03780
internal: migrate to damage_ring
2023-04-07 12:18:40 +01:00
vaxerski
569eaff04c
swipe: block on locked session
2023-04-07 11:51:52 +01:00
vaxerski
1a5d5bf620
deps: update wlroots
2023-04-06 21:03:53 +01:00
vaxerski
366ebc123b
internal: don't remove x11 children on parent remove
2023-04-06 20:59:44 +01:00
vaxerski
bc4a51dbbb
internal: make togglefloat better visible on small size deltas
2023-04-06 19:45:59 +01:00
vaxerski
80650b6722
keybinds: allow MOD1 as an alias of ALT
2023-04-06 19:28:09 +01:00
vaxerski
a740e3e517
internal: comply to nofocus on vectorToWindow
2023-04-06 13:17:15 +01:00
vaxerski
19809532df
input: ignore constraints on touch
2023-04-06 11:34:18 +01:00
110f3fd658
screencopy: fix incorrect resource error post
2023-04-05 15:19:49 +01:00
vaxerski
a80ba54bbc
renderer: don't use simple rect on alphazero stencil
2023-04-04 22:58:58 +01:00
vaxerski
00d199b477
monitors: guard scale in onConnect
2023-04-04 22:54:35 +01:00
vaxerski
eea99abc49
debug: allow manual crash from hyprctl
2023-04-04 22:13:36 +01:00
vaxerski
e7185b338f
debug: minor improvements to manual crash
2023-04-04 22:04:32 +01:00
7d9977d028
debug: added manual_crash
2023-04-04 14:50:03 +01:00
vaxerski
882be7765b
toplevelExport: honor overlay_cursor
2023-04-04 00:58:30 +01:00
vaxerski
99314fbe71
render: plug missing software cursor unlocks
2023-04-04 00:46:58 +01:00
vaxerski
c50df4c0c3
screencopy: allow on legacy renderer
2023-04-03 23:34:08 +01:00
vaxerski
2f7fb2f553
input: don't set icon on held buttons without a drag
2023-04-03 23:17:06 +01:00
vaxerski
23001f6144
input: don't overset resize icons on drag
2023-04-03 23:15:33 +01:00
vaxerski
55d585ce17
input: fix click-to-refocus not working on loose
2023-04-03 23:09:44 +01:00
vaxerski
d3b0c90356
internal: rename ensureDPMS to ensureMonitorStatus
2023-04-03 22:52:09 +01:00
vaxerski
a43b18ae26
Feat: add initial class/title to hyprctl clients
2023-04-03 19:16:51 +01:00
Vaxry
0a099ca2ab
Hyprland Screencopy impl ( #1800 )
...
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski
e6211eef00
log: Move stdout log disabling to the end of init
2023-04-03 10:41:49 +01:00
vaxerski
b1426cad28
input: fix minor issue with holding focus
2023-04-02 13:42:57 +01:00
vaxerski
0fc145c52c
input: hold focus on mouse buttons
2023-04-02 13:30:45 +01:00
vaxerski
c2b25f4701
swallow: move swallowed on workspace change
2023-04-02 10:24:17 +01:00
vaxerski
88a96110b7
config: default no direct scanout to true
2023-04-01 19:37:30 +01:00
Jan Beich
16bc5997bb
Misc FreeBSD fixes ( #1926 )
...
* helpers: drop incomplete GNU/kFreeBSD bits
Debian with FreeBSD kernel lacks Wayland-related packages and is not
officially supported since Jessie.
* KeybindManager: check VT ioctl availability instead of hardcoding
* plugins: add missing header for libc++ after 430778293e
src/plugins/PluginAPI.cpp:299:33: error: implicit instantiation of undefined template 'std::basic_istringstream<char>'
std::istringstream inStream(SYMBOLS);
^
/usr/include/c++/v1/iosfwd:140:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_istringstream;
^
* plugins: prefer llvm-nm with Clang after 430778293e
nm: invalid option -- j
2023-03-31 20:39:04 +01:00
vaxerski
7680cd549c
plugins: mark getFunctionAddressFromSignature deprecated
2023-03-31 18:43:00 +01:00
vaxerski
430778293e
plugins: Add an API entry for finding functions by name
2023-03-31 18:31:11 +01:00
vaxerski
de3b00b5ee
renderer: go back to rendering layers without reverse
2023-03-31 17:44:36 +01:00
NotAShelf
3d9bf17f11
crashReporter: try $XDG_CACHE_HOME
before $HOME
( #1920 )
2023-03-31 13:15:24 +01:00
vaxerski
614ea53ad7
Renderer: fix dim easing
2023-03-30 21:08:20 +01:00
vaxerski
b88de63abb
Input: fix always_follow_on_dnd
2023-03-30 00:34:24 +01:00
Alexander Seiler
60527ab180
Fix some typos ( #1907 )
...
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-03-29 23:44:25 +01:00
vaxerski
d6241a3086
windows: only connect unmap when mapped
2023-03-28 20:17:47 +01:00
vaxerski
df54ab40ce
layer: allow focus on top/overlay surfaces without a window
2023-03-28 17:21:11 +01:00
6fec5bfbeb
keybinds: improve movefocus on fullscreen
2023-03-27 15:19:27 +01:00
vaxerski
3343aac6bf
feat: add forcergbx rule
2023-03-26 02:00:24 +01:00
vaxerski
41f7736c85
config: default manual animations to false
2023-03-24 22:24:12 +00:00
vaxerski
c418007c68
shaders: fix missing discardAlphaZero
2023-03-24 19:43:50 +00:00
vaxerski
cc2c270dde
log: log wlr logs to stdout
2023-03-24 19:38:09 +00:00
vaxerski
70e3cb8151
feat: add debug:enable_stdout_logs
2023-03-24 19:37:37 +00:00
Vaxry
a80f8f257f
Feat: Introduce render_ahead_of_time ( #1863 )
2023-03-24 19:23:16 +00:00
vaxerski
b3a70b565e
subsurfaces: avoid reading destroyed surfaces
2023-03-24 18:44:42 +00:00
vaxerski
e73c6fd3b0
logs: disable stdout after init
2023-03-24 13:00:54 +00:00
vaxerski
a5a0434fff
dbus: don't update vars in nests
2023-03-24 03:21:38 +00:00
vaxerski
463690a27a
keybinds: allow code: prefix
2023-03-23 13:05:23 +00:00
471ac474a1
core: remove old redundant shutdown stuff
2023-03-23 03:07:57 +00:00
vaxerski
a3fda12ba1
window: unassign surface on unmap
2023-03-23 00:39:32 +00:00
vaxerski
0268bb9888
surface: set to nullptr after destroy()
2023-03-23 00:22:49 +00:00
vaxerski
3a3a3f7bdb
popups: fix heap-use-after-free
2023-03-23 00:22:49 +00:00
vaxerski
a8b3be2c9c
config: add misc:suppress_portal_warnings
2023-03-22 12:17:16 +00:00
staz
5ce91bb0fd
Added overflow check for blur radius ( #1847 )
...
* internal: added overflow check for blur radius
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-03-21 19:01:24 +00:00
vaxerski
adf5d8a114
monitors: update surface outputs on recover from unsafe
2023-03-21 17:46:26 +00:00
vaxerski
cb229f6436
compositor: adjust xdp error cases
2023-03-20 22:26:54 +00:00
lisuke
dc78c58c77
fix: a fullscreen bug. ( #1821 ) ( #1831 )
2023-03-20 16:07:18 +00:00
vaxerski
22721a37d5
hyprctl: add notify
2023-03-20 16:00:54 +00:00
vaxerski
dd4270eadf
notifs: add ICON_OK to icons
2023-03-20 15:49:46 +00:00
vaxerski
e2923a9385
meson: add pango deps
2023-03-20 15:39:43 +00:00
vaxerski
316674fecf
notifs: use empty color for auto
2023-03-20 15:32:11 +00:00
vaxerski
34da16b7e6
plugin api: add addNotificationV2
...
Allows for issuing fancy notifs via api
2023-03-20 15:23:25 +00:00
vaxerski
71a95a581f
feat: add pretty notifications
2023-03-20 15:03:09 +00:00
Vaxry
788a8f7c13
internal: wrap wlr surfaces ( #1822 )
2023-03-20 15:00:58 +00:00
vaxerski
d23bbd1687
workspaces: preserve pin on moves
2023-03-20 01:50:46 +00:00
vaxerski
7a514f41a3
Focus: warp cursor on movewindow
2023-03-20 01:42:21 +00:00
vaxerski
928de33447
monitors: more guards for safety
2023-03-19 02:19:52 +00:00
Mihai Fufezan
0624455591
Meson: add rdynamic ld flag
2023-03-18 21:01:24 +02:00
vaxerski
2ba5238b8e
groups: fix moving between displays
2023-03-18 16:30:29 +00:00
vaxerski
00c2ca4697
config: improve ux on workspace and transform
2023-03-18 16:12:43 +00:00
vaxerski
d544c30551
LS: don't try to get rules on non-existent ls
2023-03-18 15:02:00 +00:00
vaxerski
ef80a69399
config: fix long variables being substrd
2023-03-18 14:57:59 +00:00
vaxerski
6e6971606d
windowrules: allow monitor by str
2023-03-18 01:34:06 +00:00
vaxerski
e5ad53ac42
config: make default config use hyphenated dev names
2023-03-18 01:06:03 +00:00
vaxerski
e98ee49aee
LS: fix support for legacy blurls
2023-03-17 23:36:36 +00:00
vaxerski
d797d9905d
LS: support address: in layerrules
2023-03-17 23:33:03 +00:00
vaxerski
e5870d47c7
LS: add blur and ignorezero rules
2023-03-17 23:16:13 +00:00
vaxerski
91a565c7b0
monitors: don't refocus on apply rule
2023-03-17 20:34:33 +00:00
vaxerski
5b924aaf60
crashReporter: add hl ver
2023-03-17 11:51:16 +00:00
vaxerski
606cb2832a
keybinds: remember last workspace on focusmonitor
2023-03-16 16:40:28 +00:00
vaxerski
4b52c1e68f
monitors: remove from monitors on unsafe
2023-03-16 16:33:27 +00:00
vaxerski
e77ebec629
monitors: guard output in damageSurface
2023-03-16 16:32:03 +00:00
vaxerski
162f235972
switches: do not fire on no change in toggle
2023-03-16 16:30:22 +00:00
96718d8b09
dpms: fix keyboard dpms
2023-03-16 15:29:48 +00:00
vaxerski
5d44ea802a
monitors: guard output when read
2023-03-16 14:03:40 +00:00
vaxerski
d9d57ce39a
monitors: fix segfault on non-unsafe remove
2023-03-16 01:04:54 +00:00
vaxerski
3e261b1fa7
dpms: fix key_press_enables_dpms
2023-03-16 00:30:07 +00:00
vaxerski
cee7f11d8b
hyprctl: ignore null output monitors
2023-03-16 00:18:44 +00:00
vaxerski
f5669a7d6b
events: guard output in change
2023-03-15 17:01:20 +00:00
vaxerski
25d3d73dbf
monitors: fixes to unsafe mode
2023-03-15 15:11:41 +00:00
vaxerski
d63e8c8f45
ime: account for text height in popup calcs
2023-03-14 16:46:39 +00:00
vaxerski
7e5a3eb045
ime: fix panels overflowing on corners
2023-03-14 16:12:25 +00:00
vaxerski
f960f72785
input: minor fixes for tiv1
2023-03-14 14:37:00 +00:00
vaxerski
0807b8b95f
tiv1: minor fixes for crashes
2023-03-14 13:51:08 +00:00
Vaxry
5dc1a5fec6
input: text-input-v1 support ( #1778 )
...
support zwp_text_input_v1
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
vaxerski
e749af7b60
dispatchers: remember named workspaces in prev
2023-03-13 15:19:25 +00:00
vaxerski
17deeb07ad
master: better cycle
2023-03-13 01:07:05 +00:00
vaxerski
bcd8fe9573
groups: add deco on moveIntoGroup
2023-03-13 00:47:57 +00:00
vaxerski
146d231ec5
config: add key_press_enables_dpms
2023-03-12 13:46:38 +00:00
vaxerski
71ef1bde7e
dispatchers: disallow togglesplit on fullscreen
2023-03-11 17:58:34 +00:00
vaxerski
253286669a
groups: fix fullscreen behavior with groups
2023-03-10 15:19:09 +00:00
c9167d9646
blurls: fix address substr length
2023-03-09 14:24:06 +00:00
ca1c1438e3
Compositor: fix crash on exit
2023-03-09 14:19:54 +00:00
92d2331170
Events: Avoid sending std::nullptr_t in keyboardFocus
2023-03-08 09:46:17 +00:00
a85a6fa6c8
Dwindle: Added default_split_ratio
2023-03-07 14:24:10 +00:00
Stanisław Zagórowski
b11e2eaa3b
Fix plugin argument-less hyprctl calls ( #1723 )
...
Handle hyprctl command whitespace trimming
might break
2023-03-07 10:42:33 +00:00
vaxerski
0aeb61a95a
Opengl: Fix forcefully setting missing time prop to final shader
2023-03-06 19:02:08 +00:00
hillyu
4f647a8e8b
fix mfact not applying to addmaster ( #1715 )
...
Co-authored-by: Hill <hillyu@live.com>
2023-03-06 09:03:49 +00:00
Jan Beich
7739b776cd
config: explicitly use environ(7) after b03c8970e6
( #1708 )
...
src/config/ConfigManager.cpp:40:23: error: use of undeclared identifier 'environ'
for (char** env = environ; *env; ++env) {
^
2023-03-05 18:39:46 +00:00
opsu
0c8d1ba4a8
Buffer overflow fix ( #1707 )
2023-03-05 18:16:42 +00:00
hillyu
7ce92f93ad
add mfact setting for master layout ( #1666 )
...
* add mfact setting for master layout
---------
Co-authored-by: Hill <hillyu@live.com>
2023-03-05 16:29:23 +00:00
vaxerski
b03c8970e6
Allow environment in config
2023-03-05 14:54:32 +00:00
scorpion-26
de5f1b2a83
Optionally expose time to screen shaders ( #1700 )
...
* Optionally expose time to screen shaders
Since that collides with damage tracking, it will only be done, when
damage tracking is disabled, meaning this comes at no cost for everyone
not using time.
* Rename m_Timer to m_tGlobalTimer
2023-03-05 14:05:30 +00:00
vaxerski
dc7d783d14
Initialize priority managers before server init
2023-03-05 13:37:21 +00:00
vaxerski
8e5ee31f30
Add env to example cfgs
2023-03-05 13:37:05 +00:00
vaxerski
90c5715bc6
add env dbus opt
2023-03-05 13:15:12 +00:00
vaxerski
d5093f7af0
add env keyword to cfg
2023-03-05 13:12:01 +00:00
vaxerski
4abc608bc0
update dbus env on exec-once dispatches
2023-03-05 12:53:02 +00:00
vaxerski
fea2031bfe
systemd: expand sysd import env script
2023-03-04 15:21:27 +00:00
vaxerski
b69f40815f
opengl: use a passthru shader for final wlr copy
2023-03-04 14:59:27 +00:00
scorpion-26
f678789dfd
Fix clang compilation ( #1697 )
...
void* + integral type is not allowed on standard C++ and is a GNU
extension
2023-03-04 14:02:40 +00:00
c444099325
Mirrors: remove accidentally leftover logs
2023-03-04 01:06:16 +00:00
vaxerski
31cd104286
fix warns
2023-03-04 00:53:42 +00:00
1ead6c46f4
Mirrors: minor fixes
2023-03-04 00:48:22 +00:00
vaxerski
fb45f8f2f9
crashReporter: remove inconsistent log from crash reports
2023-03-04 00:14:20 +00:00
vaxerski
a34b747661
update wlroots dep
2023-03-03 21:28:22 +00:00
vaxerski
fe007fd36a
xwl: don't try to get unmanaged titles
2023-03-03 19:37:25 +00:00
Stanisław Zagórowski
141365cbc1
Fix plugin config breakage ( #1687 )
2023-03-03 19:32:44 +00:00
vaxerski
51ce3ddd67
layoutmgr: don't reenable layout on unchanged layout
2023-03-03 14:06:01 +00:00
vaxerski
64f35c0e31
Bezier: Fix incorrect binary search in bezier approx
2023-03-03 13:33:52 +00:00
vaxerski
9c0e2bba54
Renderer: Nuke onWindowResize{start/end}
2023-03-03 13:18:44 +00:00
vaxerski
62e0c9226e
Up the bezier bake count
2023-03-03 13:17:11 +00:00
vaxerski
c5aa20f226
fix bezier step approx
2023-03-03 13:08:46 +00:00
vaxerski
66b8629964
Update the debug overlay
2023-03-03 12:15:59 +00:00
vaxerski
9e028d56c0
fix credentials of invalid surfaces
2023-03-03 11:17:43 +00:00
vaxerski
489ef7c51c
add toggle group lock
2023-03-02 20:50:37 +00:00
vaxerski
34685a836a
Move AnimationManager::tick() to an event loop
2023-03-02 17:30:50 +00:00
dea71875e4
add desc: to getMonitorFromString
2023-03-02 12:04:41 +00:00
76fc12869d
nuke cursorSI due to crashes
2023-03-01 22:12:26 +00:00
556c7dd51f
reset signal handlers in unrecoverable
2023-03-01 21:55:30 +00:00
52878161e4
add log tail to crash reports
2023-03-01 15:14:35 +00:00
6c250df77e
generate coredumps on sigabrt too
2023-03-01 15:08:44 +00:00
vaxerski
7c5c7ced91
Convert reverse iterators to ranges
2023-03-01 14:06:52 +00:00
vaxerski
3cef005fec
use XCURSOR_SIZE for internal cursor size
2023-03-01 13:54:48 +00:00
71496a0a3c
Fix fatal aborts with X11 OR windows
2023-03-01 13:47:40 +00:00
86acdcf8b6
nuke unmanagedx11 vector
2023-03-01 13:15:51 +00:00
ea717731a4
Simplfy framebuffer erasing in cleanupFadingOut
2023-03-01 10:06:15 +00:00
0905515c40
use .txt for crash reports
2023-03-01 09:32:31 +00:00
vaxerski
0e252d2c77
Don't set surface cursors for overriden
2023-02-28 23:17:27 +00:00
Stanisław Zagórowski
5c93f6947a
Unload plugins on compositor cleanup ( #1662 )
2023-02-28 23:11:49 +00:00
vaxerski
07b98952bc
Reset cursor to pointer on focus on interactable deco
2023-02-28 23:06:46 +00:00
vaxerski
cd2399715d
Revert small incorrect change to dragging
2023-02-28 22:53:41 +00:00
vaxerski
2187c6cf43
Allow decos to request interactivity
2023-02-28 22:32:42 +00:00
vaxerski
984c2fdc68
Enable manual anims by default
2023-02-28 22:15:18 +00:00
vaxerski
a224d366ca
Added mouseMove event
2023-02-28 21:47:00 +00:00
vaxerski
5e48e6b075
Added mouseButton event
2023-02-28 21:45:57 +00:00
vaxerski
72fc309fb1
make window reserved area less stupid
2023-02-28 21:18:13 +00:00
Dashie
7187ea443e
Add option to disable/enable mouse window dragging animations ( #1658 )
2023-02-28 20:50:10 +00:00
vaxerski
91fd854e3b
fix warn
2023-02-28 19:37:00 +00:00
vaxerski
4b20d4f1ad
Added decoration reserved area
2023-02-28 19:36:36 +00:00
vaxerski
7beb9fd606
Draw HyprError on the last monitor
2023-02-28 19:18:13 +00:00
vaxerski
4d3f2ca96b
minor fixes to touch handling
2023-02-28 19:02:30 +00:00
vaxerski
99b7d53817
deny configure requests on drag
2023-02-28 18:52:03 +00:00
vaxerski
7e523e4d5e
minor fixes to X11 configure/or handling
2023-02-28 18:50:47 +00:00
89e7d812c8
Include unmapped and hidden windows in hyprctl clients
2023-02-28 12:41:46 +00:00
ac251d7a66
allow focus to grouped windows
2023-02-28 12:34:59 +00:00
vaxerski
49f423aa8f
update decos on anim values update
2023-02-27 23:34:41 +00:00
vaxerski
18229043fa
Remove useless rax preserve across callq
2023-02-27 19:47:42 +00:00
vaxerski
03d7651916
Plugin Hooks: fix original bytes on %rip accesses
2023-02-27 19:17:58 +00:00
vaxerski
c5d741fb39
Plugin Hooks: fix calls to %rip offsets
2023-02-27 18:34:53 +00:00
Vaxry
8b81f41e52
Plugin System ( #1590 )
...
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski
74a10f26a4
remove old unused animation cfgs
2023-02-26 23:14:26 +00:00
Marcus Kellerman
492f36f7df
Added center orientation to master layout ( #1642 )
...
* Added center orientation to master layout to improve experience on ultra widescreen monitors.
* Added support for orientationcenter layout message for master layout
* Added ability to optionally always center master window when in centered master mode.
2023-02-26 23:12:14 +00:00
vaxerski
2e21ad875b
fix cursor image on drag not resize
2023-02-26 23:08:20 +00:00
vaxerski
18ed73f091
Added moveoutofgroup dispatcher
2023-02-26 13:55:35 +00:00
vaxerski
55b412e0f4
Added moveintogroup dispatcher
2023-02-26 13:52:11 +00:00
Ryan Dwyer
3bfaeacf7d
movefocus: Set new workspace as active when focusing new monitor ( #1640 )
2023-02-26 13:44:11 +00:00
Mihai Fufezan
e302724847
use corner cursors on resize ( #1638 )
2023-02-26 03:56:23 +02:00
vaxerski
edd0a141de
don't snap on empty hint
2023-02-25 22:19:51 +00:00
vaxerski
cf566b59ce
allow blurls by address
2023-02-25 17:39:26 +00:00
vaxerski
1089e858b4
fix changegroupactive back
2023-02-24 17:24:51 +00:00
60e37d727d
fix cyclenext on empty focus
2023-02-23 14:27:43 +00:00
14a2de0d0e
add mouse_left _right
2023-02-23 13:55:27 +00:00
2bf7f9e413
fixup constraint snapping on no hint
2023-02-22 23:16:11 +00:00
Ching Pei Yang
513bbb8047
Resize on border icon bug ( #1608 )
...
* fix: reset border hover icon on setting empty focus
* cleanup comment
* fix: reset border hover icon on layer surface
2023-02-21 23:57:38 +00:00
vaxerski
f1c9077139
unblock pure wayland compiles
2023-02-21 23:57:08 +00:00
vaxerski
66e3679ba3
Conform to X11 OR surfaces wanting focus
2023-02-21 20:47:02 +00:00
vaxerski
708bb014e9
use sans for fonts instead of noto sans
2023-02-21 19:07:30 +00:00
a66ef50469
added a lockgroups dispatcher
2023-02-21 12:13:41 +00:00
Jan Beich
474ada9267
Unbreak CrashReporter on FreeBSD ( #1589 )
2023-02-20 14:15:15 +00:00
vaxerski
784cdd7638
abort instead of exiting on sigsegv
2023-02-20 11:02:44 +00:00
vaxerski
fc49a055c6
fix warn
2023-02-20 11:01:03 +00:00
vaxerski
0eee57aab9
fixup backtrace curpath
2023-02-20 10:28:16 +00:00
ecd0156265
fix group data in hyprctl
2023-02-20 09:28:42 +00:00
vaxerski
cd6640e890
unset hidden at grouped remove
2023-02-19 23:26:36 +00:00
vaxerski
40622a9e60
properly meld groups together
2023-02-19 22:19:40 +00:00
vaxerski
df2956b411
ignore hidden in allfloat
2023-02-19 22:14:37 +00:00
Vaxry
e5a4c0c986
Group/Tab Rework ( #1580 )
2023-02-19 21:07:32 +00:00
Vaxry
1b56cc4e99
Added an Event Hook System ( #1578 )
...
* added an eventHookSystem
* Add all socket2 events to hooks
2023-02-19 20:54:53 +00:00
vaxerski
6e16627cbc
Added execr
2023-02-19 13:59:47 +00:00
vaxerski
0e5df91e3a
adjust crash report paths
2023-02-19 13:51:40 +00:00
vaxerski
38c25bb50d
Added a crash reporter
2023-02-19 13:45:56 +00:00
vaxerski
6548439f6c
remove constraint recheck log
2023-02-19 12:15:33 +00:00
Ching Pei Yang
c92e0c05e4
Resize on border ( #1347 )
2023-02-18 22:35:31 +00:00
vaxerski
b944386ca5
reset focus on lock surface destroy
2023-02-18 01:09:01 +00:00
eriedaberrie
be2e4d9dd1
Fix VRR JSON output in hyprctl monitors ( #1562 )
2023-02-17 10:37:38 +00:00
vaxerski
dbfa6eea7b
fixup stutter in rendering with toplevel_export
2023-02-16 22:51:38 +00:00
scorpion-26
f3d1ab55a2
Add vrr to hyprctl monitor ( #1560 )
...
Since the (re)addition of vrr in 127e80692f
,
it is very useful to know, whether a given monitor has vrr enabled or not,
since not all monitors support it. Now hyprctl reports, whether a
monitor has vrr enabled or not.
2023-02-16 22:20:10 +00:00
vaxerski
ff95721ad9
fix compile for single_pixel_buffer_v1
2023-02-16 13:37:46 +00:00
d710e7347a
enable single_pixel_buffer_v1
2023-02-16 12:55:52 +00:00
3fbef25ffc
refocus on monitor attach
2023-02-16 12:55:52 +00:00
wsippel
1992f27a26
ignore VR headsets ( #1555 )
...
* ignore VR headsets
don't interact with screens that have the non_desktop property set, fixes #1553
* remove superfluous curly braces
2023-02-15 14:50:51 +00:00
vaxerski
87a4cc7654
rethink visible flag in animmgr
2023-02-14 17:44:09 +00:00
vaxerski
fdc847706a
ignore damage on hidden windows in animationmanager
2023-02-14 17:14:09 +00:00
vaxerski
61c817319f
don't loop border anim on disabled
2023-02-14 17:10:17 +00:00
vaxerski
127e80692f
move no_vfr to vfr and add vrr
2023-02-14 17:08:42 +00:00
nub
98c95aa34d
focusCurrentOrLast dispatcher ( #1545 )
2023-02-14 00:46:58 +00:00
vaxerski
6b7e409f05
properly clamp size in dragging floating corners
2023-02-12 22:24:47 +00:00
vaxerski
79ad93d536
clear focus on lockscreen refocus
2023-02-12 19:20:13 +00:00
vaxerski
7d914cd427
force monitor focus on refocus
2023-02-12 10:38:37 +00:00
vaxerski
287f31329e
fix json output in hyprctl animations
2023-02-11 20:54:37 +00:00
Philipp Mildenberger
97e0f02621
Fix some issues with a lost focus of the maximized window after using swapwithmaster in fullscreen mode ( #1524 )
...
* Fix some issues with a lost focus of the maximized window after using swapwithmaster in fullscreen mode
* Keep current fullscreen mode when `prepareNewFocus` is executed
2023-02-11 13:00:05 +00:00
vaxerski
bda8208aaa
render lockscreen in fullscreenworkspace
2023-02-10 22:03:28 +00:00
Philipp Mildenberger
42f4664022
Added support for layoutmsg params and added the param 'newfocus' for 'swapwithmaster' and 'focusmaster' ( #1522 )
...
* Added support for layoutmsg params and added the param 'newfocus' for 'swapwithmaster' and 'focusmaster', which lets the user decide what the new focused window should be
2023-02-10 19:13:38 +00:00
vaxerski
d1a7f1dd36
don't alter LS geom on unmap
2023-02-10 12:54:57 +00:00
vaxerski
1dde751da4
fixup LS fs-v1 calcs
2023-02-10 12:53:43 +00:00
68f56130ba
add misc:mouse_move_focuses_monitor
2023-02-09 15:29:02 +00:00
4ea4efb871
add prev to getWorkspaceIDFromString
2023-02-09 14:15:42 +00:00
vaxerski
859d6b9b8a
fixup ls geom calcs on wp-fs-v1
2023-02-08 22:54:26 +00:00
vaxerski
cb6c47098d
use surface size to determine LS size
2023-02-08 22:37:30 +00:00
5eb98c0072
improve VRR state checking with updates to mosthz
2023-02-08 15:18:54 +00:00
vaxerski
863812a097
added activewindowv2
2023-02-06 13:16:59 +00:00
Saltaformajo
4a5c3c4861
explicit config path for autoreload config #1423 ( #1494 )
...
* respect explicit config path for autoreload config
2023-02-05 22:53:13 +00:00
eriedaberrie
15544c7544
Update blurriness of layersurfaces after hyprctl keyword blurls ( #1493 )
...
* Update blurriness of layersurfaces after hyprctl keyword blurls
2023-02-05 22:46:20 +00:00
Mihai Fufezan
53945cff31
libinput: add tap_button_map ( #1495 )
2023-02-05 14:17:23 +00:00
vaxerski
760b37f71d
properly rid of whitespace chars from cfg lines
2023-02-04 15:22:03 +00:00
a431c1b01c
bring back dynamic ls geom updates
2023-02-04 13:12:56 +00:00
Max Verevkin
be6325dd4b
ext_workspace_unstable: send done after output_enter when wl_output is bound late ( #1481 )
2023-02-03 21:25:49 +00:00
vaxerski
fcf1bafb09
conform to unmanaged X11 activate requests
2023-02-03 21:21:19 +00:00
vaxerski
6688421240
minor adjustments to xwayland positioning
2023-02-03 21:21:19 +00:00
Max Verevkin
3e6601fa29
ext_workspace_unstable: send output_enter when wl_output is bound late ( #1480 )
2023-02-03 19:48:08 +00:00
vaxerski
a0bc0e4998
make a null surface focus reset lastfocus
2023-02-03 17:18:22 +00:00
vaxerski
d81f45e54a
clear focus on failed unlock attempt
2023-02-03 17:06:07 +00:00
vaxerski
fd3a1cd086
fix crash with libc++ in appid
2023-02-03 16:17:37 +00:00
494103b521
add missing xwayland stub
2023-02-03 14:12:28 +00:00
8e6950e200
place sessionlock surfaces at correct coordinates
2023-02-03 14:00:23 +00:00
vaxerski
a46abd8b1a
update wlroots dep
2023-02-03 12:43:43 +00:00
vaxerski
129e99a6f6
Implement ext-session-lock-v1
2023-02-03 11:58:55 +00:00
ozwaldorf
32d56fec97
feat: border angle animations ( #1469 )
...
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-02-01 21:06:01 +00:00
vaxerski
1a41f729a3
fix legacy system call to create hypr dir
2023-02-01 19:51:22 +00:00
85c07c2fe0
scale the opaque region in blurring
2023-01-31 12:29:23 +00:00
eaf0fb14c9
reset layout-set render vars on floating
2023-01-31 12:15:40 +00:00
vaxerski
11234529db
Simulate mouse movement on unmap of popups and subsurfaces
2023-01-31 00:26:15 +00:00
Jan Beich
f90ff8303b
Unbreak build with libc++ ( #1457 )
2023-01-31 00:03:23 +00:00
vaxerski
d4e2a0fd16
simplify nullcheck in minimize
2023-01-30 14:00:02 +00:00
vaxerski
32381fe6c4
send a 1 on unknown minimize event
2023-01-29 17:02:55 +00:00
vaxerski
5d35c0432b
add a minimize ipc event
2023-01-29 16:26:14 +00:00
vaxerski
4c4d3b3aa5
fix urgent hint order in code
2023-01-29 16:20:53 +00:00
vaxerski
b2314aa33a
err on invalid transform in monitor cfg
2023-01-29 16:04:50 +00:00
ef12120270
fixup LS scaling impl
2023-01-29 15:58:36 +00:00
vaxerski
3d83a0bc5f
enable UV calcs for all surfaces
2023-01-29 13:58:47 +00:00
vaxerski
38011c50ab
notify of fractional scale for LS-es
2023-01-29 13:30:51 +00:00
Jan Beich
c3adc9ec56
Get active VT via ioctl instead of sysfs after e90c5c6347
( #1448 )
2023-01-29 12:44:38 +00:00
Jan Beich
ff9bcb19fa
Allow to disable X11 backend separately from Xwayland after 5a750b485a
( #1445 )
2023-01-29 12:43:18 +00:00
vaxerski
ce632b7a05
prevent early segfaults on default mouse pos
2023-01-28 18:28:38 +00:00
vaxerski
328e034472
fix clang error
2023-01-28 18:10:57 +00:00
vaxerski
1c1e688564
fix crash in nested non-mouse warps
2023-01-28 17:54:14 +00:00
vaxerski
86f4772bd6
fix clang warn
2023-01-28 17:52:32 +00:00
vaxerski
61c9e50bcd
warp cursor on login to center
2023-01-28 12:26:38 +00:00
eriedaberrie
af37a3895f
fix: cursor changing on window move and resize ( #1371 )
...
* Just use grab cursor for everything
2023-01-27 11:31:56 +00:00
vaxerski
666c805101
fix destroying addon in fractional scale impl
2023-01-27 11:29:56 +00:00
94b7b6b584
added binds:focus_preferred_method
2023-01-26 14:36:22 +00:00
06b17db227
don't set cursor when timeout reached
2023-01-26 10:39:06 +00:00
vaxerski
fc89e70a1f
better ls noanim handling
2023-01-25 15:38:21 +00:00
vaxerski
8ae1fd0173
added layer rules
2023-01-25 15:34:13 +00:00
vaxerski
9813ba2f56
Add hyprctl animations
2023-01-25 15:16:28 +00:00
vaxerski
12e293e309
update animated deco values after setprop
2023-01-24 23:52:00 +00:00
vaxerski
da23ec847e
fix deprecated-copy warn
2023-01-24 22:46:16 +00:00
vaxerski
84954f376f
remove restrictions from setprop for ints
2023-01-24 21:44:54 +00:00
vaxerski
5de659cc7a
add fakefullscreen prop to windows in hyprctl
2023-01-24 21:29:27 +00:00
vaxerski
e273717a27
fix typo
2023-01-24 19:31:16 +00:00
a2ae37396f
add hyprctl setprop
2023-01-24 19:05:43 +00:00
vaxerski
e3d1743722
Revert "use spawn in dbus-env activation"
...
This reverts commit 63babcba36
.
oops.
2023-01-24 16:25:18 +00:00
63babcba36
use spawn in dbus-env activation
2023-01-24 14:05:59 +00:00
1cc7587789
recalculate layout on deco or border change
2023-01-24 14:04:01 +00:00
vaxerski
70b5c1b119
fix clamp in monitor relative
2023-01-23 20:56:43 +00:00
DB
7574b3db64
fix: hyprland crashing wenn moving window -1 from first monitor ( #1419 )
...
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-01-23 20:56:05 +00:00
vaxerski
cb6e36d804
ignore null ls-es in cleanup
2023-01-23 18:23:44 +00:00
vaxerski
2a5ae435e1
allow preblur for opaque surfaces if alpha not 1
2023-01-23 13:55:11 +00:00
vaxerski
c074f260a1
use proper fade anims for hyprerror
2023-01-23 12:04:48 +00:00
cb98242ea7
remove old comment and fixup lsl var name
2023-01-22 17:03:25 +01:00
147be3e10b
use goal size for uv calcs
2023-01-22 16:58:10 +01:00
b963a6624e
more verbose logging on invalid var 1 in seterror
2023-01-22 16:51:32 +01:00
ef90a7ad13
fix rounding exceeding max in single-line errors
2023-01-22 16:48:45 +01:00
eb7927d278
fix color typo in hyprerror
2023-01-22 16:45:00 +01:00
8f57db28f7
added hyprctl seterror
2023-01-22 16:38:17 +01:00
7d754b7c22
fix cutting geometry on surfaces spilling out
2023-01-22 16:24:51 +01:00
Cyril Levis
fcbfd19393
feat: add focus to urgent or last window ( #1402 )
...
* feat: add focus to urgent or last window
* Rename dispatcher
Co-authored-by: Maxim Baz <git@maximbaz.com>
2023-01-21 11:18:55 +01:00
434719611d
fix focus history on workspace jumps
2023-01-20 20:57:35 +01:00
5814d9b2a0
make hyprerror follow fadein anim
2023-01-20 20:48:07 +01:00
18330dec4e
scale hyprerror
2023-01-20 20:21:50 +01:00
Vaxry
60b880d931
wp-fractional-scaling-v1 impl ( #1373 )
...
* Initial fractional scaling impl
* apply UV after geom calcs
* fix scaling -> scale
* meson: add fractional scale proto
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
cee7bc6e74
small hyprerror revamp
2023-01-20 19:32:41 +01:00
d345804cd5
fix font color in hyprerror
2023-01-20 19:19:07 +01:00
fb2679d5ef
add a focus history vec
2023-01-20 19:15:15 +01:00
6f3548b184
add an urgent event
2023-01-20 19:03:17 +01:00
d5913a23ac
reset dragged window on failed begin
2023-01-20 16:30:30 +01:00
3436486575
sanitize scale better
2023-01-20 16:03:52 +01:00
5112056fdb
better log wl socket adding and use auto if failed
2023-01-19 16:44:23 +01:00
d8ee624e35
move monitor remove notice up
2023-01-19 16:27:04 +01:00
428063ff23
fix up log types
2023-01-18 16:12:44 +01:00
scorpion-26
c31c627cf8
Don't ignore previous maximise on defullscreen req ( #1393 )
...
When defullscreening a window by the apps' request, we would return
the window to normal mode, even if the window was previously maximized.
Now a defullscreening request honors the previous maximized state.
2023-01-17 13:20:10 +01:00
f14e808847
dump monitor data after setting rules
2023-01-17 11:57:36 +01:00
5c83976977
added misc:hide_cursor_on_touch
2023-01-17 11:47:39 +01:00