edc311544a
dwindle: Revert rework split logic to be fully gap-aware ( #12047 )
...
This reverts commit 151b5f6978 .
Fixes #12380
2025-11-18 00:59:21 +00:00
Vaxry
c2670e9ab9
windowrules: rewrite completely ( #12269 )
...
Reworks the window rule syntax completely
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-11-17 18:34:02 +00:00
Hiroki Tagato
43527d3634
internal: fix crash at startup on FreeBSD ( #12298 )
...
Hyprland at the latest commit crashes at starting up on FreeBSD with
SIGSEGV. Checking the validity of g_pXWayland->m_wm before calling
updateWorkArea() appears to fix the issue.
2025-11-13 22:06:34 +00:00
jmanc3
ce9787b3f4
xwayland: set _NET_WORKAREA property ( #12148 )
2025-10-29 11:24:34 +00:00
crossatko
151b5f6978
dwindle: rework split logic to be fully gap-aware ( #12047 )
2025-10-24 19:01:05 +01:00
Richard Potter
7fcaf332e8
layouts: apply [min|max]size window rules to dwindle & master layouts ( #11898 )
...
Uses min/max rules in the tiled layouts, akin to pseudotiling
2025-10-13 13:08:40 +01:00
Mike Will
10cec2b7e2
dwindle: simplify split_bias logic and set of possible values. ( #11448 )
2025-08-19 19:32:37 +01:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts ( #11377 )
2025-08-14 15:44:56 +01:00
Rico
f1f1161c17
dwindle: fix single_window_aspect_ratio not updating with config reload ( #11305 )
...
* dwindle: fix single_window_aspect_ratio not updating with config reload
* refactor: dereference instead of using ptr method
2025-08-02 15:24:18 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos ( #11213 )
2025-07-25 17:19:23 +02:00
Viktor
6bdb1f413e
dwindle: add the ability to specify an aspect ratio for a singular window ( #10650 )
2025-06-10 08:20:31 +01:00
davc0n
615e0dae46
layouts: refactor class member vars ( #10228 )
2025-05-01 13:27:07 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars ( #10218 )
2025-04-30 23:45:20 +02:00
davc0n
2118440488
windows: refactor class member vars ( #10168 )
2025-04-28 22:25:22 +02:00
davc0n
02d7badd15
workspaces: refactor class member vars ( #10167 )
2025-04-25 02:37:12 +02:00
b06fbdb743
dwindle: use idealIgnoreReserved for moveWindowTo bbs
...
fixes #10005
2025-04-23 22:31:14 +01:00
davc0n
241a4935a2
compositor: refactor class member vars ( #10141 )
2025-04-22 15:23:29 +02:00
davc0n
4d14bcb02f
config: Refactor class member vars ( #10124 )
...
* Refactor config classes vars
* Fix clang format errors
2025-04-20 20:39:33 +02:00
MightyPlaza
ffd6cf65e4
windowrules: allow incrementing window props ( #9566 )
2025-04-16 01:00:40 +02:00
rszyma
4d85e7996d
dwindle: ignore fullscreen window for positioning when use_active_for_splits=false ( #9838 )
...
* fix(dwindle): ignore fullscreen window for positioning when use_active_for_splits=false
* rename NON_FULLSCREEN -> SKIP_FULLSCREEN_PRIORITY
2025-04-13 00:58:38 +02:00
Maximilian Seidler
ff9e059de6
window: move size reporting to animation begin callback ( #9298 )
...
* 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
2025-02-06 11:21:04 +00:00
user111111111111111111111111111111111
3b207d29bd
core: update groups on movewindow ( #9183 )
2025-01-26 20:06:50 +01:00
445acec2a2
core: move sendWindowSize off of xwaylandmgr
...
additionally fixes that one weird x11 issue with floating windows being mis-sized on open
2025-01-25 20:36:44 +00:00
bce58d9d65
dwindle: fix possible crash on null ws
2025-01-25 18:34:15 +00:00
user111111111111111111111111111111111
2bad73354a
core: cleanup header includes ( #9088 )
...
Cleanup some unneeded includes to speed up compilation
2025-01-17 15:21:35 +00:00
Maximilian Seidler
5642ed331d
core: move parts of the animation system to hyprutils ( #8868 )
...
* 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
2025-01-07 17:55:14 +00:00
Ikalco
e2c78c00e5
internal: remove dead code ( #8748 )
2024-12-17 17:31:27 +01:00
a5234f26e4
core: drop using deques in favor of vectors
...
No point in most of these.
2024-12-16 15:58:19 +00:00
Vaxry
8bbeee1173
core: Add clang-tidy ( #8664 )
...
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
745a82ce8a
core: workspace-related function cleanup / refactor
...
CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
2024-11-22 16:01:02 +00:00
b735295d2b
windows/xdg: minor cleanup of min/max size calculations
...
fixes #8495
2024-11-17 19:31:54 +00:00
Aqa-Ib
8f42401aa8
groups: add merge_groups_on_groupbar ( #8362 )
2024-11-06 16:52:10 +00:00
MightyPlaza
12c1bb936d
internal: check size limit in layouts ( #8298 )
...
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/helpers/MiscFunctions.cpp
modified: src/helpers/MiscFunctions.hpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/macros.hpp
2024-10-30 18:58:36 +00:00
Vaxry
5d4b54b012
core: move internal structures to monitor pointers ( #8266 )
2024-10-27 18:45:38 +00:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
Aqa-Ib
86e9f69a69
layout: move applyGroupRules() to onWindowCreated() ( #8139 )
2024-10-16 22:13:35 +01:00
Vaxry
d655a10381
config/layout: nuke no_gaps_when_only ( #8072 )
2024-10-11 10:56:19 +01:00
Aqa-Ib
e2426942e5
layout: add auto_group to control default grouping ( #7883 )
2024-10-02 10:22:19 +01:00
Luke Chen
4b00cba319
dwindle: add movetoroot method to layout messages ( #7903 )
2024-09-29 14:47:59 +01:00
Mike Will
2cf6e7862a
dwindle: add config option split_bias ( #7920 )
...
If `default_split_ratio` is greater than 1.0, `split_bias` will give the
bigger half to a specific window:
0 - positional (default)
1 - current window
2 - opening window
2024-09-28 01:49:40 +01:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
Tom Englund
8d6c18076f
core: make most for loops use const references ( #7527 )
...
why not let the compiler optimise things for us at hyprspeeds when we
can.
2024-08-26 17:25:39 +02:00
MightyPlaza
3b4aabe04c
decorations: fix manual resize not recalculating decos ( #7323 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
2024-08-13 21:00:31 +01:00
Tom Englund
4b4971c06f
internal: introduce new types to avoid unsigned int rollover and signed int 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
2024-08-08 21:01:50 +02:00
MightyPlaza
51ffd7fa6f
decorations: fix infinite recursion on no_gaps when only ( #7169 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
2024-08-03 19:50:08 +02:00
MightyPlaza
c8873b958d
internal: fix fullscreen typos ( #7134 )
...
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
2024-08-01 14:59:52 +02:00
MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* 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
2024-07-31 19:55:52 +02:00
MightyPlaza
f442f435d3
layout: update workspace rules on layout change ( #6878 )
...
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
2024-07-15 11:57:52 +02:00
MightyPlaza
a443902abc
core: Improve handling of window properties ( #6776 )
...
* add mWindowProperties
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
* support int values
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
* create m_sWindowData
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* simplify some properties
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/managers/KeybindManager.cpp
* store multiple values in CWindowOverridableVar
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
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/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
* use SET_PROP priority for exec rules
modified: src/config/ConfigManager.hpp
modified: src/desktop/Window.cpp
* add default value
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add setprop toggle
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
* add setprop toggle
modified: src/debug/HyprCtl.cpp
* make window rules functional
modified: src/config/ConfigManager.cpp
modified: src/desktop/Window.cpp
* minor fixes
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
* properly clean layout data
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
* remove newline
modified: src/events/Windows.cpp
* fixes
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
* use CamelCase
modified: src/Compositor.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
modified: src/layout/IHyprLayout.cpp
modified: src/managers/AnimationManager.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/XWaylandManager.cpp
modified: src/render/OpenGL.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprBorderDecoration.cpp
modified: src/render/decorations/CHyprDropShadowDecoration.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
2024-07-11 16:10:42 +02:00
fb15b7aa2a
core: Move to hyprutils for Math
...
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
2024-06-19 16:20:15 +02:00