Commit Graph

601 Commits

Author SHA1 Message Date
vaxerski f4e99a36a9 input: don't warp region constraints 2023-09-10 12:49:53 +01:00
Philip Damianik 8c83852704
internal: Remove all `.c_str()` calls when using `std::vformat` (#3198)
Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
2023-09-06 21:45:37 +02:00
Vaxry 61a71c65ac
internal: Formatter rework (#3186) 2023-09-06 12:51:36 +02:00
MightyPlaza 8fefb180b1
windowrules: Monitor rule fix (#3157)
* fix monitor rules
modified:   src/events/Windows.cpp

* exec on workspace as silent when special is open
modified:   src/events/Windows.cpp
2023-09-03 17:23:13 +02:00
MightyPlaza 00bee91bbc
internal: workspace rule handling refactor (#3116)
modified:   src/events/Windows.cpp
2023-09-02 20:41:02 +02:00
Vaxry d9292800a2
internal: Unsafe state reworks (#3114) 2023-09-01 22:03:56 +02:00
vaxerski bb0933437f wlr-ext-workspace: remove protocol impl
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
2023-09-01 17:10:03 +02:00
vaxerski c98a00678c input: fix xwayland constraint calcs
some minor adjustments, fixes #3028
2023-08-30 17:23:35 +02:00
vaxerski 870471dd96 internal: allow opening empty special workspaces
Fixes point 2 of #2596
2023-08-25 18:05:08 +02:00
vaxerski 63b2189ce8 xdgshell: damage old popup coords after a reposition
fixes #3038. I updated the shell ver without properly supporting .reposition
2023-08-21 01:15:00 +02:00
vaxerski 025c023e4b xwayland: use logical pos in unmanaged geom requests
using raw xwayland coords is wrong cuz we use separate coord spaces
2023-08-21 00:39:39 +02:00
Vaxry 942ee943f5 input: unify constraint hint logic
Unifies the constraint hint logic. Previously, ignoring the stupid conditions, unscaled hints were mistaken with scaled coordinates.
2023-08-18 22:40:23 +02:00
MightyPlaza 7155b4c266
renderer: Border improvements (#2986)
* simplify getting border size
	modified:   src/Window.cpp
	modified:   src/Window.hpp
	modified:   src/layout/DwindleLayout.cpp
	modified:   src/layout/MasterLayout.cpp
	modified:   src/render/decorations/CHyprGroupBarDecoration.cpp

* fix border damage and input box
	modified:   src/Window.cpp
	modified:   src/managers/AnimationManager.cpp

* add border size in resize_on_border box
	modified:   src/managers/input/InputManager.cpp

* simplify border (fixes possible typo)
	modified:   src/Window.cpp

* use updateSpecialRenderData()
	modified:   Window.cpp
	modified:   Window.hpp
	modified:   events/Windows.cpp
	modified:   layout/DwindleLayout.cpp
	modified:   layout/IHyprLayout.cpp
	modified:   layout/MasterLayout.cpp
	modified:   render/Renderer.cpp

* update window workspace rule data on reload
	modified:   src/config/ConfigManager.cpp

* use rounding()
	modified:   src/Window.cpp
2023-08-17 10:13:19 +02:00
Vaxry 4986d74ef2 xwayland: fix use of xwayland coords in native spaces 2023-08-15 20:10:43 +02:00
Vaxry 0314a727eb layers: set proper alpha to top grabbing surfaces 2023-08-13 21:52:43 +02:00
MightyPlaza 901236a535
rules: center window improvements (#2935)
* center window improvements
	modified:   src/config/ConfigManager.cpp
	modified:   src/events/Windows.cpp
	modified:   src/managers/KeybindManager.cpp

* remove redundant line
	modified:   src/events/Windows.cpp

* simplify code
	modified:   src/events/Windows.cpp
	modified:   src/managers/KeybindManager.cpp
2023-08-11 16:54:16 +02:00
Vaxry d7209b90bb renderer: remember extents before removing a window and use them for dt
fixes #2351
2023-08-09 14:28:04 +02:00
vaxerski f5913135c6 input: add support for cursor-shape-v1 2023-07-24 18:50:17 +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 b65adf8d4a toplevelexport: support dmabuf + various fixes 2023-07-20 12:42:25 +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 06563d7034 popups: update parent pos on commit 2023-07-15 18:27:21 +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
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
MightyPlaza 34d845da13
typo (#2643) 2023-07-04 22:03:19 +02:00
vaxerski 18f9fb5e0f rules: add stayfocused 2023-07-04 12:05:25 +02:00
Vaxry 01f85a09a9 xwayland: send zero scaling to xwayland if enabled 2023-06-23 21:42:44 +02:00
Vaxry 0283c498d6 xwayland: fix minor force_zero_scaling bugs 2023-06-22 21:43:31 +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
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 fbabb105c3 gamma: use wlr's new gamma manager event 2023-06-14 13:26:47 +02:00
Vaxry 6beb79f27b xwayland: add force_zero_scaling 2023-06-11 21:52:13 +02:00
Vaxry 10db5a4fdb xwayland: disconnect events on destroy
thanks Kirill Primak
2023-06-05 20:51:47 +02:00
Vaxry 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
Vaxry ce0f248d20 events: remove old comment 2023-06-02 19:50:02 +02:00
Vaxry e76bd43f53 rules: add nodim 2023-05-31 21:11:20 +02:00
vaxerski 5f4659afef xdgshell: check and conform to rigid float sizes on commit 2023-05-26 14:49:03 +02:00
vaxerski a4c120d608 layouts: ignore direction forces on non-map 2023-05-24 19:23:10 +02:00
vaxerski b748b0734f input: don't refocus on closed window 2023-05-14 13:47:43 +01:00
vaxerski 86ef85efae layershell: don't enter on unmapped ls 2023-05-12 01:07:46 +01:00
vaxerski 7fde80f38e layers: fix wonky focus on multimon 2023-05-09 17:01:18 +01:00
vaxerski e7c2ea9724 layershell: focus if changed keyboard mode 2023-05-08 19:12:01 +01:00
vaxerski 0155b85950 rules: fix monitor rule with names 2023-05-03 14:58:51 +01:00
vaxerski b7e69be51e windows: check for fullscreen after rules 2023-04-30 01:01:47 +01:00
vaxerski dbb6d9d174 rules: add noinitialfocus 2023-04-28 15:36:08 +01:00
q234rty 6225591dbd
Fix apps requesting fullscreen (#2099)
Otherwise e446db02f6 breaks fullscreening of image previews for nheko/telegram-desktop/...
2023-04-19 13:26:27 +01:00
DB e446db02f6
Add windowrule fakeFullScreen (#2043)
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-04-18 21:59:08 +01:00
vaxerski 8b3d8dc792 Format: use %lx for all addresses 2023-04-17 17:35:28 +01:00
vaxerski 8944db49be swallow: fix invalid regexes with empty vals 2023-04-15 19:15:59 +01:00
vaxerski a22e1174ee screencopy: implement dmabuf 2023-04-12 21:40:51 +01:00
vaxerski 985764c8db listeners: more safety around change 2023-04-12 20:18:55 +01:00
vaxerski 5f000306f5 popups: send scale info 2023-04-12 18:00:07 +01:00
Kajetan Puchalski efee6a1cda
swallow: Add swallow_exception_regex (#2026)
Currently, if a window class is specified in the swallow_regex (e.g.
Kitty) it will swallow every other window spawned by it automatically.
Many other WMs implementing this functionality allow for defining
exceptions from this rule. For instance, we want Kitty to swallow sxiv
or zathura but we do not want Kitty to swallow something like wev.

This commit adds an additional regex - swallow_exception_regex where
these exceptions can be defined. This regex is then compared against the
title of the window about to be swallowed and if it happens to be a
match, aborts the swallowing.

This works because whenever an application that could be swallowed is
launched by a terminal, the class of the terminal remains the same while
the title changes to whatever the application's name is, thus letting it
be matched against a regex.
2023-04-12 13:38:15 +01:00
vaxerski 41d1fdedf2 output: handle needs_frame 2023-04-07 17:25:56 +01:00
vaxerski cd1b982b2a internal: listen to output.damage events 2023-04-07 16:31:55 +01:00
vaxerski d8645cd148 internal: release buttons on unmap 2023-04-07 12:54:11 +01:00
vaxerski a43b18ae26 Feat: add initial class/title to hyprctl clients 2023-04-03 19:16:51 +01:00
vaxerski b88de63abb Input: fix always_follow_on_dnd 2023-03-30 00:34:24 +01:00
Alexander Seiler 60527ab180
Fix some typos (#1907)
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-03-29 23:44:25 +01:00
vaxerski d6241a3086 windows: only connect unmap when mapped 2023-03-28 20:17:47 +01:00
vaxerski 41f7736c85 config: default manual animations to false 2023-03-24 22:24:12 +00:00
Vaxry a80f8f257f
Feat: Introduce render_ahead_of_time (#1863) 2023-03-24 19:23:16 +00:00
vaxerski 3a3a3f7bdb popups: fix heap-use-after-free 2023-03-23 00:22:49 +00:00
staz 5ce91bb0fd
Added overflow check for blur radius (#1847)
* internal: added overflow check for blur radius

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-03-21 19:01:24 +00:00
vaxerski adf5d8a114 monitors: update surface outputs on recover from unsafe 2023-03-21 17:46:26 +00:00
Vaxry 788a8f7c13
internal: wrap wlr surfaces (#1822) 2023-03-20 15:00:58 +00:00
vaxerski 928de33447 monitors: more guards for safety 2023-03-19 02:19:52 +00:00
vaxerski 6e6971606d windowrules: allow monitor by str 2023-03-18 01:34:06 +00:00
vaxerski e5870d47c7 LS: add blur and ignorezero rules 2023-03-17 23:16:13 +00:00
vaxerski d9d57ce39a monitors: fix segfault on non-unsafe remove 2023-03-16 01:04:54 +00:00
vaxerski f5669a7d6b events: guard output in change 2023-03-15 17:01:20 +00:00
vaxerski 25d3d73dbf monitors: fixes to unsafe mode 2023-03-15 15:11:41 +00:00
vaxerski 31cd104286 fix warns 2023-03-04 00:53:42 +00:00
vaxerski 34685a836a Move AnimationManager::tick() to an event loop 2023-03-02 17:30:50 +00:00
Vaxry 71496a0a3c Fix fatal aborts with X11 OR windows 2023-03-01 13:47:40 +00:00
Vaxry 86acdcf8b6 nuke unmanagedx11 vector 2023-03-01 13:15:51 +00:00
vaxerski 91fd854e3b fix warn 2023-02-28 19:37:00 +00:00
vaxerski 7beb9fd606 Draw HyprError on the last monitor 2023-02-28 19:18:13 +00:00
vaxerski 99b7d53817 deny configure requests on drag 2023-02-28 18:52:03 +00:00
vaxerski 7e523e4d5e minor fixes to X11 configure/or handling 2023-02-28 18:50:47 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
Vaxry 2bf7f9e413 fixup constraint snapping on no hint 2023-02-22 23:16:11 +00:00
vaxerski 66e3679ba3 Conform to X11 OR surfaces wanting focus 2023-02-21 20:47:02 +00:00
vaxerski fc49a055c6 fix warn 2023-02-20 11:01:03 +00:00
Vaxry 1b56cc4e99
Added an Event Hook System (#1578)
* added an eventHookSystem

* Add all socket2 events to hooks
2023-02-19 20:54:53 +00:00
vaxerski dbfa6eea7b fixup stutter in rendering with toplevel_export 2023-02-16 22:51:38 +00:00
vaxerski 127e80692f move no_vfr to vfr and add vrr 2023-02-14 17:08:42 +00:00
vaxerski d1a7f1dd36 don't alter LS geom on unmap 2023-02-10 12:54:57 +00:00
vaxerski 1dde751da4 fixup LS fs-v1 calcs 2023-02-10 12:53:43 +00:00
vaxerski 859d6b9b8a fixup ls geom calcs on wp-fs-v1 2023-02-08 22:54:26 +00:00
vaxerski cb6c47098d use surface size to determine LS size 2023-02-08 22:37:30 +00:00
Vaxry 5eb98c0072 improve VRR state checking with updates to mosthz 2023-02-08 15:18:54 +00:00
vaxerski 863812a097 added activewindowv2 2023-02-06 13:16:59 +00:00
Vaxry a431c1b01c bring back dynamic ls geom updates 2023-02-04 13:12:56 +00:00
vaxerski fcf1bafb09 conform to unmanaged X11 activate requests 2023-02-03 21:21:19 +00:00
vaxerski a46abd8b1a update wlroots dep 2023-02-03 12:43:43 +00:00
vaxerski 129e99a6f6 Implement ext-session-lock-v1 2023-02-03 11:58:55 +00:00
vaxerski 11234529db Simulate mouse movement on unmap of popups and subsurfaces 2023-01-31 00:26:15 +00:00