summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* core,hyprctl: clang, clang-tidy, typo fixes and dtors changes (#9233)Honkazel2025-01-301-1/+0
| | | | | | | * declare dtor once + DMABBUF typo fix * dup include + clang moment * linux-dmabuf: last minute nit change
* core: make persistent workspaces always follow the configVaxry2025-01-261-0/+43
| | | | | | instead of just staying after open, they will now be enforced on their respective monitors fixes #8769
* desktop: move desktop types to memory-safe pointersVaxry2025-01-261-1/+0
|
* core: move sendWindowSize off of xwaylandmgrVaxry2025-01-251-1/+1
| | | | additionally fixes that one weird x11 issue with floating windows being mis-sized on open
* window: revert only set m_iMonitorMovedFrom, when moving to a different monitorVaxry2025-01-251-0/+1
| | | | | | This reverts commit 089fdd1ea0d991da5b068db51531f54c90a2df25. Great commit.
* window: only set m_iMonitorMovedFrom, when moving to a different monitor (#9160)Maximilian Seidler2025-01-251-1/+0
|
* compositor: fix incorrect cast, use lambda capture instead (#9161)heather72832025-01-251-4/+4
|
* core: add --verify-config to verify the config with HyprlandVaxry2025-01-241-2/+16
| | | | fixes #9135
* animations: fix borderangle once (#9149)Maximilian Seidler2025-01-241-4/+1
|
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-28/+28
|
* keybinds: add visible arg for cyclenext (#9045)Alexander2025-01-211-58/+31
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* xwayland: fix crash when trying to initialize without Xwayland installed (#9077)Zach DeCook2025-01-201-1/+1
|
* core: move to inotify for monitoring the config filesvaxerski2025-01-191-5/+2
| | | | | | instead of manually polling every second which is not efficient, use inotify. an added bonus is that inotify is much much faster
* core: reserve vector sizes as much as we can (#9118)Tom Englund2025-01-191-4/+2
| | | | | avoid reallocations as much as possible with a few edge cases where the reservation overshoots a tiny bit. but a few bytes of memory short term is better used then the overhead of potential reallocation.
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+19
| | | Cleanup some unneeded includes to speed up compilation
* core: Add a periodic donation request (#8981)Vaxry2025-01-101-1/+8
| | | Will fire once in december and july. Disableable with `ecosystem:no_donation:nag`
* selectors: add a tag: to for matching window tag(s) by regex (#8985)zakk42232025-01-091-0/+15
|
* core: Add support for HDR and color management protocols (#8715)UjinT342025-01-071-0/+19
|
* core: move parts of the animation system to hyprutils (#8868)Maximilian Seidler2025-01-071-39/+39
| | | | | | | | | | | | | * core: change animation manager to use Hyprutils::Animation * config: move animation config to hyprutils animation tree * use g_pAnimationManager->createAnimation and the new PHLANIMVAR template * core: use CGenericAnimatedVariabled::{enabled,setConfig,getStyle} and adapt callbacks * core: adapt animated variable usage (dereference the shared pointer) * misc: bump CMakeLists to hyprutils 0.3.3
* core: guard workspace and monitor in moveWorkspaceToMonitorvaxerski2025-01-041-1/+2
| | | | ref #7822
* socket2: add focusedmonv2 event (#8921)davc0n2025-01-031-1/+6
| | | | | * socket2: add focusedmonv2 event * socket2: remove workspace name from focusedmonv2
* keybinds: attempt to wrap around if fallback is allowed in movefocusvaxerski2025-01-021-28/+29
| | | | fixes #8909
* internal: few small monitor improvements (#8890)Ikalco2024-12-291-5/+0
| | | | | | | * remove framesToSkip, its not used anymore * only set drm format when needed after leaving direct scanout * always set drm damage
* core: refactor/improve monitor mode selection (#8804)Ikalco2024-12-281-1/+1
|
* core: fade in windows when they are brought from invisible workspacesVaxry2024-12-221-0/+6
|
* core: fix possible crash on null active workspaceVaxry2024-12-191-1/+2
| | | | fixes #7822
* internal: Make static analysis more happy (#8767)Ikalco2024-12-191-4/+4
| | | | | | | | | * make functions used in 1 file static * fix invalid substr param -1 * give default initializer to borderGradier * move RASSERT from printf to std::print
* internal: remove dead code (#8748)Ikalco2024-12-171-16/+0
|
* core: Move regex from stdlib to re2 (#8736)Vaxry2024-12-161-9/+11
| | | Moves the regex handling from stdlib to re2
* core: drop using deques in favor of vectorsVaxry2024-12-161-3/+3
| | | | No point in most of these.
* compositor: fix monitor arrangement with mixed auto directionsVaxry2024-12-131-32/+30
| | | | fixes #8518
* windows: allow replacing existing fullscreen (#8566)littleblack1112024-12-101-1/+4
| | | | | | | | | | | | | * feat: `binds:allow_replace_fullscreen` this allows replacement of fullscreen window(i.e. fullscreening another window when one is already fullscreened on the workspace) this is used when a floating window that is spawned on top of a fullscreen wanted to be fullscreened * clang-format * remove: config for `allow_replace_fullscreen`
* core: Add clang-tidy (#8664)Vaxry2024-12-071-20/+18
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: Add support for hyprqtutils' update screen (#8651)Vaxry2024-12-061-1/+13
| | | | | | | | | * Nix: add hyprland-qtutils to PATH * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: add a few festive splashesVaxry2024-12-051-2/+12
| | | | adds two new 'special' splash types for xmas and new years. Activated based on local time.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-5/+5
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* binds: add option to allow fullscreening a pinned window (#8526)littleblack1112024-11-231-2/+13
|
* core: workspace-related function cleanup / refactorVaxry2024-11-221-159/+23
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* internal: fix changeWindowZOrder reordering incorrectly (#8494)Aqa-Ib2024-11-181-3/+3
|
* core: guard pmonitor in focuswindowVaxry2024-11-161-2/+2
| | | | | | may be null fixes #8483
* compositor: make sure we don't ret early on no surfaceVaxry2024-11-091-1/+1
| | | | | | if there is no implicit surface passed, make sure the current focus is not null, otherwise we nope early without focusing the window fixes #8293
* shadow: add sharp and refactor optionsVaxry2024-11-051-6/+5
| | | | options moved to decoration:shadow:
* renderer: Add a missing texture asset and a user checkVaxry2024-11-011-0/+6
| | | | | | | | When an asset is missing, instead of a black screen, render an obnoxious, yet standard, missing texture. Additionally, warn the user assets failed to load. Shoutout to Arch for having their assets broken for months. Fix your shit. I am tired of it, and it's negatively impacting users.
* internal: more profiling less calls and local copies (#8300)Tom Englund2024-10-301-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compositor: reduce amount of window box copies mousemoveunified can call this very frequently, the cbox copying actually shows up as an impact in such cases, move it down in the scope and only do it when necessery. * core: constify and reference frequent calls profiling shows these as frequent called functions try to reduce the amount of copies with references and const the variables. * pointermgr: remove not used local copy, const ref remove unneded local copies and const ref cursorsize. * inputmgr: reduce amount of calls to vectortowindow the amount of calls to g_pCompositor->vectorToWindowUnified fast ramps up in cpu usage with enough windows existing and moving the mouse, move the PWINDOWIDEAL up and reuse it if its already the same. * protocol: compositor remove unused local copy remove unused local copy of accumulateCurrentBufferDamage and const previousBuffer. * renderer: reduce scope of variables and refactor move a few variables down in their scopes to reduce the amount of calls and copies when not needed, also add one more for loop in renderWorkspaceWindows and store the windows in a vector with weakpointers that should be rendered, this adds a loop but reduces the amount of repeated calls to shouldRenderWindow and also makes the rest of the loops go over way smaller vector when many windows exist.
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-32/+31
|
* core: fix group members disappearing when you move the group to another ↵Aqa-Ib2024-10-261-1/+1
| | | | | | | monitor (#8237) * fix group members disappearance when you move the group to another monitor * remove repeated action
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-4/+4
| | | | ref #8221
* groups: add group_on_movetoworkspace (#8159)Aqa-Ib2024-10-231-11/+38
|
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-56/+56
| | | | | * move monitors to sp * XD
* monitor: modernize/refactor last legacy-handled eventsVaxry2024-10-191-1/+1
|