6cf193e166
layout: don't snap to self and allow same-pid snaps
...
fixes #8255
2024-10-27 23:41:22 +00:00
b1120ec433
layout: window snapping cleanup + fixes
...
way better now heh
fixes #8259 fixes #8267
2024-10-27 23:39:57 +00:00
Vaxry
5d4b54b012
core: move internal structures to monitor pointers ( #8266 )
2024-10-27 18:45:38 +00:00
Ryan
b6e226c320
groupbar: set locked color when groups are globally locked ( #8257 )
2024-10-27 18:26:42 +00:00
Tom Englund
f9b52203f5
internal: optimize cursor move a bit ( #8264 )
...
* window: inline and const getWindowMainSurfaceBox
getWindowMainSurfaceBox gets called a lot of times from deep down from
mousemoveunified, profiling mousemoveunified it spends quite a lot of
cpu time in here, let the compiler optimize the call to
getWindowMainSurfaceBox by inlining and making it const. reducing the
overhead.
* inputmgr: return early and use std::any_of
return early in mousemoveunified to reduce the amount of unnecessery
calls to various pointers when not needed, also make isconstrained use
std::any_of instead of for loop to use the STL optimized paths with
hopes and dreams marginally faster.
* decoration: return early, reduce temporar copy
return earlier and reduce the temp copies by using one .lock instead of
two
2024-10-27 17:51:26 +00:00
Aqa-Ib
a3d3b4fd64
groups: fix swallowing ( #8223 )
...
* fix swallowing for groups
* remove unnecessary check
* clang-format
* clarify comment
* make variables consistent
* make aditional variables consistent
2024-10-27 01:44:55 +01:00
Damianu
c356e42500
misc: Fix bad links to wiki ( #8240 )
...
Same as in https://github.com/hyprwm/hyprland-wiki/pull/828
2024-10-26 16:50:31 +01:00
Aqa-Ib
0b29caf9ab
core: fix group members disappearing when you move the group to another monitor ( #8237 )
...
* fix group members disappearance when you move the group to another monitor
* remove repeated action
2024-10-26 02:22:37 +01:00
3dd8db83f1
pointer: add default auto for no_hw_cursors
...
auto defaults to off on nvidia, on for everyone else. Gotta wait until we do fucking drm_dumb and it fucking works
2024-10-26 02:12:43 +01:00
d5689bb539
internal: cleanup CMonitor usage and fix a few ref hogs
...
ref #8221
2024-10-26 02:06:13 +01:00
Tom Englund
f0e023bff2
security-context: avoid UB in C macro ( #8229 )
...
to safely use wl_container_of with a class the class has to be no
virtual functions, no inheritance, and uniform access control (e.g all
public)
work around this by putting this into a destroywrapper struct.
2024-10-25 11:26:48 +01:00
czlabinger
7f46680ab1
hyprctl: add caps/num lock state for keyboards ( #8145 )
...
---------
Co-authored-by: Behzad <behzadasbahi@gmail.com>
2024-10-24 14:01:08 +01:00
Honkazel
f603a22af0
internal: Remove some unused lambda captures ( #8218 )
2024-10-24 13:12:41 +01:00
Aqa-Ib
2b6ff6837e
groups: add group_on_movetoworkspace ( #8159 )
2024-10-23 00:51:25 +01:00
29997ef4ba
default/config: improve default animations
...
objectively better
2024-10-22 21:34:21 +01:00
Ikalco
9df0f0b66c
renderer: fix floating window damage ( #8182 )
2024-10-21 16:09:14 +01:00
Mike Will
4093b993a2
input: add snapping to floating windows ( #8088 )
...
* add snapping to floating windows
Works for both moving and resizing of windows.
It comes with 3 options:
`general:snap:enabled` - whether it's enabled, off by default
`general:snap:window_gap` - minimum gap in pixels between windows before
snapping. Setting to 0 effectively turns off this method of snapping.
`general:snap:monitor_gap` - minimum gap in pixels between window and
monitor edges before snapping. Again, setting it to 0 effectively turns
it off.
* snap: add more ignore criteria and change if clause into a guard
* snap: refactor code
* snap: new refactoring approach and account for border size
* snap: do corner snapping after all edge snapping is done
The approach of performing corner snaps after each individual edge snap
results in far fewer scenarios where snapping can occur.
After trying it out for a while, I found that I prefer an approach
that's more prone to snapping.
* snap: combine snapWindows and snapMonitor into a single function
* snap: add forced aspect ratio functionality
* snap: avoid directly referring to border_size config value
* snap: address vaxerski feedback
- add new line between functions
- use std::function typedef for SnapFn and make snap functions static
- avoid uninitialized variable declarations.
- change ignore condition m_bIsX11 to isX11OverrideRedirect()
- use braces for CBox and Vector2D declarations.
- add SNAP_INVALID to eSnapEdge enum
- use bitshift notation for eSnapEdge and eRectCorner
- make performSnap a non-member function.
* snap: add corner-snapping to forced aspect ratio mode
2024-10-21 16:08:25 +01:00
08cc063e17
monitor: avoid crash on released buffer in surf
2024-10-19 23:48:25 +01:00
a17850e41c
layersurface: fixup brace style
2024-10-19 23:47:28 +01:00
6a5c342063
layersurface: round geom in arrangeLayerArray
...
fixes #8171
2024-10-19 23:45:51 +01:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
ce3ba798df
defaultConfig: improve smart gaps
2024-10-19 17:03:22 +01:00
0eaf3581a3
window: guard PMONITOR in commit listener
...
ref #8170
2024-10-19 16:24:03 +01:00
62ee5cc273
monitor: modernize/refactor last legacy-handled events
2024-10-19 16:21:47 +01:00
48bf32c5de
foreign-toplevel-wlr: don't send updates to X11 OR windows
2024-10-19 16:09:53 +01:00
904f9b6aee
foreign-toplevel: don't send updates to X11 OR windows
2024-10-19 16:09:53 +01:00
Maximilian Seidler
e5d3a71263
config: fix generateConfig loop ( #8164 )
...
* config: fix generateConfig loop
* config: cleanup getMainConfigPath
2024-10-19 15:49:56 +01:00
Maximilian Seidler
0e630e9e74
session-lock: reset seat grab on a new session lock ( #8147 )
2024-10-17 21:05:55 +01:00
MightyPlaza
5f30cb7753
windowrules: allow specifying max size in size window rule ( #8021 )
...
* allow specifying max size in size window rule
modified: src/events/Windows.cpp
* clean up
modified: src/events/Windows.cpp
2024-10-17 21:03:17 +01:00
b57086aa43
window: properly break cycles in X11TransientFor
...
ref #8045
2024-10-16 22:23:15 +01:00
Aqa-Ib
86e9f69a69
layout: move applyGroupRules() to onWindowCreated() ( #8139 )
2024-10-16 22:13:35 +01:00
781828a56e
output: send enter events on late wl_output binds
...
fixes #6560
2024-10-16 21:59:33 +01:00
Aqa-Ib
ace803948a
layout: enable group rules for new floating windows ( #8122 )
...
* layout: enable group rules for new floating windows
* fix comment
* do not apply group rules to a new floating window if it shouldBeFloated.
fixes child windows
* comment
2024-10-16 10:59:47 +01:00
Aqa-Ib
01c2ff34dd
layout: simplify the conditions to autogroup ( #8120 )
2024-10-14 19:31:17 +01:00
fanlumaster(Fany Full)
22b1370ae5
IME: Fixup IME popup candidate windows position when scale is not 1.0 ( #8117 )
2024-10-14 18:03:16 +01:00
Ikalco
ce62521883
drm-lease: fix crashes and implementation ( #8116 )
2024-10-14 11:37:42 +01:00
Aqa-Ib
e7fd0f5aec
layout: deny auto-grouping a new floating window into a tiled group ( #8108 )
2024-10-14 00:25:19 +01:00
abfd550ee2
xwm: avoid infinite parent lookup loop in lookupParentExists
...
ref #8045
2024-10-14 00:24:32 +01:00
8e51a36c7f
config/example: add optional smart gaps to the default config
...
ref #8106 #8114
2024-10-14 00:19:10 +01:00
5c3bd8e93d
notif-overlay: add a bit of padding for icons
2024-10-13 17:26:44 +01:00
Toni500git
05a5e0b4f1
hyprland: convert std::cout and std::cerr to std::println()
2024-10-13 14:13:56 +01:00
1822707c7e
drm-syncobj: fix crash on missing timelines
...
fixes #8092
2024-10-12 17:56:46 +01:00
c3f7c9bbb5
xcursor: don't crash on broken permissions in X themes
...
ref #8079
2024-10-12 15:18:39 +01:00
UjinT34
ee8116ac5d
input: Fix VRR for constrained cursors ( #6877 )
2024-10-12 01:29:51 +01:00
Edgars Cīrulis
f5db483973
drm-timeline: Add check for conflicting acquire and release points ( #8083 )
...
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-10-12 01:12:07 +01:00
Toni500github
7564b26b7d
internal: improve version query and define HYPRLAND_VERSION ( #8034 )
2024-10-11 12:19:16 +01:00
Jasson
178a300eea
xwayland: minor cleanups and fixes ( #8076 )
2024-10-11 12:07:25 +01:00
Vaxry
d655a10381
config/layout: nuke no_gaps_when_only ( #8072 )
2024-10-11 10:56:19 +01:00
c4eb194033
gammactrl: guard pMonitor in setGamma
2024-10-09 22:00:06 +01:00
Aqa-Ib
6ae89940c7
layout: add merge_floated_into_tiled_on_groupbar ( #8042 )
2024-10-09 10:58:49 +01:00
JManch
3d28879c26
hyprerror: fix height calc with bottom bar ( #8043 )
2024-10-09 10:24:35 +01:00
trianta
223dcc8bac
output: update state even if no owner exists ( #8044 )
2024-10-09 10:24:05 +01:00
bc299928ad
output/xdg-output: avoid sending events to released globals
...
ref #6835
2024-10-09 00:26:40 +01:00
ac658500fb
keyboard: update group state on change for the sym resolve state
...
fixes #8038
2024-10-08 23:33:10 +01:00
8cced091f5
renderer: reserve space for error at the bottom if that's set
...
ref #8040
2024-10-08 21:58:40 +01:00
Vaxry
91299f7039
hyprerror: make hyprerror reserve space ( #8040 )
2024-10-08 21:20:25 +01:00
60308a2bb5
defaultConfig: add a nofocus rule for weird X windows
...
ref #6543
2024-10-08 20:28:34 +01:00
Aqa-Ib
613eac4603
layout: remove unnecessary check after 45e8219
( #8037 )
2024-10-08 19:31:15 +01:00
JManch
e4a26f4f1d
dispatchers: allow leading whitespace in window parameter ( #8016 )
2024-10-08 17:50:06 +01:00
57b632ead8
pointer: expand sw cursor damage box
...
fixes #8031
just a bit, rounding errors I guess
2024-10-08 17:03:19 +01:00
Vaxry
1bf63dfdcd
protocols: Add support for hyprland-ctm-control-v1 ( #8023 )
...
* initial ctm support
* flake.lock: update
* Meson: bump required versions and add ctm proto
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-08 16:59:15 +01:00
e0cfbec66b
keybinds: fixup xkb_states for resolve_by_sym
...
fixes #7750
2024-10-08 13:15:58 +01:00
davc0n
b3a7e3109b
misc: refactor version command ( #8027 )
...
Fixes a minor spacing issue if git status is not dirty.
Additionally now should be easier to extend it eventually.
2024-10-08 11:42:51 +01:00
Aqa-Ib
45e82199fb
layout: add drag_into_group to control merging dragging windows ( #8004 )
2024-10-08 11:20:41 +01:00
4711796d38
config: give simple help for super+q not working
...
only on default config :P
2024-10-08 09:54:25 +01:00
Ikalco
0d70c44253
screencopy: fix screencopy frames not being cleaned up ( #8017 )
...
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-10-08 01:23:48 +01:00
MightyPlaza
a364df4c9e
internal: use clampWindowSize to unify min/maxsize handling ( #8014 )
...
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/events/Windows.cpp
2024-10-07 19:52:49 +01:00
Aqa-Ib
97444ed7a8
layout: fix auto group when opening a new window in a non-focused workspace using window rules ( #8006 )
2024-10-07 13:22:55 +01:00
4e41cda27e
security-context: close client fds after disconnect
2024-10-06 15:08:26 +01:00
da86aac0f5
security-context: implement protocol
...
fixes #7318
2024-10-06 14:07:07 +01:00
0ec6072a29
single-pixel: set buffer size to 1,1
2024-10-05 16:36:57 +01:00
3ca699debf
opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMP
...
avoid error spam on select hw
2024-10-05 14:57:18 +01:00
52c0919621
monitor: arrange monitors on connect and disconnect
2024-10-05 14:41:44 +01:00
6fbfeefc71
protocolmgr: don't expose the fallback output
2024-10-05 14:40:03 +01:00
46bf87c8d1
monitor: use a scope guard for disconnect events
2024-10-05 14:37:12 +01:00
Vaxry
595eb89f6e
renderer: Fix resize artifacts (stretching, bumps) ( #7499 )
2024-10-05 01:01:21 +01:00
a815b14bf1
monitor: cleanup and modernize scheduleDone
2024-10-05 01:01:21 +01:00
3a5052a714
compositor: update all xdg outputs on arrange
2024-10-05 01:01:21 +01:00
8e237b006f
xdg-output: minor cleanups
2024-10-05 01:01:20 +01:00
Theo Paris
1ed925b69c
internal: fix missing include directive ( #7984 )
...
This should fix building with clang.
2024-10-04 09:41:27 +01:00
Maximilian Seidler
aed529f695
renderer: fix uvBR calculation ( #7975 )
2024-10-03 23:00:44 +01:00
Aqa-Ib
de68e065fe
layout: fix dragging a window into a group after e242694
( #7976 )
2024-10-02 21:25:25 +01:00
Aqa-Ib
e2426942e5
layout: add auto_group to control default grouping ( #7883 )
2024-10-02 10:22:19 +01:00
5c6c300abf
wayland/output: send geometry in updateState
2024-09-30 17:42:36 +01:00
6bd3397141
wlr-output-management: accept 0 refresh rates
...
fixes #7879
2024-09-30 17:40:38 +01:00
68fd32c810
byteoperations: add missing header
2024-09-30 17:27:10 +01:00
3ddb16bd5b
compositor/wayland: up the max buffer size to avoid disconnects when app hangs
2024-09-30 17:25:57 +01:00
Trianta
f6387536f6
protocol: fix missing include
2024-09-30 10:06:39 +03:00
488efab636
single-pixel-buffer: new protocol impl
...
fixes #6624
2024-09-30 00:58:16 +01:00
Luke Chen
4b00cba319
dwindle: add movetoroot method to layout messages ( #7903 )
2024-09-29 14:47:59 +01:00
Mike Will
9e418671e1
config: add descriptions for dwindle and master layout options ( #7933 )
2024-09-29 14:42:10 +01:00
bivsk
6f313de952
core: Fix Musl builds ( #7934 )
...
Musl does not include the internal type `__time_t`.
Use `time_t` instead.
2024-09-28 13:46:31 +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
e20aef7d53
opengl: remove debug log
2024-09-26 22:34:33 +01:00
f75f8efb1b
Meson: add tracy dependency
2024-09-27 00:07:52 +03:00
27211c71e9
Meson: try to find udis86 through pkgconfig, fallback to subproject
...
Only the fork provides a .pc file, so there's no risk of linking the wrong
lib version. If pkg-config can't find it (most cases), fall back to using
the subproject through the wrap file.
2024-09-27 00:07:52 +03:00
Vaxry
caaa9b11e4
wlr-output-configuration: Improve output configuration ( #7571 )
2024-09-26 11:10:53 +01:00
Kamikadze
b1ad2d8066
dispatchers: fixup dpms toggle ( #7875 )
...
now toggles every monitor individually
2024-09-26 00:08:50 +01:00
22746b3046
hyprctl: use the getMonitorData helper everywhere
2024-09-25 23:38:11 +01:00
49713fab04
pointermgr: avoid hogging CMonitor refs
2024-09-25 23:15:41 +01:00