Commit Graph

413 Commits

Author SHA1 Message Date
vaxerski 563835404f remember master width on master close 2022-12-17 22:53:03 +00: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
Julian Schuler 11ba6afdd3
Fix cycleprev bug introduced in 46891b12cf (#1213) (#1242) 2022-12-17 14:37:10 +00:00
vaxerski 2076905d6e remember size and pos on fullscreen 1 2022-12-17 12:14:43 +00:00
vaxerski deb8d3d82e ignore self in candidate floating 2022-12-16 20:07:44 +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 1a9ee959dd static-ize master opt 2022-12-12 14:37:49 +00:00
Maarten van Gompel 46891b12cf
Master layout: lose or inherit fullscreen on deliberate window switching (#1213)
* Master layout: Lose fullscreen status when deliberately switching away from a fullscreen window

* Master layout: implemented inherit_fullscreen config parameter

When set, if you are on a fullscreen window and you cycle to the next,
swap master, etc, it will be automatically fullscreened.
2022-12-12 14:34:52 +00:00
vaxerski 0c1bec023f unset cursor image on end drag if it gets destroyed 2022-12-12 14:32:23 +00:00
vaxerski 06e6c6021e fix memory read-after-free in master layout 2022-12-12 14:18:43 +00:00
Maarten van Gompel 6381b6474f
Implement orientation (placement of master area) for master layout (#1202)
* Implemented choosing placement of master area (#1059)

This implement a per workspace 'orientation' that can be set
to left, right, top or bottom. Reflecting placement of the master area.

Left (default) and right are horizontal layouts, top and bottom produce vertical
layouts. Orientation can be switched with: 'hyprctl dispatch layoutmsg orientationleft'
2022-12-10 21:59:16 +00:00
vaxerski bf78dcecf0 add changefloatingmode event 2022-12-09 18:51:44 +00:00
vaxerski fd43d2bea7 fix drag resizing on special ws-es 2022-12-09 17:08:04 +00:00
vaxerski b9812f8bc0 use anim callbacks and don't spam config resets in drag 2022-12-09 15:00:58 +00:00
vaxerski 6e3bd440ba do not reject drags on visible windows over fullscreen 2022-12-08 17:45:25 +00:00
vaxerski e1d7a13333 unset fullscreen in onWindowRemoved 2022-12-07 18:57:02 +00:00
vaxerski bf5844d607 add failsafe for dwindle windows 2022-12-07 18:57:02 +00:00
Eric_Luo afe12dc90b
Fix a compiler warning (#1124)
Co-authored-by: hnboy <hnboy@users.noreply.github.com>
2022-11-28 19:04:24 +00:00
vaxerski 0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
vaxerski 49063f949d find floating windows below closed one 2022-11-27 12:11:45 +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 d504c1e5ab fix master resizes all 2022-11-21 18:14:25 +00:00
vaxerski f8b9138383 make focus/swap master layoutmsgs two-way 2022-11-20 11:55:50 +00:00
vaxerski 5530cf6e79 respect no_gaps_when_only in fullscreen 1 2022-11-19 17:35:37 +00:00
Vaxry d5eafe1926 set cursor to hand1 when moving a window 2022-11-15 10:39:05 +00:00
vaxerski 884fc4f89c fix master window finding on closed 2022-11-13 14:31:12 +00:00
vaxerski 0208dff574 fix invalid master slave pos calc on y != 0 2022-11-10 19:39:16 +00:00
vaxerski 34b145ee65 Added resizing individual master windows 2022-11-10 12:05:22 +00:00
vaxerski 7ff1fd9d69 use goal values in changeWindowFloatingMode 2022-11-09 22:02:02 +00:00
vaxerski 1cf829c889 minor loose focus fixes 2022-11-08 20:28:41 +00:00
Vaxry c545ab4993 Added multiple master layoutmsgs 2022-11-08 12:39:52 +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 349afa0e7a guard header windows in layout messages 2022-11-03 22:55:44 +00:00
abbadanor 61b950d942
Add focusmaster dispatcher (#942)
* added focusmaster dispatcher

* format

Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2022-11-02 10:15:11 +00:00
vaxerski 077c1491a8 respect nofocus in candidate searching 2022-10-24 12:28:41 +01:00
vaxerski c04563734e Rework candidate finding on close window 2022-10-24 12:25:36 +01:00
vaxerski da8be82c9a Fix self-noding in changeWindowFloatingMode 2022-10-19 21:32:30 +01:00
vaxerski 8ffd244ef6 fix animate_manual_resizes with moves 2022-10-19 21:17:49 +01:00
vaxerski 34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
vaxerski ff5843bd85 anchor to proper quad in floating resize 2022-10-03 22:41:12 +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 c885afcbc6
Scale border size in calculations of windows 2022-09-25 12:42:39 +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
Vaxry fd6116c0cd style 2022-09-23 17:01:27 +01:00
Dickby 00b16888bf
style fix 2022-09-23 17:59:33 +02:00
Vaxry 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
Vaxry 7f3750bd75 disable enabling groups on fullscreen windows 2022-09-20 18:08:10 +01:00
Vaxry 7a9423c782 better dwindle swapping with groups 2022-09-20 18:04:39 +01:00
Vaxry 2dd1661aec fix groups with fullscreen 2022-09-20 12:17:34 +01:00
Vaxry 5b6c8d5b0f fix misc fullscreen issues 2022-09-20 09:55:25 +01:00
Vaxry c24b45671a mouse binds overhaul 2022-09-19 19:04:48 +01:00
Vaxry cf32d28082 fix groupbar being wonk on scaled 2022-09-18 12:13:16 +01:00
Vaxry 5131a4acaf fix special fullscreen 2022-09-17 15:07:03 +01:00
Vaxry 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 a96acc8fa4 only check for visible on xdg 2022-09-13 22:23:48 +02:00
vaxerski 7d4f0a3199 verify visibility of new geom in floating creation 2022-09-13 12:29:56 +02:00
vaxerski d94fe3d063 added window pinning 2022-09-10 13:11:02 +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 00ef40dda1 added swapnext and swapprev for master 2022-08-24 21:50:48 +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
Darksome f7f3446882 CCompositor::moveWindowToWorkspace -> CWindow::moveToWorkspace 2022-08-21 18:01:26 +03:00
xDarksome 0f25f3aee3
Merge branch 'hyprwm:main' into main 2022-08-21 16:03:51 +03:00
vaxerski 185f93ae64 fix dwindle active for splits 2022-08-20 17:59:15 +02:00
Darksome 37e1450a4d Impl CCompositor::moveWindowToWorkspace 2022-08-20 13:25:56 +03:00
Vaxry c2a3896cc9 added dwindle:use_active_for_splits 2022-08-19 22:03:41 +02:00
Darksome 844c33c980 Add mapwindow, unmapwindow and movewindow IPC events 2022-08-18 22:23:28 +03:00
Vaxry cd9c85a150 never animate moving floating windows 2022-08-16 22:40:16 +02:00
Vaxry bbc6b5d5e0 added misc:animate_manual_resizes 2022-08-16 21:56:54 +02:00
Vaxry a59641096c ignore dwindle reload on full window null 2022-08-16 21:32:12 +02:00
Vaxry c6de4ee4b7 more checks in fullscreen event 2022-08-16 21:30:53 +02:00
Vaxry bec7501365 fix borders on no_gaps_when_only 2022-08-16 16:19:52 +02:00
Vaxry d47bfe6af1 remove unused fixXWaylandWindowsOnWorkspace 2022-08-15 00:34:39 +02:00
Vaxry 28867758c4 better fix the last fix 2022-08-14 16:39:56 +02:00
Vaxry 214c2c7b1c fix groups not updating size on head change 2022-08-13 10:08:35 +02:00
Vaxry aba63a7f96 disallow nested groups creation 2022-08-11 19:56:29 +02:00
Vaxry c319a2aba9 Completely rewrote Dwindle group code 2022-08-11 19:29:39 +02:00
Vaxry 862722412f handle fullscreen in dwindle groups better 2022-08-09 18:37:50 +02:00
Vaxry 69b8568ccf better foreign toplevel protocol obedience 2022-08-06 20:57:38 +02:00
vaxerski f66365d9da fix crash in dwindle on create tiled 2022-08-05 20:00:17 +02:00
vaxerski d72f1cc644 fix various shadow damage issues 2022-08-05 19:23:53 +02:00
vaxerski cd37a1533e reject tiling windows that do not meet the max size requirement 2022-08-05 18:10:59 +02:00
vaxerski 575434f1a4 fix rounding on switching only tiled 2022-08-05 18:08:23 +02:00
vaxerski 97e82fa4fb clamp resizing tiled to their max sizes 2022-08-05 17:58:08 +02:00
vaxerski 4ea37fe64d remember floating size between tiles 2022-08-05 17:52:14 +02:00
vaxerski 9540106959 check for x11type and not nofocus in wcf 2022-08-03 21:03:08 +02:00
vaxerski 69558acb2e noInitialFocus in onWindowCreatedFloating as a check 2022-08-03 20:15:39 +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 60c16f77a6 added master:no_gaps_when_only 2022-08-01 12:57:37 +02:00
vaxerski f892387b70 added dwindle:no_gaps_when_only 2022-08-01 12:51:52 +02:00
vaxerski 429a9bc6c3 hide only XWayland on incorrect size 2022-07-29 11:45:32 +02:00
vaxerski b0ab8afc58 fix some XWayland weird popups 2022-07-28 15:40:06 +02:00
vaxerski 920fdd6bff Animation config rework 2022-07-28 13:28:43 +02:00
vaxerski 3904351678 Added layoutmsg and some master layout msgs 2022-07-28 12:00:10 +02:00
vaxerski 31a079b347 added DPMS 2022-07-27 12:32:00 +02:00
vaxerski 19cd04c85f shadow keybinds on drag events 2022-07-21 19:44:34 +02:00
vaxerski 641aaff998 minor code adjustments 2022-07-20 18:39:08 +02:00
vaxerski 900e6947e9 reject windows with tiny sizes, overwrite size 2022-07-18 13:14:31 +02:00
vaxerski 6f1b9d6af9 add master:new_on_top 2022-07-16 23:24:42 +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
Vaxry 7c999fb9f5
Merge pull request #242 from calebowens/caleb-feature-add-width-multiplier
Added a multiplier for the width to height ratio
2022-07-14 11:38:49 +02:00
vaxerski 4c4c36096b fix config reload on fullscreen mode maximized 2022-07-11 15:40:41 +02:00
vaxerski 2936368e80 minor event fixes 2022-07-11 14:13:15 +02:00
vaxerski e6872bddf4 fix minor issues with floating windows and fullscreen 2022-07-08 21:52:52 +02:00
vaxerski 491b99c61e handle unmanaged X11 setGeometry 2022-07-08 11:24:07 +02:00
vaxerski 5a22335b8d refocus after group toggles 2022-07-06 15:08:21 +02:00
vaxerski fc3957d538 optimize workspace in applyNodeData 2022-07-04 00:04:56 +02:00
vaxerski 3df126c675 oops 2022-07-03 23:17:12 +02:00
vaxerski 69e179816b oops last fix didnt fix 2022-07-03 23:16:42 +02:00
vaxerski a229701f28 fix crash with null pmonitor in special nodes on dwindle 2022-07-03 23:14:51 +02:00
vaxerski b0cd90a43c refactor a bunch of layout code 2022-06-30 12:09:05 +02:00
vaxerski 9391357063 fix focus on maximize 2022-06-29 14:44:24 +02:00
vaxerski 3d48469cb4 fix decos with workspace offset 2022-06-27 00:25:37 +02:00
vaxerski 78bf88ba60 Added fullscreen rule 2022-06-26 12:12:29 +02:00
vaxerski 3053f99db6 guard dragging windows in dwindle 2022-06-24 18:37:04 +02:00
vaxerski e4e323a0df dwindle: disallow swaps between workspaces 2022-06-23 20:51:01 +02:00
vaxerski 31dc70a41a Added exact to resizeActive and added moveactive 2022-06-23 10:14:59 +02:00
Caleb Owens 7d80327e7d fixed vertical swapping issue 2022-06-20 17:11:59 +01:00
Caleb Owens 3d46c73981 Added a multiplier for the width to height ratio 2022-06-20 14:37:27 +01:00
vaxerski 663fba76ae Added resizeactive 2022-06-06 19:32:14 +02:00
vaxerski 246aa000f5 Added dwindle:special_scale_factor 2022-06-03 19:03:33 +02:00
vaxerski b5a100379e reject drag on fullscreen workspace 2022-06-01 21:13:10 +02:00
vaxerski 042e79b888 fix fatal crash 2022-05-31 14:04:11 +02:00
vaxerski 0055efc4f1 Added a special workspace 2022-05-31 14:01:00 +02:00
vaxerski eee9698ec9 move workspaces and not windows on mon disconnect 2022-05-30 20:44:14 +02:00
vaxerski 227cbb0464 Added fullscreen types, maximize and full 2022-05-29 15:45:51 +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 b1b24cb21a Added changegroupactive direction 2022-05-28 19:16:20 +02:00
vaxerski 08d4d987cf return nearest mon if point out of range 2022-05-25 18:40:03 +02:00
vaxerski ef4ab2edd4 fix dwindle leaving artifacts on toggle pseudo 2022-05-21 21:20:56 +02:00
vaxerski f70d0ec5aa Added movetoworkspacesilent 2022-05-18 12:18:58 +02:00
vaxerski 50f978e518 Added togglesplit dispatcher 2022-05-16 17:37:46 +02:00
vaxerski e90c1f7022 added dwindle:preserve_split 2022-05-16 17:27:55 +02:00
vaxerski 694f4433a2 Added animation style and style slide 2022-05-14 16:43:30 +02:00
vaxerski 434184aa32 Added dwindle:force_split 2022-05-08 15:36:17 +02:00
vaxerski 908901fbda Fix opening floating on another mon 2022-05-04 15:16:36 +02:00
vaxerski c35517d44e fixes for xwayland popups, autofloat pop-up and task_dialog 2022-04-24 17:53:50 +02:00
vaxerski 86bb95c125 some fixes for xwayland windows and focus 2022-04-24 17:42:59 +02:00
vaxerski 8f3b4aa89c oops, small fix 2022-04-23 22:11:32 +02:00
vaxerski 3ebe7d7972 Added bezier curves 2022-04-23 21:47:16 +02:00
vaxerski f84294fe07 fixed fullscreen, removed effective vars from windows 2022-04-23 14:35:34 +02:00
vaxerski 0147975faf New animation system 2022-04-23 14:16:02 +02:00
vaxerski 87b8491294 Added the splitratio dispatcher 2022-04-20 16:53:41 +02:00
vaxerski 418e2d96ae Added the movewindow dispatcher 2022-04-20 16:18:58 +02:00
vaxerski 3e36f1c42c renderer fixes 2022-04-14 17:00:35 +02:00
vaxerski 32597bd8cb dwindle: autodetect first/second node on open 2022-04-13 16:24:31 +02:00
vaxerski 4bd23604f8 Dwindle window group fixes
fixed a crash and animations in the bg
2022-04-12 19:18:26 +02:00
vaxerski b6a93b2f03 Added window grouping for dwindle
furthermore, added LayoutRenderHints.
2022-04-12 16:44:18 +02:00
vaxerski a8e8729230 Added zext_workspace protocol support 🎉 2022-04-11 19:51:37 +02:00
vaxerski 8a4f6d01f3 fixed dragging tiled windows cuz i broke it 2022-04-10 20:02:36 +02:00
vaxerski a06638d87a oops forgot to remove this 2022-04-10 19:33:02 +02:00
vaxerski c41c01a7fb Splitratio on dwindle and splitratio mouse controls 2022-04-10 19:31:36 +02:00
vaxerski a49bbf4508 fadeout done 🎉 2022-04-05 20:49:15 +02:00
vaxerski f8e0b0b448 fadein and prep for fadeout 2022-04-05 19:28:10 +02:00
vaxerski c21881be25 Implement proper z-system 2022-04-04 16:25:30 +02:00
vaxerski 462781b16f Added drag to move window 2022-04-03 13:49:21 +02:00
vaxerski 3f99dad7f5 Added pseudotiling 2022-04-02 20:04:32 +02:00
vaxerski f794c91293 windows on top of fullscreen, lastmonitor fixes 2022-03-30 20:16:23 +02:00
vaxerski cd8d628c72 handle invalid map 2022-03-30 17:43:31 +02:00
vaxerski 39303fd2b0 animate float->tile properly 2022-03-27 20:06:44 +02:00
vaxerski 07612534dd fix fullscreen animation 2022-03-27 19:27:50 +02:00
vaxerski 3d41dd6c25 fix dwindle monitors 2022-03-24 19:05:25 +01:00
vaxerski ccbc0e4a2e Added window rules 2022-03-24 18:22:01 +01:00
vaxerski 14d387ea14 animation + floating fixes 2022-03-24 16:05:06 +01:00
vaxerski bcf7ee6dc2 Added basic animations for windows 2022-03-23 22:01:59 +01:00
vaxerski f108ec78e2 Added movetoworkspace 2022-03-23 16:51:48 +01:00
vaxerski 53388ad8a4 dwindle: fix openingon, kind of 2022-03-22 22:04:35 +01:00
vaxerski 2bc29f32ec finally fixed XWayland popups 2022-03-22 21:28:57 +01:00
vaxerski 90bb8e6441 minor changes 2022-03-22 20:04:39 +01:00
vaxerski c58b15c6da Fix a crash with setting title 2022-03-22 17:31:19 +01:00
vaxerski 3d61738d5d minor QoL patches 2022-03-21 19:28:43 +01:00
vaxerski 295a0c4a69 Added fullscreen 2022-03-21 19:18:33 +01:00
vaxerski 6dcd6f21b9 create floating windows correctly 2022-03-21 17:24:41 +01:00
vaxerski 1f639f2aba dwindle fixes 2022-03-20 18:31:58 +01:00
vaxerski 9421be0221 removed a past unused placeholder 2022-03-20 18:10:17 +01:00
vaxerski 5644e668ef fix dwindle with workspaces 2022-03-20 16:06:17 +01:00
vaxerski 50370e4216 added workspaces 2022-03-20 15:55:47 +01:00
vaxerski f8a731b10b focus to layers 2022-03-20 14:36:55 +01:00
vaxerski 332fa8a802 XWayland floating 2022-03-20 13:37:07 +01:00
vaxerski 6fc504fc4c fix various issues with floating windows 2022-03-20 11:22:55 +01:00
vaxerski a4b026df2b floating windows support 2022-03-20 11:14:24 +01:00
vaxerski 3277321c26 fix recalc dwindle 2022-03-19 20:59:22 +01:00
vaxerski 1a298257c9 fix xwaylabnd too, stuff 2022-03-19 20:56:19 +01:00
vaxerski cf76b90606 multimon fixes 2022-03-19 20:30:21 +01:00
vaxerski 61e10e2048 added a layoutmanager and basic dwindle 2022-03-19 15:59:53 +01:00