Commit Graph

340 Commits

Author SHA1 Message Date
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 fb45f8f2f9 crashReporter: remove inconsistent log from crash reports 2023-03-04 00:14:20 +00:00
vaxerski 7c5c7ced91 Convert reverse iterators to ranges 2023-03-01 14:06:52 +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
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
Mihai Fufezan e302724847
use corner cursors on resize (#1638) 2023-02-26 03:56:23 +02:00
Vaxry a66ef50469 added a lockgroups dispatcher 2023-02-21 12:13:41 +00:00
vaxerski cd6640e890 unset hidden at grouped remove 2023-02-19 23:26:36 +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 6b7e409f05 properly clamp size in dragging floating corners 2023-02-12 22:24:47 +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
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 6688421240 minor adjustments to xwayland positioning 2023-02-03 21:21:19 +00:00
Vaxry eaf0fb14c9 reset layout-set render vars on floating 2023-01-31 12:15:40 +00:00
Jan Beich f90ff8303b
Unbreak build with libc++ (#1457) 2023-01-31 00:03:23 +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
Vaxry d5913a23ac reset dragged window on failed begin 2023-01-20 16:30:30 +01:00
Maxim Baz 7729fa9ac9
master layout: remember size & pos of floating windows on fullscreen 1 (#1374) 2023-01-13 21:58:14 +01:00
Vaxry 85d1b06a79 clean draggedwindow in dragend 2023-01-02 12:06:06 +01:00
Vaxry 7f595ed0ca support gradients in dwindle group colors 2022-12-31 16:23:56 +01:00
Vaxry a91d0a374a fix mouse resize on master orientations 2022-12-30 13:01:43 +01:00
Vaxry b4ebc18367 remove main_mod 2022-12-28 19:52:12 +01:00
Maarten van Gompel edcf4cd61d
fix for gap in master layout orientation right #1171 (#1260) 2022-12-20 22:24:36 +00:00
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