summaryrefslogtreecommitdiff
path: root/src/Window.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* windowrules: add rule `group` to map windows grouped (#3279)memchr2023-09-221-0/+63
| | | | | * windows: add rule group to map windows grouped * group rule: use `invade` to force open a window in a locked group
* logging: implement std::formatter for some types (#3380)memchr2023-09-201-0/+1
|
* logging/format: use std::format_string to catch formatting string errors at ↵memchr2023-09-201-1/+1
| | | | | | | compile time (#3377) * fix(log): use constexpr format string * deprecate getFormat
* layout: add missing groupbar decoration to the window (#3235)memchr2023-09-101-0/+3
| | | | | | | | | * fix: add missing groupbar decoration to the window Add groupbar decoration to the operand window of `CWindow::insertWindowToGroup` if it does not exist, to prevent segmentation faults when mouse events are triggered after moving the window to a group, where `getDecorationByType(DECORATION_GROUPBAR)` unexpectedly returns nullptr. Also fixed a bug where the group bar disappeared when the moveIntoGroup dispatcher's operand window was in a group. * Update Window.cpp
* internal: Remove all `.c_str()` calls when using `std::vformat` (#3198)Philip Damianik2023-09-061-4/+4
| | | Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
* internal: Formatter rework (#3186)Vaxry2023-09-061-5/+5
|
* window: check for special id matching in close_special_on_emptyvaxerski2023-09-031-1/+1
|
* special: add misc:close_special_on_emptyvaxerski2023-09-031-0/+8
| | | | fixes #3156
* decos: groupbar mouse interaction (#3102)MightyPlaza2023-08-301-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* renderer: Border improvements (#2986)MightyPlaza2023-08-171-26/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* xwayland: use a completely separate coordinate systemvaxerski2023-08-151-1/+4
| | | | | | Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps. Fixes #2916
* toplevel: patches group toplevel-activated (#2931)MightyPlaza2023-08-101-1/+1
| | | | | | | | | | | | | * 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
* rules: add layer and window xray rulesvaxerski2023-08-091-0/+7
|
* renderer: remember extents before removing a window and use them for dtvaxerski2023-08-091-3/+17
| | | | fixes #2351
* keybinds: Keep aspect ratio (#2907)MightyPlaza2023-08-081-6/+9
|
* windowrules: fix opacity overridevaxerski2023-07-231-2/+2
|
* window: fix segfault in boundingboxvaxerski2023-07-231-1/+3
|
* render: Border fixes (#2781)MightyPlaza2023-07-231-1/+9
| | | | | | | * Window.cpp * layout * CHyprGroupBarDecoration.cpp
* windowrules: improve opacityvaxerski2023-07-211-13/+23
|
* groups: add use_current_group_pos (#2759)MightyPlaza2023-07-201-40/+26
|
* renderer: add occlusion for back layersvaxerski2023-07-191-0/+16
|
* Add bringWindowToTop function to IHyprLayout (#2747)outfoxxed2023-07-191-10/+1
| | | | | | | * Add bringWindowToTop function to IHyprLayout * Rename `bringWindowToTop` to `requestFocusForWindow` * Fix doc
* layout: recalculate monitor instead of window in updateDynamicRulesvaxerski2023-07-181-1/+1
|
* layout: recalc window on dynamic rule updatevaxerski2023-07-181-0/+2
|
* windowrules: add border size rulevaxerski2023-07-181-0/+5
|
* keybinds: add movegroupwindowvaxerski2023-07-131-0/+39
|
* groupbar fixes (#2630)MightyPlaza2023-07-031-4/+3
| | | | | | | | | | | | | | 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>
* damage: account for popups in getFullWindowBoundingBoxvaxerski2023-06-231-0/+31
|
* internal: damage window on change groupvaxerski2023-06-141-0/+2
|
* feat: add lockactivegroup dispatcher (#2478)memchr2023-06-091-0/+1
| | | | | | | | | | | | | | | | | * 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
* Fix fractional scale updates in some cases (#2447)Franz Berger2023-06-061-15/+8
| | | | | | | | | | | | | | | | | | | * fix fractional scale update in moveWorkspaceToMonitor * fix fractional scale update in moveToWorkspace * Revert "fix fractional scale update in moveWorkspaceToMonitor" This reverts commit 6612197a38e6e55a730bb786ed12861830e9f40e. * Revert "fix fractional scale update in moveToWorkspace" This reverts commit 75d9795a065c0122e42d622fbeb83b18c47d4bbc. * move fractional scale code to updateSurfaceOutputs * remove duplicate check * remove superfluous setPreferredScale()
* window: recalc on deco removevaxerski2023-06-051-1/+7
|
* deps: update wlrootsvaxerski2023-06-031-1/+2
|
* rules: add nodimvaxerski2023-05-311-0/+3
|
* window: reveal current from group on toplevel activatevaxerski2023-05-261-3/+11
|
* renderer: skip rendering bottom layers on fullscreen opaquevaxerski2023-04-221-0/+15
|
* Format: use %lx for all addressesvaxerski2023-04-171-1/+1
|
* internal: workspace manip handling reworkvaxerski2023-04-141-1/+5
|
* fractional-scale: notify all surfaces on window movevaxerski2023-04-141-0/+11
|
* swallow: move swallowed on workspace changevaxerski2023-04-021-0/+5
|
* Fix some typos (#1907)Alexander Seiler2023-03-291-2/+2
| | | Signed-off-by: Alexander Seiler <seileralex@gmail.com>
* windows: only connect unmap when mappedvaxerski2023-03-281-0/+4
|
* feat: add forcergbx rulevaxerski2023-03-261-0/+3
|
* window: unassign surface on unmapvaxerski2023-03-231-0/+2
|
* internal: wrap wlr surfaces (#1822)Vaxry2023-03-201-3/+5
|
* groups: fix moving between displaysvaxerski2023-03-181-8/+29
|
* groups: fix fullscreen behavior with groupsvaxerski2023-03-101-1/+9
|
* Renderer: Nuke onWindowResize{start/end}vaxerski2023-03-031-3/+0
|
* fix credentials of invalid surfacesvaxerski2023-03-031-0/+4
|
* Allow decos to request interactivityvaxerski2023-02-281-0/+37
|