| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Reworks the window rule syntax completely
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| | |
|
| |
|
| |
Adds configurable trackpad gestures
|
| | |
|
| | |
|
| |
|
|
| |
Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* desktop: add ability to target pinned windows in workspace rules
* desktop: add ability to target pinned windows in workspace rules
* fix formating
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* window: fix resizes with an update callback
* window: fixup sendWindowSize
Remove the size argument from sendWindowSize, since it is now a member of the Window class
and we don't want any mismatches between m_vRealSize and what we report.
Remove sendWindowSize from mapWindow, since we shouldn't need it.
* window: sendWindowSize on animation begin
* window: move most calls to sendWindowSize to the animation begin
callback
* window: remove sendWindowSize in unmanaged if not fullscreen
|
| |
|
|
| |
additionally fixes that one weird x11 issue with floating windows being mis-sized on open
|
| |
|
| |
Cleanup some unneeded includes to speed up compilation
|
| |
|
| |
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| | |
|
| |
|
|
|
| |
Search for the closing bracket when parsing a workspace selector.
This is needed when the `m[desc:<monitor description>]` selector
is used, as the monitor description always contains spaces.
|
| |
|
|
|
| |
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
|
| |
|
|
| |
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
|
| |
|
|
| |
fixes #8523
|
| | |
|
| | |
|
| |
|
| |
now we roll loops at blazing constified speed.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
overflow (#7216)
* framebuffer: avoid gluint overflow
GLuint was being initialized to -1 and rolling over to unsigned int max,
its defined behaviour but very unnecessery. add a bool and use it for
checking if allocated or not.
* opengl: avoid gluint rollover
-1 rolls over to unsigned int max, use 0xFF instead.
* core: big uint64_t to int type conversion
there were a few uint64_t to int implicit conversions overflowing int
and causing UB, make all monitor/workspaces/windows use the new
typedefs. also fix the various related 64 to 32 implicit conversions
going around found with -Wshorten-64-to-32
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
|
| |
|
| |
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
|
| |
|
|
|
|
| |
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* core: move to hyprutils for utils
Nix: add hyprutils dep
* Meson: add hyprutils dep
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
moves std::shared_ptrs to a new implementation
Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
- this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
- reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
- this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
- this is useful in destructors and callbacks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Window storage rework - part 1
* format
* remove useless include
* fix pch
* format
* fix crash in dwindle
* fix vram leak
* prefer .expired() for bool checks
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix duplication of "special:" in special workspace name
modified: src/desktop/Workspace.cpp
* Track default special workspace name as special:special
This is to fix the edge cases with the previous commit without breaking
user configs.
modified: src/helpers/MiscFunctions.cpp
---------
Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
|
| |
|
|
|
| |
* add fullscreen selector
* use stoi
|
| |
|
|
|
|
|
|
|
| |
windows (#5628)
* Add 'v' flag for workspace selector: counts only visible windows
* extra commit because I'm dumb
* guard
|
| | |
|
| |
|
|
|
| |
* Add groupCount workspace selector prop
* Intergrate groupCount with windowCount
|
| |
|
|
|
| |
when the compositor destructs because of exiting hyprland the
hookmanager and eventmanager is already destroyed, add an if check in
the destructor of workspace so it doesnt segfault on exit.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* workspacerules: add back on-created-empty functionality
* clang format
* workspacerules: spawn on-created-empty window while initializing CWorkspace
* clang format
* configManager: fix typo
---------
Co-authored-by: Your Name <you@example.com>
|
| | |
|
| | |
|