Commit graph

140 commits

Author SHA1 Message Date
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
vaxerski
3ca2d3b678 fix some crashes 2022-03-30 21:18:42 +02:00
vaxerski
bc937e3e71 Renderer 2022-03-17 20:22:29 +01:00