Michael
ad3b8dddf9
keybinds: Only call fclose() when we have a valid file. ( #2908 )
...
Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
2023-08-08 16:07:15 +02:00
Michael
cebab759d5
Close keymap files. Fixes #2904 ( #2905 )
...
Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
2023-08-07 19:34:15 +02:00
deeeb33c5f
macros: fix missing include
2023-08-07 18:48:08 +02:00
261c3307f7
internal: cleanup headers in helpers/
2023-08-07 13:36:14 +02:00
6e53c47e68
renderer: fix missing premultiplication for border multisampling
2023-08-06 20:46:00 +02:00
6c10c38481
renderer: fully switch to premultiplied alpha
2023-08-06 20:33:36 +02:00
a077b7a92e
animationmgr: avoid redundant ticks
2023-08-05 23:29:33 +02:00
MightyPlaza
b925f1b497
fix workspace change focus ( #2891 )
2023-08-05 20:53:13 +02:00
vaxerski
ef0d97153a
xdgoutput: manually destroy manager resource
2023-08-04 14:07:41 +02:00
vaxerski
2e6693fbb6
compositor: update window rules on workspace move
2023-08-03 21:59:12 +02:00
romanstingler
7d98181ade
xwayland: drop wlr_xwayland_surface.events.set_pid ( #2884 )
...
Co-authored-by: Roman Stingler <roman.stingler@waterdrop.com>
2023-08-03 21:40:56 +02:00
vaxerski
7a2027d1fd
input: fix and unify client checking in mouseRequests
2023-08-03 18:44:07 +02:00
vaxerski
da46e01b97
config: update default config for new blur changes
2023-08-03 15:16:37 +02:00
Vaxry
d96f8ff0fe
renderer: Various Blur Improvements ( #2877 )
...
* move blur to its own category
* blur improvements, contrast, brightness, noise
2023-08-03 15:11:10 +02:00
vaxerski
5c50fac907
windowrules: add workspace param
2023-08-02 13:21:38 +02:00
vaxerski
51cda87fe4
hyprctl: rerender on cursor_zoom_factor dynamic calls
2023-08-01 18:08:53 +02:00
vaxerski
da0c74cdf0
config: schedule frame for mons on reload
2023-08-01 15:47:56 +02:00
vaxerski
08651736ad
keybinds: add toggle to dpms
2023-07-30 16:46:37 +02:00
vaxerski
f61a714320
renderer: cleanup old redundancies in CFramebuffer
2023-07-29 13:27:40 +02:00
Po-Yeh Chen
77818e3457
xwayland: Add temporary fix for #2808 by adding nullptr check. ( #2829 )
...
* Add temporary fix for #2808 by adding nullptr check.
* Remove redundency.
2023-07-28 17:12:24 +02:00
Gioele Pannetto
ef26f711c9
Added git tag in json version command ( #2821 )
2023-07-27 10:51:04 +02:00
vaxerski
a9b8e2159c
renderer: reset scissor after renderTexturePrimitive
2023-07-25 13:33:08 +02:00
vaxerski
4173d2ccf6
input: fix styling
2023-07-25 11:49:36 +02:00
vaxerski
f5913135c6
input: add support for cursor-shape-v1
2023-07-24 18:50:17 +02:00
vaxerski
603de16f9a
renderer: adjust distribution of backgrounds
2023-07-24 18:30:00 +02:00
ferrreo
f6b340cc19
init: Fix for issue #2797 ( #2799 )
...
* Fix for issue #2797
* Fix for issue #2797
* Fix for issue #2797
2023-07-24 18:26:24 +02:00
memchr
76c6e09e39
keybinds: Make moveintogroup locking check configurable ( #2796 )
...
* groups: revert to the old moveintogroup behaviour, ignore m_sGroupData.locked
* groups: Make moveintogroup locking check configurable
2023-07-24 18:25:10 +02:00
vaxerski
9bad2a8180
backgrounds: add hypr chan var 2
2023-07-24 18:22:39 +02:00
MightyPlaza
6db3c4ef5e
layout: no_border_when_only-improvements ( #2791 )
2023-07-24 12:13:40 +02:00
Mily
9fc5f4c48b
init: Request SCHED_RR using CAP_SYS_NICE and add Python to nix dev shell ( #2690 )
...
* nix: add python3 to devShell
* init: request SCHED_RR scheduling policy
* init: checks if host supports reseting scheduler on fork
* init: make gainRealTime more compatible with other OSes
* init: remove linux-only code
2023-07-23 20:51:00 +02:00
MightyPlaza
50e6f368ff
windowrules: implements nomaximizerequest ( #2785 )
...
* Window.hpp
* ConfigManager.cpp
* Windows.cpp
* fix maximize event
2023-07-23 19:47:41 +02:00
vaxerski
975c4175b2
hyprctl: unify and sanitize ver commit msg better
2023-07-23 19:43:15 +02:00
vaxerski
af395a8f55
windowrules: fix opacity override
2023-07-23 16:03:59 +02:00
vaxerski
90f69782ee
window: fix segfault in boundingbox
2023-07-23 16:02:35 +02:00
vaxerski
5a64c73e05
render: use primitive end() only when no screen shader is present
2023-07-23 15:54:27 +02:00
end-4
9845f99b60
add config option to enable/disable new intuitive resizing ( #2774 )
...
dwindle:smart_resizing = 1 by default
== 1 then use new resizing
else use old resizing
2023-07-23 15:50:09 +02:00
MightyPlaza
d3bba2489d
render: Border fixes ( #2781 )
...
* Window.cpp
* layout
* CHyprGroupBarDecoration.cpp
2023-07-23 15:49:49 +02:00
Rachel Knight
b21644b611
input: Fix #2376 mouse movement bug in XWayland ( #2776 )
2023-07-22 19:31:36 +02:00
vaxerski
b70553cf46
opengl: fix warn
2023-07-22 19:26:56 +02:00
vaxerski
1a7fb1572a
renderer: disable init anim on disabled animations
2023-07-22 19:26:44 +02:00
outfoxxed
375e8385ee
Fix background occlusion ignoring monitor position ( #2771 )
2023-07-22 10:19:51 +02:00
vaxerski
27dd07f1b8
windowrules: improve opacity
2023-07-21 19:05:00 +02:00
vaxerski
263b9c6e39
socket1: add a timeout for requests
2023-07-21 17:20:23 +02:00
vaxerski
d7e9eb65e2
renderer: use primitive rendering for copying buffers
2023-07-21 17:11:54 +02:00
vaxerski
f864b15427
background: add option to force hypr chan
2023-07-20 21:01:07 +02:00
vaxerski
61dc0909ae
layout: use warp() instead of setValue()
2023-07-20 20:03:27 +02:00
MightyPlaza
ca54ceff6f
groups: add use_current_group_pos ( #2759 )
2023-07-20 19:48:32 +02:00
vaxerski
6c1f4faff2
animationmgr: avoid looping over all avars in favor of only active ones
2023-07-20 19:26:10 +02:00
vaxerski
a3f6a72a51
region: allow ctor from pixman_box32_t
2023-07-20 18:27:28 +02:00
vaxerski
d2a8b8c2de
renderer: cleanup back buffer skip checks
2023-07-20 18:27:14 +02:00
vaxerski
833d73df09
shaders: short-circuit rounding if radius <= 0
2023-07-20 18:18:53 +02:00
vaxerski
23eda1411b
renderer: scale box for occlusion
2023-07-20 18:12:29 +02:00
vaxerski
ff598b0827
renderer: don't occlude when pre-blur is queued
2023-07-20 18:03:47 +02:00
vaxerski
a3e1e5e8ba
tracy: add more opengl zones
2023-07-20 17:51:38 +02:00
vaxerski
a921c5b89e
Debug: add tracy
2023-07-20 17:47:49 +02:00
vaxerski
948855a984
renderer: add canSkipBackBufferClear
2023-07-20 14:11:05 +02:00
vaxerski
547305c7ed
opengl: adjust blend and reduce the usage of clear
2023-07-20 13:49:28 +02:00
vaxerski
b65adf8d4a
toplevelexport: support dmabuf + various fixes
2023-07-20 12:42:25 +02:00
vaxerski
7091d4e597
animationmanager: optimize avar state
2023-07-19 22:40:03 +02:00
vaxerski
80cd2ef3d7
renderer: remove unused var
2023-07-19 21:10:42 +02:00
vaxerski
2c2314faa0
renderer: take workspace offset into account for occlusion
2023-07-19 21:08:49 +02:00
vaxerski
88c2a02773
render: avoid allocating mirrorfb for no reason
2023-07-19 21:04:45 +02:00
Vaxry
89b87158db
internal: Wrap regions ( #2750 )
2023-07-19 20:09:49 +02:00
vaxerski
ce9896204a
renderer: fix rounding in renderSurface
2023-07-19 20:06:19 +02:00
vaxerski
f4f0f35c5b
renderer: add occlusion for back layers
2023-07-19 16:13:55 +02:00
vaxerski
aac75ddcbf
screencopy: guard region buffer values in frameDamage
2023-07-19 13:10:41 +02:00
outfoxxed
5cd5631fb2
Add bringWindowToTop function to IHyprLayout ( #2747 )
...
* Add bringWindowToTop function to IHyprLayout
* Rename `bringWindowToTop` to `requestFocusForWindow`
* Fix doc
2023-07-19 12:39:45 +02:00
vaxerski
b8a7b09092
screencopy: use wlr_buffer api for shm copies
2023-07-19 12:24:41 +02:00
vaxerski
81f4a4f471
screencopy: improve shm handling
2023-07-19 00:51:38 +02:00
vaxerski
2623364dbd
no_xwayland: fix redef
2023-07-19 00:33:47 +02:00
MightyPlaza
3b03597784
keybinds: movegroupwindow-improvement ( #2740 )
...
* movegroupwindow-improvement
* use std::swap
2023-07-19 00:30:10 +02:00
vaxerski
ce9c5fd722
render: set refresh to 0 for both wl and x11 backends
2023-07-19 00:28:15 +02:00
vaxerski
f2999e84b9
render: set refresh to 0 for wayland backend outputs
2023-07-19 00:02:57 +02:00
Aaron Blasko
7c1dacea09
only return 0 when using -h ( #2738 )
2023-07-18 21:00:08 +02:00
vaxerski
16fd9084ea
screencopy: nullcheck for empty buffer
2023-07-18 15:52:53 +02:00
vaxerski
0ba28a46fd
monitor: unplug all callbacks in ~dtor
2023-07-18 15:36:27 +02:00
Vaxry
8370a7fcc4
internal: Protocol C++ Wraps + XDGOutput impl ( #2733 )
...
move to our own xdgoutput impl instead of wlr's
2023-07-18 15:30:28 +02:00
vaxerski
629e61c7a5
monitor: disconnect bind on disconnect
2023-07-18 15:22:49 +02:00
vaxerski
2e323a5671
renderer: use correct wlr sample func
2023-07-18 12:25:48 +02:00
Jan Beich
8c9e2e1ff1
deps: update wlroots ( #2734 )
2023-07-18 12:13:59 +02:00
István Donkó
5c8a20be77
fix: handle window change directions in fullscreen ( #2728 )
2023-07-18 12:12:50 +02:00
Tuur Vanhoutte
d2eb4fee76
Avoid connected monitor reusing unavailable ID ( #2731 )
2023-07-18 12:12:05 +02:00
vaxerski
4537860079
layout: recalculate monitor instead of window in updateDynamicRules
2023-07-18 11:49:57 +02:00
vaxerski
7f47655f60
layout: recalc window on dynamic rule update
2023-07-18 00:11:43 +02:00
vaxerski
2c7b2ad6ca
windowrules: add border size rule
2023-07-18 00:11:29 +02:00
MightyPlaza
ddb8c89776
Allow empty args in hyprctl dispatch ( #2724 )
2023-07-16 21:01:06 +02:00
MightyPlaza
cacdb424a9
massive-fix ( #2725 )
2023-07-16 21:00:38 +02:00
vaxerski
3229862dd4
xwayland: guard monitor validity in xwayland scale overriding
2023-07-15 23:10:05 +02:00
vaxerski
06563d7034
popups: update parent pos on commit
2023-07-15 18:27:21 +02:00
vaxerski
459afcc47f
idle: fix reverse flag for new idle protocol
2023-07-14 20:02:31 +02:00
Lennard Hofmann
06f5910365
Make bind modmask case-insensitive ( #2714 )
2023-07-14 18:39:53 +02:00
MightyPlaza
b159634ef9
move/resize window ( #2706 )
2023-07-13 20:20:40 +02:00
MightyPlaza
db2367bf33
update groub decos ( #2705 )
2023-07-13 20:17:14 +02:00
vaxerski
f8def68e7e
idle: implement new protocol
2023-07-13 18:05:34 +02:00
vaxerski
9f7382bca4
keybinds: add movegroupwindow
2023-07-13 17:55:25 +02:00
Daniel Adolfsson
d3a644d81c
Dwindle: Make resize more intuitive ( #2681 )
...
* improved resize
* clang-format
* rewrite
* almost legacy behavior when using CORNER_NONE
2023-07-13 16:52:11 +02:00
vaxerski
70dae78c1b
background: add mascot versions
2023-07-13 14:32:30 +02:00
zakk4223
21f64b6660
Keep new mapped layer's alpha zero if the workspace has a fullscreen window ( #2686 )
...
Co-authored-by: Zakk <zakk@rsdio.com>
2023-07-12 12:58:45 +02:00
vaxerski
7a7e3ee6d9
screencopy: don't send frames on commits w/o a buffer
2023-07-12 00:30:42 +02:00
vaxerski
9c9f56743e
groupbar: fix vram leak
2023-07-11 20:57:38 +02:00
Daniel Adolfsson
64e7d5345d
Add support for smart splitting ( #2676 )
...
* Add support for smart splitting
* clang-format
* smart_split default to 0, and make smart_split behave like preserve_split
2023-07-11 13:37:25 +02:00
MightyPlaza
29d017f54b
monitor desc default workspace but working now ( #2678 )
...
* fix desc check
* fixes crashes when nulptr
2023-07-11 11:29:19 +02:00
vaxerski
26579fa962
texture: fix styling
2023-07-11 00:27:13 +02:00
vaxerski
0c61a1530f
plugins: fix config value usage in init
2023-07-10 14:13:23 +02:00
vaxerski
da7ea2b33d
pluginapi: add configReloaded event
2023-07-10 13:54:06 +02:00
vaxerski
382af06406
render: resize subsurfaces with size resizes
2023-07-10 13:32:57 +02:00
vaxerski
515a363ecd
render: move lastFrameDamage to CMonitor
2023-07-10 13:21:00 +02:00
vaxerski
fe54dcb4eb
screencopy: send original damage, avoid extents
2023-07-10 13:17:21 +02:00
vaxerski
42f46aeac5
config: minor path handling fixes
2023-07-10 13:10:34 +02:00
MightyPlaza
4cc0e6de90
monitor desc default workspace ( #2673 )
2023-07-10 07:53:03 +02:00
MightyPlaza
d9f7f039e1
monitor desc support ( #2670 )
...
* monitor desc
* monitor desc
2023-07-09 23:10:35 +02:00
Tuur Vanhoutte
b99ac063ea
Reuse same ID when reconnecting monitor, otherwise use minimum available ID ( #2666 )
...
Fixes #2601
2023-07-09 23:08:40 +02:00
vaxerski
b33d82734f
input: schedule frame on mouse move
2023-07-09 00:44:32 +02:00
Ed Younis
f49af187bc
Xdg config home support ( #2047 )
...
* config: Add support for XDG_CONFIG_HOME
Contributes-to: #1040
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
* config: Log used config file
* config: Add GetConfigDir and minor fixes
* config: fixed minor nitpicks
---------
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Co-authored-by: Björn Bidar <bjorn.bidar@thaodan.de>
2023-07-07 19:19:35 +02:00
vaxerski
e632bf176b
config: fix reading touchpad values to non-touchpad per-device cfgs
2023-07-06 16:26:38 +02:00
Mykola Perehudov
41358c6fb5
Cleanup compositor deadcode ( #2657 )
...
* Remove dead code as it is a part of CCompositor::cleanup
* Unify sd_notify logic with Compositor lifetime
2023-07-06 15:24:49 +02:00
Mykola Perehudov
bbedb065e1
eventmanager: drop obsoleted ignore events flag ( #2660 )
...
This flag became obsoleted in commit
287e6c4ede
2023-07-06 15:23:11 +02:00
Mykola Perehudov
0c974b7236
Avoid passing control unix socket descriptors to children ( #2656 )
...
Add SOCK_CLOEXEC flags to server side connection FDs to make them
closed during execve(2).
2023-07-06 11:39:02 +02:00
nexec
8407a9af0a
Close socket2 client descriptor on hangup ( #2654 )
2023-07-06 00:18:44 +02:00
vaxerski
86e487e003
input: remove old redundant code
2023-07-05 13:20:40 +02:00
MightyPlaza
34d845da13
typo ( #2643 )
2023-07-04 22:03:19 +02:00
vaxerski
07d7962c7f
swipe: fix mixup of r/m
2023-07-04 12:34:22 +02:00
vaxerski
18f9fb5e0f
rules: add stayfocused
2023-07-04 12:05:25 +02:00
vaxerski
6f91997f06
layout: improve time restraints in window drag
2023-07-04 11:49:24 +02:00
MightyPlaza
283a8e77aa
screenshot fix ( #2640 )
2023-07-04 11:40:28 +02:00
MightyPlaza
50755d26d4
lockgroups fix ( #2636 )
2023-07-03 15:53:04 +02:00
MightyPlaza
05047f60f4
groupbar fixes ( #2630 )
...
Fixes multiple groupbar decoration issues:
- togglegroup removes fullscreen to avoid to avoid weird state
- fixes issue where a group had multiple windows with head = true
- fixes issue where merging 2 groups would cause a window to have 2 groupbar decorations
- fixes issue where merging a group with more than 1 window into another group would make windows have no groupbar decoration
- fixes issue where ungrouping windows could just move them into another group on the same workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-07-03 12:49:56 +02:00
vaxerski
738ec900f4
config: fix floating rules with floating-by-rule windows
2023-07-02 13:02:48 +02:00
vaxerski
86ca283352
gestures: add workspace_swipe_use_r
2023-07-01 16:30:36 +02:00
vaxerski
6c28388420
layout: minor style fixes
2023-07-01 16:28:17 +02:00
vaxerski
e96fcb31f0
layout: set pseudo to float size in new window
2023-06-30 11:29:06 +02:00
vaxerski
1012e2735a
shader: remove useless comment
2023-06-29 23:20:10 +02:00
MightyPlaza
990ad854bd
Reloads animated decoration values set on window rules ( #2594 )
...
* Reloads dynamic window rules
* Update ConfigManager.cpp
* Update ConfigManager.cpp
* Reloads animated decoration values set on window rules
Reloads animated decoration values like border color and opacity set on window rule on config reload.
2023-06-28 11:40:16 +02:00
d83296c7a9
renderer: damage decos on damageWindow
2023-06-27 13:23:58 +02:00
MightyPlaza
7ed66abe57
Reloads dynamic window rules ( #2585 )
...
* Reloads dynamic window rules
* Update ConfigManager.cpp
* Update ConfigManager.cpp
2023-06-26 13:03:51 +02:00
4294456cdc
xwayland: remove spaces from output names
2023-06-25 13:52:24 +02:00
01f85a09a9
xwayland: send zero scaling to xwayland if enabled
2023-06-23 21:42:44 +02:00
69fae18e63
damage: account for popups in getFullWindowBoundingBox
2023-06-23 13:54:01 +02:00
c241da5ea5
crashreporter: log tag
2023-06-23 13:22:38 +02:00
0283c498d6
xwayland: fix minor force_zero_scaling bugs
2023-06-22 21:43:31 +02:00
fc59cef1ee
keybinds: remove old todo
2023-06-21 21:20:26 +02:00
2f875aec79
includes: move workspace protocol header to includes
2023-06-21 21:17:05 +02:00
cfa4086b0b
configmgr: fix idiotic comparisons in device configs
2023-06-21 20:58:35 +02:00
cbe9bf0e69
compositor: move group members properly in moveWindowToWorkspaceSafe
2023-06-21 20:51:18 +02:00
83ad6b9af8
groupbar: fix damage calcs
2023-06-21 13:16:10 +02:00
cabdf38ce4
internal: minor style fixes
2023-06-20 21:35:54 +02:00
2295bbdd80
xwaylandmanager: fixup style
2023-06-18 18:14:52 +02:00
Shemig
74ca81cc79
Partial revert of Commit 302ec13
: ( #2539 )
...
Fix crash when screen size is 0x0 (#2523 )
Reason: The disable of a monitor with 0x0 size
is causing issuses with some users.
https://github.com/hyprwm/Hyprland/issues/2537
Left the defensive code to resolve the crash.
Will continue to investigate and find a solution for the
dell xps disabled monitor
Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-17 18:49:37 +02:00
vaxerski
5ac625d7bd
format: fix hooksystem
2023-06-16 18:45:14 +02:00
Shemig
302ec1372c
Fix crash when screen size is 0x0 ( #2523 )
...
(When booting into laptop clam mode in dell XPS)
and also ignore any screen with size 0x0 in the first place
Co-authored-by: giladsx <gilad@spectalix.com>
2023-06-15 22:07:58 +02:00
vaxerski
c4dec4f796
internal: damage window on change group
2023-06-14 19:44:51 +02:00
vaxerski
0f1911a8d4
opengl: fix invalid tex references to tex-less shader
2023-06-14 13:47:57 +02:00
vaxerski
e43f7fc98d
shader: init uniforms to -1
2023-06-14 13:29:12 +02:00
vaxerski
fbabb105c3
gamma: use wlr's new gamma manager event
2023-06-14 13:26:47 +02:00
outfoxxed
f0e4f6622e
Implement pass binds ( #2503 )
...
* Implement pass binds
Pass binds run the associated dispatcher but do not prevent windows
from receiving the bind.
* Fix pass binds not working properly with release binds
* Rename `pass` to `nonConsuming`
2023-06-14 13:08:56 +02:00
JManch
9a88c19f1a
screenshader: fix uniform variable checks ( #2513 )
2023-06-14 13:03:20 +02:00
vaxerski
7762ac0173
toplevelexport: ignore defunct windows
2023-06-13 20:13:21 +02:00
vaxerski
e8c6d0f51e
compositor: don't set dim percent on disabled dim
2023-06-13 18:51:49 +02:00
vaxerski
807b52b019
animationmgr: warp on equal start and goal
2023-06-13 18:50:45 +02:00
vaxerski
0e31eaa157
shadow: drop useless damageEntire()
2023-06-13 18:50:45 +02:00
memchr
24ed9b061f
feat: add variable to customize locked group border color ( #2507 )
...
added variables:
- general:col.group_border_locked
- general:col.group_border_locked_active
2023-06-13 12:04:54 +02:00
6beb79f27b
xwayland: add force_zero_scaling
2023-06-11 21:52:13 +02:00
64ce06a353
xwayland: add nearest neighbor filtering as an opt
2023-06-11 21:33:59 +02:00
end-4
e1edfde539
Allow setting alpha value for ignorezero layer rule ( #2477 )
...
* rename ignorezero to ignorealpha
* allow setting ignorealpha value
This commit allows setting a float value (0-1) for the ignorealpha layer rule.
Does not yet have error handling; invalid ignorealpha layer rule will crash Hyprland.
* add brackets i forgot to add
* prevent crash with invalid ignorealpha value
prevents hyprland from immediately crashing with invalid ignorealpha layer rule
does not log
* don't try to set ignoreAlphaValue if alpha value not specified
* add catch to try, reintroduce ignorezero
- added catch after try cuz i was an idiot
- re-add ignorezero as an alternative to ignorealpha to not introduce a breaking change
* add logging for failed ignorealpha layer rule
* fix get ignorealpha's get VALUE
* check npos and use empty()
* rename VALUE cuz no longer const
* format Shader.hpp
2023-06-11 19:30:31 +02:00
Nicola Guerrera
10fd75c833
zoom: multiply by scale only on mouseZoomUseMouse ( #2495 )
2023-06-10 23:00:41 +02:00
7932e42507
screenshader: add output uniform
2023-06-10 16:10:26 +02:00
Nicola Guerrera
003993337a
calculate zoom_center based on monitor scale ( #2482 )
2023-06-10 12:28:00 +02:00
memchr
bca3068db2
feat: add lockactivegroup dispatcher ( #2478 )
...
* feat: add lockactivegroup dispatcher
The `lockactivewindow` dispatcher takes `lock`, `toggle` or `unlock` as arguments. When a group is locked, no window or group can be added to it, nor can it be added to another group, but the `moveintogroup` and `moveoutofgroup` dispatches are not affected.
Implementation details:
the lock is implement via `SGroupData.locked` flag (defaults to false).
The flag is only relevant to the group head, and upon the group head's succession, the flag will be passed down to the new head. Meanwhile, the old head's flag will be set to false.
The flag is set to false when a group is dismissed.
New condition checks have been added to the dwindle and master layout to check if target group is unlocked (and if the source is also a group and unlocked) before adding windows to the target group.
* refactor: `lockactivegroup dispatcher code ordering
2023-06-09 23:44:18 +02:00
cf37922d42
input: update surface input on changeworkspace
2023-06-09 12:20:40 +02:00
eriedaberrie
d123835ef5
main: fix segfault when -c is given with no other arguments ( #2470 )
2023-06-09 12:15:18 +02:00
Franz Berger
4afeedbd56
Fix fractional scale updates in some cases ( #2447 )
...
* fix fractional scale update in moveWorkspaceToMonitor
* fix fractional scale update in moveToWorkspace
* Revert "fix fractional scale update in moveWorkspaceToMonitor"
This reverts commit 6612197a38
.
* Revert "fix fractional scale update in moveToWorkspace"
This reverts commit 75d9795a06
.
* move fractional scale code to updateSurfaceOutputs
* remove duplicate check
* remove superfluous setPreferredScale()
2023-06-06 09:48:07 +02:00
10db5a4fdb
xwayland: disconnect events on destroy
...
thanks Kirill Primak
2023-06-05 20:51:47 +02:00
1a4e6e6a4b
window: recalc on deco remove
2023-06-05 09:49:21 +02:00
staz
e4e6ddb075
Make movetoworkspace register previous workspace ( #2436 )
...
* Make movetoworkspace register previous workspace
* style: no braces + format with clang-format
2023-06-05 09:44:13 +02:00
4ef684f615
hyprctl: recalc layout on setprop
2023-06-04 21:35:23 +02:00
2629cfeeab
layouts: make aware of borderSize prop
2023-06-04 21:35:23 +02:00
d83e5b8409
internal: make borderSize prop overridable
2023-06-04 21:35:23 +02:00
c5a7202cd9
noxwl: add missing stubs
2023-06-03 13:01:32 +02:00
147e962370
deps: update wlroots
2023-06-03 12:20:28 +02:00
Cyril Levis
d7db7040d4
feat: add ipc set title window event ( #2419 )
...
* feat: add ipc set title window event
* chore: add EMIT_HOOK_EVENT and change event name
2023-06-03 11:18:49 +02:00
871ab24c6e
internal: properly set monitor props on special windows
2023-06-02 20:14:34 +02:00
ce0f248d20
events: remove old comment
2023-06-02 19:50:02 +02:00
Sinkerine
ca3791fed8
[hyprctl] Expose the special workspace id and name of the monitor ( #2392 )
...
* [hyprctl] Expose the special workspace id of the monitor
So that we know if a special workspace is shown on a monitor
* [hyprctl] Add special workspace name to the output
2023-06-02 13:25:33 +02:00
e76bd43f53
rules: add nodim
2023-05-31 21:11:20 +02:00
baf81cdc5d
input: force focus on movefocus
2023-05-31 20:59:38 +02:00
9f72d508ae
groupbars: fix damage calcs
2023-05-31 19:53:58 +02:00
fd73a7f795
gradient: fix warn
2023-05-31 15:55:54 +02:00
vaxerski
a7cfbdb854
keybinds: fix tryMoveFocusToMonitor with special
2023-05-29 18:11:37 +02:00
vaxerski
1e3571eb5b
layout: don't reset to floating size on drag tiled
2023-05-29 18:05:41 +02:00
vaxerski
5484411232
compositor: disallow sending pinned to special
2023-05-29 17:46:12 +02:00
Jan Beich
f1ad270ff8
vector: restore cmath include after 438d063ec6
( #2394 )
...
src/helpers/Vector2D.cpp:27:26: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:27:41: error: no member named 'floor' in namespace 'std'
return Vector2D(std::floor(x), std::floor(y));
~~~~~^
src/helpers/Vector2D.cpp:37:17: error: no member named 'sqrt' in namespace 'std'
return std::sqrt(dx * dx + dy * dy);
~~~~~^
2023-05-29 15:12:00 +02:00
Jeremy Huang
b3a86952cf
focus: fix #1675 window not scrollable after movefocus ( #2390 )
2023-05-29 09:52:36 +02:00
outfoxxed
409ff027f8
Fix UAF in animation end callback if callback deletes the animation ( #2389 )
...
Removes use after free when the end callback deletes the animation as
long as `m_bRemoveEndAfterRan` is false.
2023-05-29 09:51:58 +02:00
vaxerski
438d063ec6
vector: use c++ stdlib math functions instead of cmath
2023-05-28 22:50:13 +02:00
vaxerski
078ba6daa8
groupbars: add text color opt
2023-05-27 17:46:02 +02:00
Jeremy Huang
8afc2f45c7
focus: make cursor follow movewindow ( #2374 )
2023-05-27 12:16:50 +02:00
vaxerski
5f4659afef
xdgshell: check and conform to rigid float sizes on commit
2023-05-26 14:49:03 +02:00
vaxerski
0887e2ee6e
window: reveal current from group on toplevel activate
2023-05-26 13:44:59 +02:00
vaxerski
62e3953f5b
master: guard monitor in recalc
2023-05-26 13:41:52 +02:00
vaxerski
9c9b74179c
pluginapi: add separate window render events
2023-05-26 13:07:45 +02:00
vaxerski
a2bb95fc60
touch: fix double offset in local
2023-05-24 22:19:22 +02:00
vaxerski
12227d7b6a
input: only configure newly added touch devices
2023-05-24 22:17:33 +02:00
vaxerski
a4c120d608
layouts: ignore direction forces on non-map
2023-05-24 19:23:10 +02:00
eriedaberrie
53285a75ad
hyprctl: fix cut-off json outputs ( #2352 )
...
* hyprctl: fix cut-off json outputs
* Address comments
2023-05-24 17:46:56 +02:00
vaxerski
f877d68f4f
launchanim: fix #2291
2023-05-24 15:49:31 +02:00
vaxerski
eb1f832fce
decos: recalc on add
2023-05-23 14:26:38 +02:00
vaxerski
799add8659
groupbars: fix reserved area on titles
2023-05-23 14:18:26 +02:00
vaxerski
90cb5fb672
groupbars: make gradients toggleable
2023-05-22 22:07:32 +02:00
vaxerski
d1ec314a03
groupbars: conserve VRAM by staticizing textures
2023-05-22 22:06:40 +02:00
vaxerski
7bcc01efb7
groupbars: fix minor alignment issues
2023-05-22 21:43:37 +02:00
vaxerski
206ac000b9
groupbars: add title and gradient rendering
2023-05-22 21:40:32 +02:00
vaxerski
1eb6cfd45c
groupbar: make exclusive
2023-05-22 20:52:41 +02:00
vaxerski
088b4a68e6
moveActiveToWorkspace: update last window of old ws
2023-05-22 19:44:10 +02:00
vaxerski
086f724951
wlr_ext_workspaces: honor activate from client + format
2023-05-22 19:36:47 +02:00
Russell Greene
ad244190e0
1483: fix crash on last display disconnect ( #2344 )
2023-05-22 12:18:07 +02:00
maqrrr
9f8c5cb63c
Fix broken pipe crash when event listener terminates ( #2339 )
2023-05-21 14:38:18 +02:00
5627b70981
input: reset cursor hide timer on tablet
2023-05-20 21:15:21 +02:00
Anthony Ruhier
d7935356da
input: don't move monitor focus on wp change ( #2320 )
2023-05-17 13:32:59 +01:00
Anthony Ruhier
9ef7225532
don't swap workspaces if monitors are the same ( #2322 )
...
Return swapActiveWorkspaces early if MON1 and MON2 are equals, to avoid
buggy behavior.
2023-05-17 13:31:03 +01:00
outfoxxed
642030f959
Fix not finding function symbols for hooking ( #2292 )
...
Fixes no useful feedback about failing subcommand.
Fixes function hooks breaking when running under a path containing
spaces.
Replaced old usages with this function where possible.
Complex shell usages now use `execAndGetShell` which is equal to the
old function.
2023-05-16 23:39:14 +03:00
Eric_Luo
b5b9af508a
bug fix ( #2314 )
...
fix float check logic
Co-authored-by: hnboy <hnywolf@gmail.ccom>
2023-05-16 17:43:04 +01:00
vaxerski
d68f8ea668
internal: make CAnimatedVariable non-move non-copy
2023-05-16 12:49:59 +01:00
vaxerski
5b84b0fb44
animationmgr: allow empty avars
2023-05-15 17:11:51 +01:00
vaxerski
824813fc6a
internal: remove check for negative exact vector args
2023-05-15 15:16:06 +01:00
vaxerski
7c207243e4
input: check for matrix availability in touch config
2023-05-14 13:54:55 +01:00
vaxerski
b748b0734f
input: don't refocus on closed window
2023-05-14 13:47:43 +01:00
vaxerski
896a78aaa0
lock: add allow_session_lock_restore
2023-05-13 12:36:36 +01:00
vaxerski
cc01550aff
hyprctl: recalc layout on dynamic workspace
2023-05-12 01:16:27 +01:00
vaxerski
413a36a914
workspacerules: overwrite on existing
2023-05-12 01:15:32 +01:00
vaxerski
86ef85efae
layershell: don't enter on unmapped ls
2023-05-12 01:07:46 +01:00
vaxerski
f2725a374a
render: minor fixes to fullscreen rendering
2023-05-10 18:36:13 +01:00
vaxerski
7fde80f38e
layers: fix wonky focus on multimon
2023-05-09 17:01:18 +01:00
vaxerski
cc4ccfdbfd
internal: use i64 for workspaces in outofbounds
2023-05-09 14:08:05 +01:00
Andrei Alexeyev
2f87e4c2f3
renderer,config: add custom DRM modeline support ( #2254 )
...
This allows specifying custom display resolutions for the DRM backend.
This is useful for display overclocking, working around broken EDIDs,
etc. To use this feature, specify a modeline instead of a resolution
in the config, for example:
monitor = DP-1, modeline 1071.101 3840 3848 3880 3920 2160 2263 2271 2277 +hsync -vsync, 0x0, 1
This example is a custom 3840x2160@120Hz mode with tightened timings.
I use it because the standard timings don't work with my monitor and GPU
combination (M28U with RX580).
The syntax is compatible with Sway and Xorg.
2023-05-09 14:01:45 +01:00
vaxerski
e7c2ea9724
layershell: focus if changed keyboard mode
2023-05-08 19:12:01 +01:00
scorpion-26
826dc61e5c
Add "next on monitor or empty" workspace parameter ( #2198 )
...
* Add "next on monitor or empty" workspace parameter
Implements the following workspace parameter:
r+x/r-x (i.e. r+1): Behaves similar to the "m" parameter, but can also
select empty workspaces and it doesn't wrap around
* Improve code comments
* Implementation V2 for 'r' workspace param
* Rebase to upstream
Should fix CI
* Always set outName
* Include named workspaces
Currently only considers open/active named workspaces
2023-05-08 14:37:59 +01:00
vaxerski
a31dceb2c6
includes: remove redundant from screencopy
2023-05-07 00:11:33 +01:00
vaxerski
1ba7a09bf6
includes: use libdrm prefix for include
2023-05-07 00:11:01 +01:00
vaxerski
afe8d8dfec
monitors: fix some bugs with re-plug
2023-05-06 16:50:15 +01:00
dtop129
7e5ba5e824
Fixed wrong focus changes when moving background workspaces ( #2258 )
2023-05-06 16:13:26 +01:00
vaxerski
83cd5e2ebd
workspaces: minor fixes for multi-special
2023-05-06 16:10:51 +01:00
vaxerski
7f0738bcb3
varlist: allow using s for std::isspace
2023-05-06 01:16:20 +01:00
vaxerski
583b8842e7
configmanager: fix substr offset in default ws rule
2023-05-06 01:10:05 +01:00
Dashie
a8541d5f64
Add split preselection ( #2240 )
2023-05-06 01:02:18 +01:00
vaxerski
4ad03af544
compositor: don't focus pointer in focusWindow
2023-05-06 00:59:25 +01:00
vaxerski
0859944c9a
input: add custom accel profiles
2023-05-05 16:06:13 +01:00
vaxerski
c0be1e2fd8
configmanager: remove useless log from handleWorkspaceRule
2023-05-05 15:42:02 +01:00
vaxerski
7b73a332ea
configmanager: deprecate bindws
2023-05-05 15:41:25 +01:00
vaxerski
a5d63a0324
configmanager: store workspace rules as a deque
2023-05-05 15:33:31 +01:00
vaxerski
8435d6fc12
monitors: toggle special on changeworkspace with special
2023-05-05 15:01:31 +01:00
vaxerski
bf04c83e3d
config: clear layer rules on reload
2023-05-04 18:28:45 +01:00
scorpion-26
c3b9326ba1
Honor debug:enable_stdout_logs on startup ( #2197 )
...
* Honor debug:enable_stdout_logs on startup
disableStdout is set via config in CConfigManager::init(), which is
called early in CCompositor::initServer(). initServer() always disables
stdout logs at the end though, even when stdout is enabled is config. With this commit,
the config is respected.
* Don't spam stdout message
2023-05-03 16:08:01 +01:00
vaxerski
fd3e6a3bfd
workspaces: restore monitor on re-plug
2023-05-03 15:15:56 +01:00
vaxerski
0155b85950
rules: fix monitor rule with names
2023-05-03 14:58:51 +01:00
jacekpoz
a663823af2
only ignore no_gaps_when_only when the workspace rule specifies a border ( #2217 )
...
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-05-03 14:48:46 +01:00
vaxerski
72b118cd8f
opengl: don't use new optim with xray off on special tiled
2023-05-02 21:23:53 +01:00
vaxerski
79791c9ed4
internal: fix -Wsign-compare and -Wunused-variable warnings
2023-05-02 14:53:31 +01:00
Yavor Kolev
ac3edec14b
Add activeworkspace
hyprctl command ( #2202 )
...
* Add `activeworkspace` hyprctl command
* fix format in hyprctl
* Make stuff more shared in workspace hyprctl
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-02 14:51:52 +01:00
vaxerski
cde7f79af0
xwayland: allow initial focus to dialogs
2023-05-02 14:44:21 +01:00
levnikmyskin
c949173bc9
Added some workspace-specific rules ( #1986 )
...
* added some workspace-specific rules
* added some worskpace-specific rules, with windowrule like syntax
* monitor is not mandatory anymore
* pointers to config are now static
* fixed optional WorkspaceRule fields
* Windows can now specify border size
* removed CHyprOpenGLImpl::renderBorder borderSize default value
* stuff
---------
Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
Jan Beich
250d5cf78c
config: add missing header for libc++ after 3a631e40db
( #2208 )
...
src/config/ConfigManager.cpp:1980:27: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
std::stringstream error;
^
/usr/include/c++/v1/iosfwd:134:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_stringstream;
^
2023-05-01 22:24:51 +01:00
vaxerski
45b1e6dc5e
keybinds: simulate workspace switch on focusWindow to another ws
2023-05-01 15:39:08 +01:00
vaxerski
d6b069458d
input: don't refocus on dragging
2023-05-01 15:15:55 +01:00
outfoxxed
3a631e40db
Declarative plugin management ( #2180 )
...
* Declarative plugin management
Allow declaring `plugin` entries in the hyprland configuration.
Plugins will be loaded if an entry is added and unloaded if that entry
is removed.
* Replace pointers with copying in updateconfigPlugins
* Include which plugin was declared twice in error
2023-05-01 15:10:53 +01:00
vaxerski
11b7ce14f8
renderer: fix misused size -> transformed size
2023-05-01 02:53:43 +01:00
vaxerski
ddfeebad3d
Renderer: add init animation
2023-05-01 02:49:41 +01:00
vaxerski
02312cac59
renderer: more checks for background LS optimizations
2023-04-30 01:15:51 +01:00
vaxerski
6501bceb42
workspace: don't check LS-es in startAnim
2023-04-30 01:13:58 +01:00
vaxerski
3580f845e6
monitor: update fullscreen fade on workspace change
2023-04-30 01:12:20 +01:00
vaxerski
b7e69be51e
windows: check for fullscreen after rules
2023-04-30 01:01:47 +01:00
scorpion-26
fdb772832f
Keep fullscreen mode in moveWindowToWorkspaceSafe ( #2191 )
...
Moving a maximised window would always result in the window being
fullscreen instead of maximised
2023-04-29 23:39:09 +01:00
vaxerski
5a3e3deb33
internal: warp workspace on change only if old mon is last
2023-04-29 13:32:59 +01:00
vaxerski
2946221195
renderer: fix fadingout render on fs
2023-04-29 13:29:32 +01:00
vaxerski
fbb938fcf2
internal: don't change ws on active swap
2023-04-28 21:40:44 +01:00
vaxerski
dbb6d9d174
rules: add noinitialfocus
2023-04-28 15:36:08 +01:00
vaxerski
5ce76cd0b0
internal: add tag to version, send hash in release ci
2023-04-27 14:28:40 +01:00
vaxerski
1a1656ddbf
Revert "internal: include headers from protocols/"
...
This reverts commit 550700bed0
.
We can't cuz meson
2023-04-27 13:55:13 +01:00
vaxerski
550700bed0
internal: include headers from protocols/
2023-04-27 13:40:38 +01:00
vaxerski
4a1fb3e903
keybinds: fix move to named
2023-04-26 16:58:58 +01:00
vaxerski
28ca434fb5
Revert "input: make overlay layers precede constraints"
...
This reverts commit 1e526411b6
.
Issues with input
2023-04-25 21:50:24 +01:00
vaxerski
1e526411b6
input: make overlay layers precede constraints
2023-04-25 17:02:20 +01:00
outfoxxed
849d657595
Window resizing for pseudotiled windows ( #2140 )
...
* Window resizing for pseudotiled windows
* Use `m_vRealSize` to determine scaled window size
2023-04-25 16:53:18 +01:00
vaxerski
bf27066fd7
IHyprLayout: add missing static modifiers to config vars
2023-04-25 16:53:01 +01:00
vaxerski
1f80154823
layouts: add missing static modifiers to config vars
2023-04-25 16:49:06 +01:00
outfoxxed
f40272d509
Add follow mouse mode to avoid refocusing under cursor ( #2135 )
...
* Add follow mouse mode to avoid refocusing under cursor
2023-04-25 16:00:34 +01:00
vaxerski
e195a51cd4
internal: update fullscreen fade on workspace move
2023-04-24 23:23:12 +01:00
vaxerski
247ff4e60d
internal: improve fullscreen fade
2023-04-24 23:21:51 +01:00
vaxerski
eb570c88e6
screencopy: clamp damage to framebuffer
2023-04-24 20:01:44 +01:00
Tyler Schneider
67c73ec100
Fixed a crash when waking up monitors in power-saving mode ( #2139 )
2023-04-23 22:28:18 +01:00
Jan Beich
f7579fc923
internal: unhardcode sun_path size after a6cfe70428
( #2137 )
...
hyprctl/main.cpp:83:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
^
hyprctl/main.cpp:146:5: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(serverAddress.sun_path, socketPath.c_str(), 107);
^
src/managers/EventManager.cpp:70:9: warning: 'strncpy' size argument is too large; destination buffer has size 104, but size argument is 107 [-Wfortify-source]
strncpy(SERVERADDRESS.sun_path, socketPath.c_str(), 107);
^
2023-04-23 21:20:29 +01:00
mekb
fbcbe947da
Added moveCursor dispatcher ( #2100 )
...
* Added moveCursor dispatcher
* fix error message for moveCursor
2023-04-23 19:50:53 +01:00
vaxerski
97b0368765
xwayland: crude fix for qt dnds
2023-04-22 22:20:48 +01:00
vaxerski
c0f4e9f52e
internal: moveToWorkspace before setting ws
2023-04-22 21:13:06 +01:00
vaxerski
49fb4cd94d
renderer: improvements to layer render detection
2023-04-22 12:54:57 +01:00
vaxerski
1911e4262b
renderer: skip rendering bottom layers on fullscreen opaque
2023-04-22 12:36:54 +01:00
q234rty
d366fc48b8
Remove wlr_output_damage.h ( #2121 )
...
This is [removed](9ef98452a3
) upstream and hyprland wasn't using it anyway.
This alone will probably not fix the CI but this will allow to clean build hyprland in many configurations.
2023-04-21 18:28:51 +01:00
vaxerski
7b5b4a1049
crashReporter: log on crash
2023-04-21 16:48:36 +01:00
vaxerski
d03dcc3d99
deps: update wlroots
2023-04-21 15:42:08 +01:00
outfoxxed
2df0d034bc
Fix dragging cursor being forced on fullscreen windows ( #2115 )
...
Fix two edge cases causing the dragging mouse cursor to be forced on
fullscreen windows:
- hovering over a window border and running the fullscreen dispatcher
- moving mouse focus from a monitor with the resize cursor set to a
different monitor with a fullscreen window
2023-04-21 13:36:55 +01:00
vaxerski
510db64860
hyprctl: allow spaces in cursor themes
2023-04-20 23:59:31 +01:00