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
Vaxry
61a71c65ac
internal: Formatter rework ( #3186 )
2023-09-06 12:51:36 +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
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
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
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
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
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
MightyPlaza
6295cbe9cb
keybinds: Keep aspect ratio ( #2907 )
2023-08-08 18:52:20 +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
MightyPlaza
d3bba2489d
render: Border fixes ( #2781 )
...
* Window.cpp
* layout
* CHyprGroupBarDecoration.cpp
2023-07-23 15:49:49 +02:00
vaxerski
27dd07f1b8
windowrules: improve opacity
2023-07-21 19:05:00 +02:00
MightyPlaza
ca54ceff6f
groups: add use_current_group_pos ( #2759 )
2023-07-20 19:48:32 +02:00
vaxerski
f4f0f35c5b
renderer: add occlusion for back layers
2023-07-19 16:13:55 +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
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
vaxerski
9f7382bca4
keybinds: add movegroupwindow
2023-07-13 17:55:25 +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
69fae18e63
damage: account for popups in getFullWindowBoundingBox
2023-06-23 13:54:01 +02:00
vaxerski
c4dec4f796
internal: damage window on change group
2023-06-14 19:44:51 +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
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
1a4e6e6a4b
window: recalc on deco remove
2023-06-05 09:49:21 +02:00
147e962370
deps: update wlroots
2023-06-03 12:20:28 +02:00
e76bd43f53
rules: add nodim
2023-05-31 21:11:20 +02:00
vaxerski
0887e2ee6e
window: reveal current from group on toplevel activate
2023-05-26 13:44:59 +02:00
vaxerski
1911e4262b
renderer: skip rendering bottom layers on fullscreen opaque
2023-04-22 12:36:54 +01:00
vaxerski
8b3d8dc792
Format: use %lx for all addresses
2023-04-17 17:35:28 +01:00
vaxerski
287e6c4ede
internal: workspace manip handling rework
2023-04-14 15:03:53 +01:00
vaxerski
70eb74c356
fractional-scale: notify all surfaces on window move
2023-04-14 01:36:07 +01:00
vaxerski
c2b25f4701
swallow: move swallowed on workspace change
2023-04-02 10:24:17 +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
3343aac6bf
feat: add forcergbx rule
2023-03-26 02:00:24 +01:00
vaxerski
a3fda12ba1
window: unassign surface on unmap
2023-03-23 00:39:32 +00:00
Vaxry
788a8f7c13
internal: wrap wlr surfaces ( #1822 )
2023-03-20 15:00:58 +00:00
vaxerski
2ba5238b8e
groups: fix moving between displays
2023-03-18 16:30:29 +00:00
vaxerski
253286669a
groups: fix fullscreen behavior with groups
2023-03-10 15:19:09 +00:00
vaxerski
9c0e2bba54
Renderer: Nuke onWindowResize{start/end}
2023-03-03 13:18:44 +00:00
vaxerski
9e028d56c0
fix credentials of invalid surfaces
2023-03-03 11:17:43 +00:00
vaxerski
2187c6cf43
Allow decos to request interactivity
2023-02-28 22:32:42 +00:00
vaxerski
4b20d4f1ad
Added decoration reserved area
2023-02-28 19:36:36 +00:00
vaxerski
40622a9e60
properly meld groups together
2023-02-19 22:19:40 +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
Ching Pei Yang
c92e0c05e4
Resize on border ( #1347 )
2023-02-18 22:35:31 +00:00
vaxerski
61c817319f
don't loop border anim on disabled
2023-02-14 17:10:17 +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
a2ae37396f
add hyprctl setprop
2023-01-24 19:05:43 +00: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
fb2679d5ef
add a focus history vec
2023-01-20 19:15:15 +01:00
7525818097
account for dimAround in fullboundingbox
2022-12-31 19:23:02 +01:00
a6699ef30c
added dimaround
2022-12-28 15:39:17 +01:00
vaxerski
4fd90144d1
touch up the clang format and format all files
2022-12-20 02:18:47 +00:00
Vaxry
98a4fa2b0d
Added clang format ( #1239 )
...
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski
e8b99ae13a
add override to opacity rules
2022-12-11 17:15:02 +00:00
vaxerski
0948b078e1
added border gradients
2022-11-26 17:57:02 +00:00
dcb6a0425c
override force opaque rule on keybind
2022-11-23 09:55:52 +00:00
vaxerski
95047fb083
return full monitor box for fullscreen windows in idealBB
2022-11-21 23:33:53 +00:00
vaxerski
f91f3d1c81
Reset callbacks on remap
2022-11-18 13:53:54 +00:00
Jef
dbb6732743
apply some rules dynamically when state of window changes ( #1020 )
...
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:21:26 +00:00
vaxerski
57817f7252
Added resize transitions
2022-11-06 17:52:09 +00:00
vaxerski
22384869a6
fix unregistering avars on sethidden
2022-11-05 13:37:57 +00:00
vaxerski
206360177f
Multiple animation optimization and xwayland wine fixes
2022-11-04 15:56:31 +00:00
vaxerski
34cd8b125a
rework focus system to be more safe and faster
2022-10-14 20:46:32 +01:00
Felix Dick
bf3f519eb7
Remove trailing whitespace.
2022-09-25 20:07:48 +02:00
8b46d0b5a9
simplify some local vars
2022-09-21 15:11:09 +01:00
vaxerski
f2d84a7e3a
guard parent in X11TransientFor
2022-09-01 10:16:23 +02:00
vaxerski
095185cfe7
guard parent in X11TransientFor
2022-09-01 10:15:55 +02:00
vaxerski
48eb2e0d6f
Added window dimming
2022-08-30 12:46:17 +02:00
vaxerski
179562b646
fix dwindle groupbars
2022-08-29 19:52:35 +02:00
vaxerski
5da114477f
move X11 transients to top on parent top
2022-08-28 19:47:06 +02:00
vaxerski
ed2cacc5d5
fix styling in const ptrs
2022-08-27 21:37:35 +02:00
vaxerski
ffaf14c19e
minor damage fixes
2022-08-24 13:44:48 +02:00
Darksome
f7f3446882
CCompositor::moveWindowToWorkspace -> CWindow::moveToWorkspace
2022-08-21 18:01:26 +03:00
c043bcdee6
fixes to toplevel updates
2022-08-10 08:51:59 +02:00
6f137938da
send enter and leave events for surfaces
2022-08-08 21:20:41 +02:00
793b23dbe6
fix crash in toplevel set appid
2022-08-06 21:15:50 +02:00
6aa448534f
guard toplevel funcs
2022-08-06 21:10:37 +02:00
69b8568ccf
better foreign toplevel protocol obedience
2022-08-06 20:57:38 +02:00
vaxerski
920fdd6bff
Animation config rework
2022-07-28 13:28:43 +02:00
vaxerski
48e5bd96bc
Added shadow colors animations and inactive col
2022-07-16 12:44:45 +02:00
vaxerski
a4f82491b7
active opacity is now animated
2022-07-12 13:40:55 +02:00
vaxerski
6f5b8425cb
fix invalidating the deque in CHyprGroupBarDeco
2022-07-05 17:31:47 +02:00
vaxerski
781526dac5
added hyprctl kill
2022-06-27 13:42:20 +02:00
vaxerski
3d48469cb4
fix decos with workspace offset
2022-06-27 00:25:37 +02:00
vaxerski
747ff3369d
added drop shadows
2022-06-25 20:28:40 +02:00
vaxerski
f76b9c4852
fix: ignore reserved in getWindowInDirection
2022-06-23 20:39:48 +02:00
vaxerski
b1c11f3d2e
consider the full bb with deco in rendering
2022-05-30 14:55:42 +02:00
vaxerski
894ae2d742
Use C++-styled pointers for decorations
2022-05-28 23:43:11 +02:00
vaxerski
bdf1c16195
Added IHyprWindowDecoration and Group Bars
2022-05-28 20:46:20 +02:00
vaxerski
77d37cd72a
optimization: dont damage entire window on border anim
2022-05-05 14:02:30 +02:00
vaxerski
3ebe7d7972
Added bezier curves
2022-04-23 21:47:16 +02:00
vaxerski
0147975faf
New animation system
2022-04-23 14:16:02 +02:00
vaxerski
223beb8a82
Multiple focus handling changes
2022-04-02 18:57:09 +02:00