summaryrefslogtreecommitdiff
path: root/src/Window.cpp
Commit message (Collapse)AuthorAgeFilesLines
* window: ignore surface updates in unsafe / on invalid monitorsVaxry2024-03-051-1/+4
|
* config: improve config value infrastructureVaxry2024-03-031-14/+15
|
* xdg: minor improvements to initial size reportingVaxry2024-03-021-3/+2
| | | | fixes #4918
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-29/+29
| | | | | | | | | | | | | | | | | | | | | | | * animation: Refactor AnimatedVariable This commit decomposes the AnimatedVariable class into a base class with the common attribute to all variable types and a templated derived type containing strongly typed info on the type being animated. Access to the typed version is perfomed using the visitor pattern. A utility is provided to build a visitor on the fly using lambdas. Adding a new type to be animated should just be a matter of adding the typed in the list defined by the ANIMABLE_TYPES macro The size of the commit is justified by the API change in the AnimatedVariable class. No more vec(), fl() or col() method but a unified value() method. * animation: Remove visitor pattern * animation: Fix coding style * animation: Fix coding style
* surface: unify ownersVaxry2024-02-291-2/+1
|
* xdg: rewrite entire popup implementationVaxry2024-02-291-0/+8
|
* subsurface: Rewrite the subsurface tree (#4877)Vaxry2024-02-291-0/+4
|
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* dispatchers: add Fullscreen without sending fullscreen to application (#4720)epicgamer2567052024-02-171-1/+1
| | | | | | | | | | | * Add extra option to fullscreen * Remove useless branch fixes #1817 --------- Co-authored-by: matteo bob <matteo4375@gmail.com>
* input: focus window on mouse down on decoration (#4514)MightyPlaza2024-02-041-21/+11
| | | Also unifies vectorToWindow funcs
* tearing-control: handle unmapped surfaces for hintsVaxry2024-02-011-0/+8
| | | | fixes #4570
* deps: update wlrootsVaxry2024-01-271-1/+1
| | | | drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
* config: Add border gradients to windowrulev2 (#4335)Isaac Myhal2024-01-141-10/+38
| | | | | | | * Add border gradients to windowrulev2 * windowrule border gradient: Use CVarList to parse * windowrule border gradient: No {} around short ifs
* surface: avoid spam of window surfaces with scale and transform eventsvaxerski2024-01-111-1/+6
| | | | fixes #4408
* subsurfaceTree: update surface tree protocol feedback on mapvaxerski2024-01-091-6/+8
|
* groupbar: add enabling groupbar and setting priority (#4299)MightyPlaza2023-12-301-0/+6
|
* xdg-shell: fix sending of suspended statevaxerski2023-12-291-0/+1
| | | | fixes #4287
* internal: Unify input handling on decorations (#4280)dranull2023-12-281-0/+18
| | | | | | | * Unify input handling on decorations * Make input methods private * Optional data
* xdgshell: bump to 6, send suspended statesvaxerski2023-12-231-0/+12
|
* windowrules: minor fixes to onworkspacevaxerski2023-12-231-2/+0
| | | | fixes #4227
* windowrules: add onworkspacevaxerski2023-12-201-0/+4
| | | | cool
* internal: nuke CWindow::m_bMappedX11Vaxry2023-12-171-2/+2
| | | | it's useless. m_bIsMapped is the same.
* internal: fix interactions with fakefullscreen (#4113)François Conzelmann2023-12-111-0/+5
| | | | | - In a maximized window, unstuck fakefullscreen from on state - In a fakefullscreen window, going in and out of fullscreen state keep the fakefullscreen state rendered
* internal: Remake borders as window decorations (#4104)Vaxry2023-12-101-1/+3
|
* internal: various improvements to avoid crashes on exitVaxry2023-12-061-0/+3
|
* opengl: free window framebuffers in ~dtorVaxry2023-12-041-0/+3
| | | | ref #4036
* windowrules: make idleinhibit dynamicVaxry2023-11-141-0/+14
|
* decorations: recalc layout and positioner on add/removeVaxry2023-11-131-0/+4
|
* decorations: Decoration Positioner (#3800)Vaxry2023-11-111-47/+45
|
* Internal: Hyprland box implementation (#3755)Vaxry2023-11-041-15/+15
| | | | | | | * box impl * remove unused operators * missed applyfromwlr
* Decos: Window decoration flags, shadow improvements (#3739)Vaxry2023-11-041-1/+1
|
* Core: various unsafe state improvements (#3713)Vaxry2023-11-011-0/+3
| | | Fixes #3637
* internal: create canBeGroupedInto() (#3693)MightyPlaza2023-10-301-0/+9
| | | | | | | modified: src/Window.cpp modified: src/Window.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* input: better cursor image infrastructureVaxry2023-10-291-0/+4
| | | | | | Improves handling of cursor images/surfaces Fixes an issue with decos and cursors Fixes #3471
* windowrules: add nearestneighborVaxry2023-10-241-0/+3
|
* internal: honor close_special_on_empty on moveToWorkspaceVaxry2023-10-241-0/+13
| | | | fixes #3602
* compositor: send preferred scale and transform events to surfacesVaxry2023-10-221-1/+2
| | | | fixes #3635
* surface/wayland: conform to small surface requirementsVaxry2023-10-201-0/+6
| | | | do not stretch small surfaces, instead center them if they fit.
* cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ↵Philip Damianik2023-10-151-6/+6
| | | | | | | (#3572) * Replace find() with C++20 starts_with() and ends_with() * Replace find() with C++20 contains()
* renderer: Tearing implementation (#3441)Vaxry2023-09-281-0/+12
|
* 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