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
41d9b6f0d7
dwindle: use smart on display borders ( #2897 )
2023-08-21 20:57:55 +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
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
e4e8ae8f88
dwindle: disallow togglesplit on fullscreen
2023-08-10 22:01:34 +02:00
MightyPlaza
6db3c4ef5e
layout: no_border_when_only-improvements ( #2791 )
2023-07-24 12:13:40 +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
vaxerski
2c7b2ad6ca
windowrules: add border size rule
2023-07-18 00:11:29 +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
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
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
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
2629cfeeab
layouts: make aware of borderSize prop
2023-06-04 21:35:23 +02:00
vaxerski
a4c120d608
layouts: ignore direction forces on non-map
2023-05-24 19:23:10 +02:00
vaxerski
eb1f832fce
decos: recalc on add
2023-05-23 14:26:38 +02:00
Dashie
a8541d5f64
Add split preselection ( #2240 )
2023-05-06 01:02:18 +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
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
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
1f80154823
layouts: add missing static modifiers to config vars
2023-04-25 16:49:06 +01:00
vaxerski
8b3d8dc792
Format: use %lx for all addresses
2023-04-17 17:35:28 +01:00
lisuke
dc78c58c77
fix: a fullscreen bug. ( #1821 ) ( #1831 )
2023-03-20 16:07:18 +00:00
a85a6fa6c8
Dwindle: Added default_split_ratio
2023-03-07 14:24:10 +00:00
vaxerski
72fc309fb1
make window reserved area less stupid
2023-02-28 21:18:13 +00:00
a66ef50469
added a lockgroups dispatcher
2023-02-21 12:13:41 +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
eaf0fb14c9
reset layout-set render vars on floating
2023-01-31 12:15:40 +00:00
7f595ed0ca
support gradients in dwindle group colors
2022-12-31 16:23:56 +01:00
Julian Schuler
2daabfa0e9
Add 'exact' option for 'splitratio' ( #1245 )
...
* Simplify getPlusMinusKeywordResult()
* Add an 'exact' option for 'splitratio'
2022-12-17 22:37:44 +00:00
vaxerski
2076905d6e
remember size and pos on fullscreen 1
2022-12-17 12:14:43 +00:00
Vaxry
98a4fa2b0d
Added clang format ( #1239 )
...
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski
20899b597e
log more in group creation
2022-12-16 00:22:23 +00:00
vaxerski
fd43d2bea7
fix drag resizing on special ws-es
2022-12-09 17:08:04 +00:00
vaxerski
bf5844d607
add failsafe for dwindle windows
2022-12-07 18:57:02 +00:00
vaxerski
0a302901d2
Added handling more special workspaces
2022-11-27 22:42:22 +00:00
vaxerski
493fc00953
fix decorations missing after no_gaps_when_only toggle floating
2022-11-26 18:48:16 +00:00
vaxerski
75b7e661e7
damage windows after switch
2022-11-25 19:52:23 +00:00
vaxerski
e15a9f3d7d
damage monitor on group switch
2022-11-22 23:47:00 +00:00
vaxerski
5530cf6e79
respect no_gaps_when_only in fullscreen 1
2022-11-19 17:35:37 +00:00
vaxerski
6553fb5a40
fix fullscreen maximize size
2022-11-05 18:25:32 +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
Vaxry
45fe185cb9
Merge pull request #736 from Dickby/fix_bordersize_again
...
Scale the border size, revert the window scaling according to border
2022-09-29 22:01:06 +01:00
vaxerski
da40bf823f
apply new node data to all group windows on close
2022-09-29 19:46:33 +01:00
vaxerski
caeb0636fa
fix crash on dwindle splitratio alter on single group
2022-09-29 19:41:49 +01:00
Felix Dick
a1319e5110
Merge branch 'main' into fix_bordersize_again
2022-09-29 01:42:28 +02:00
Felix Dick
11ee78f88b
Use double literals, don't cast a integer literal to double.
2022-09-28 20:08:41 +02:00
Felix Dick
87afc8c250
Replace clamp with max if there is no upper bound.
2022-09-26 21:10:24 +02:00
Felix Dick
cd2b2c4fba
Scale the border size, revert the window scaling according to border
2022-09-26 17:38:08 +02:00
Felix Dick
bf3f519eb7
Remove trailing whitespace.
2022-09-25 20:07:48 +02:00
Dickby
e476382d08
scale border size in dwindle layout window sizes.
2022-09-25 18:12:42 +02:00
Dickby
bccc81d306
Fixing my last change
...
It wasn't a problem with the bug i tried to fix.
But there would be a problem if some function would dereference pPreviousGroupMember from the node that was PHEAD->pNextGroupMember.
Please don't be mean!
2022-09-23 19:13:05 +02:00
Vaxry
718de0d9fa
Merge pull request #715 from Dickby/main
...
fix crash
2022-09-23 17:05:04 +01:00
fd6116c0cd
style
2022-09-23 17:01:27 +01:00
Dickby
00b16888bf
style fix
2022-09-23 17:59:33 +02:00
695411f1bd
don't decorate on only no gaps
2022-09-23 16:47:58 +01:00
Dickby
f9d8b3096a
fix crash
...
Fixes #711
2022-09-23 17:01:46 +02:00
7f3750bd75
disable enabling groups on fullscreen windows
2022-09-20 18:08:10 +01:00
7a9423c782
better dwindle swapping with groups
2022-09-20 18:04:39 +01:00
2dd1661aec
fix groups with fullscreen
2022-09-20 12:17:34 +01:00
5b6c8d5b0f
fix misc fullscreen issues
2022-09-20 09:55:25 +01:00
cf32d28082
fix groupbar being wonk on scaled
2022-09-18 12:13:16 +01:00
fa2d81b649
fix animation issues with workspace silent
2022-09-16 21:17:03 +01:00
vaxerski
037d4ed422
handle multi-ws swaps in layouts
2022-09-14 17:30:16 +02:00
vaxerski
9f82278d65
simplify dwindle swap
2022-09-14 17:24:45 +02:00
vaxerski
64be57b780
fix group decos on added windows
2022-09-07 20:36:39 +02:00
vaxerski
789eedd115
fix a minor bug with no gaps when only and groups
2022-09-06 19:59:59 +02:00
vaxerski
4a8274e5f0
fix dwindle no gaps when only when dissolving a group
2022-09-06 18:12:41 +02:00
vaxerski
fbd2b4799d
Fix some more crimes against humanity
2022-09-03 22:49:52 +02:00
vaxerski
56203b1757
fix no_gaps_when_only with a group
2022-09-01 19:46:38 +02:00
vaxerski
21a1b62b6a
remove tiling node when invalid
2022-08-31 11:14:33 +02:00
vaxerski
179562b646
fix dwindle groupbars
2022-08-29 19:52:35 +02:00
vaxerski
d53b0a6491
optimize options in dwindle
2022-08-26 19:07:33 +02:00
vaxerski
ffaf14c19e
minor damage fixes
2022-08-24 13:44:48 +02:00
vaxerski
48c9e9d83d
damage on force warp resize
2022-08-23 15:08:15 +02:00
vaxerski
185f93ae64
fix dwindle active for splits
2022-08-20 17:59:15 +02:00
c2a3896cc9
added dwindle:use_active_for_splits
2022-08-19 22:03:41 +02:00
bbc6b5d5e0
added misc:animate_manual_resizes
2022-08-16 21:56:54 +02:00
a59641096c
ignore dwindle reload on full window null
2022-08-16 21:32:12 +02:00
c6de4ee4b7
more checks in fullscreen event
2022-08-16 21:30:53 +02:00
bec7501365
fix borders on no_gaps_when_only
2022-08-16 16:19:52 +02:00
d47bfe6af1
remove unused fixXWaylandWindowsOnWorkspace
2022-08-15 00:34:39 +02:00
28867758c4
better fix the last fix
2022-08-14 16:39:56 +02:00
214c2c7b1c
fix groups not updating size on head change
2022-08-13 10:08:35 +02:00
aba63a7f96
disallow nested groups creation
2022-08-11 19:56:29 +02:00
c319a2aba9
Completely rewrote Dwindle group code
2022-08-11 19:29:39 +02:00
862722412f
handle fullscreen in dwindle groups better
2022-08-09 18:37:50 +02:00
vaxerski
f66365d9da
fix crash in dwindle on create tiled
2022-08-05 20:00:17 +02:00
vaxerski
cd37a1533e
reject tiling windows that do not meet the max size requirement
2022-08-05 18:10:59 +02:00
vaxerski
cd483a7a37
ignore borders in nogapswhenonly
2022-08-03 15:25:30 +02:00
vaxerski
e13f2480ff
fixed missing recursion of force in dwindle
2022-08-03 12:30:28 +02:00
vaxerski
f36cd350cc
do not animate mouse resizes in layouts
2022-08-03 12:27:20 +02:00
vaxerski
f892387b70
added dwindle:no_gaps_when_only
2022-08-01 12:51:52 +02:00
vaxerski
31a079b347
added DPMS
2022-07-27 12:32:00 +02:00
vaxerski
641aaff998
minor code adjustments
2022-07-20 18:39:08 +02:00
vaxerski
5c836e6460
added master layout
2022-07-16 15:57:31 +02:00
vaxerski
90ebeaa881
fixed fullscreen opacity on fullscreen 1
2022-07-15 19:33:09 +02:00
vaxerski
634970a284
update deco values on fullscreen
2022-07-14 22:49:49 +02:00