Commit Graph

1207 Commits

Author SHA1 Message Date
vaxerski 8b9cc9a8db animationmgr: guard monitor ptr in animationSlide 2023-09-06 13:05:37 +02:00
Vaxry 61a71c65ac
internal: Formatter rework (#3186) 2023-09-06 12:51:36 +02:00
Dickby 28f1f035b1
animationmgr: Optimize CAnimationManager::scheduleTick a bit. (#3172)
* Optimize CAnimationManager::scheduleTick a bit.

* Use integer in wl_event_source_timer_update call.
2023-09-05 15:06:39 +02:00
vaxerski d9937fcdba input: minor constraint fixes
fixes the confined region, warping issues, etc. Closes #3158
2023-09-04 17:34:19 +02:00
vaxerski e3c83ab2e0 xwaylandmgr: find closest output in xwayland coord translation
partially off-screen windows would be snapped to 0,0 otherwise
2023-09-04 17:30:48 +02:00
vaxerski 9f3a64481e dwindle: add proper movement for window move binds
ditches the "movewindow = swapwindow" mechanism. Fixes #2804
2023-09-04 15:34:13 +02:00
memchr 69439871e6
refactor: replace manual iteration of CWindow with existing methods (#3147) 2023-09-04 15:13:39 +02:00
MightyPlaza 6a0e2bbff3
socket2: added "activespecial" IPC event (#3163) 2023-09-04 15:11:51 +02:00
staz 01c6c5ae22
internal: Revert rounding of window size (#3153)
* Revert "renderer: round coords and size in renderWindow"

This reverts commit fc0c1896e0.

* Revert "xwaylandmgr: round reported sizes"

This reverts commit 2985e20e6a.
2023-09-03 12:51:48 +02:00
vaxerski 204a580544 keybinds: fixup global conditions 2023-09-02 19:36:12 +02:00
vaxerski 1ecfb5e852 globalshortcuts: allow empty appid 2023-09-02 19:32:05 +02:00
vaxerski 2985e20e6a xwaylandmgr: round reported sizes
Since we round the sizes in the renderer, it's also a good idea to round the sizes reported to the apps. Fixes #3138
2023-09-02 00:04:55 +02:00
vaxerski 563fe83db2 keybinds: set special monitor id before recalc
set special workspace's monitor ID before we call recalculateMonitor in toggleSpecialWorkspace. Fixes #1151
2023-09-01 22:57:23 +02:00
vaxerski f242f9447b keybinds: suppress up event if down was consumed
Fixes #3000
2023-09-01 22:14:10 +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
q234rty 5035f5fc68
text-input-v1: Fix preedit styling in chromium (#3131) 2023-09-01 16:39:15 +02:00
vaxerski 9c4f776757 keybinds: fixup release conditions
honestly I already forgot why the m_vHeldBack vec existed. Seems useless and annoying. Fixes #3113
2023-08-30 23:23:35 +02:00
MightyPlaza b10cae3010
decos: groupbar mouse interaction (#3102)
* allow groupbar clicking
	modified:   src/Window.cpp
	modified:   src/Window.hpp
	modified:   src/managers/input/InputManager.cpp
	modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
	modified:   src/render/decorations/CHyprGroupBarDecoration.hpp

* remove setting pos inside insertWindowToGroup()

modified:   src/Window.cpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp

* add group window by index and group size functions
modified:   src/Window.cpp
modified:   src/Window.hpp
modified:   src/managers/input/InputManager.cpp

* allow dragging into groupbar
modified:   src/Window.cpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp

* allow dragging from groupbar
modified:   src/managers/KeybindManager.cpp

* try groupbar clicking before border resize
modified:   src/managers/input/InputManager.cpp

* block grabbing groupbar on floating (crash)

remove later when crashing is fixed

modified:   src/managers/KeybindManager.cpp

* remove redundant { }
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp

* implement getWindowDecorationBox()
modified:   src/Window.cpp
modified:   src/Window.hpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/CHyprDropShadowDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* fix crash when moveoutofgroup in floating windows

also removes dragging from floating windows limitation

modified:   src/layout/IHyprLayout.cpp
modified:   src/managers/KeybindManager.cpp

* use CRegion in getWindowDecorationBox()
modified:   src/helpers/Region.cpp
modified:   src/helpers/Region.hpp
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* add groupbar scrolling
modified:   src/config/ConfigManager.cpp
modified:   src/managers/input/InputManager.cpp

* change name to getWindowDecorationRegion()
modified:   src/layout/DwindleLayout.cpp
modified:   src/layout/MasterLayout.cpp
modified:   src/managers/KeybindManager.cpp
modified:   src/managers/input/InputManager.cpp
modified:   src/render/decorations/IHyprWindowDecoration.cpp
modified:   src/render/decorations/IHyprWindowDecoration.hpp

* make dragging from group less hacky for floating
modified:   src/managers/KeybindManager.cpp
2023-08-30 17:39:22 +02:00
vaxerski c98a00678c input: fix xwayland constraint calcs
some minor adjustments, fixes #3028
2023-08-30 17:23:35 +02:00
vaxerski 28a90d6055 input: warp in unconstrainMouse
XWayland coord translation would fuck up if we did this in destroyConstraint
2023-08-30 13:42:17 +02:00
vaxerski 870471dd96 internal: allow opening empty special workspaces
Fixes point 2 of #2596
2023-08-25 18:05:08 +02:00
memchr f0da0b0be4
input: improved path handling; null check return value of fopen. (#3061) 2023-08-25 17:21:55 +02:00
vaxerski 6a5a5ed11e input: add transparent binds
adds a new flag for binds to be transparent (non-shadowable)
fixes #3058
2023-08-25 12:35:24 +02:00
vaxerski ad085666c1 input: sanitize newlines in device names
fixes #3066 by replacing newlines with dashes in device names
2023-08-25 12:17:48 +02:00
end-4 17ea7db23a
gestures: Swipe direction lock (#3052) 2023-08-23 22:40:19 +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
Vaxry 14f20a7372 xwayland: fix incorrect VECINRECT usage
Fixes #3002. VECINRECT uses x2 and y2 and not w / h.
2023-08-18 22:20:05 +02:00
end-4 37a211a2ae
animations: add slidefade and slidefadevert styles for workspaces (#3008)
* add slidefade and slidefadevert animations

* fix swiping for slidefadevert

* rename minPerc to movePerc for slidefade anim styles

* change default slidefade percentage to 100%

* remove useless comments

* findlastof + 1

* debug logging for slidefade/slidefadevert percentage
2023-08-17 22:30:20 +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
memchr 63b266cf65
internal: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE (#2989)
* fix: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE

ioctl VT_GETSTATE on stdin fails if it is not console, such as when
using GDM.  `/dev/tty` should be used instead.

- `/dev/tty` is a synonym for the controlling terminal of a process, if
there is one.

---------

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2023-08-16 10:51:08 +02:00
Vaxry 4986d74ef2 xwayland: fix use of xwayland coords in native spaces 2023-08-15 20:10:43 +02:00
Vaxry 91e28bbe9d xwayland: use a completely separate coordinate system
Use a completely separate coordinate system for XWayland. This fixes all issues with force_zero_scaling overlaps.

Fixes #2916
2023-08-15 19:15:37 +02:00
Vaxry 0220e4c1ea input: notify idle about activity on mouse move regardless of focus 2023-08-13 17:46:20 +02:00
UserSv4 8a7ce59ad4
internal: Fix grouped windows not being properly focused on activation (#2925)
* Fix grouped windows not being properly focused on activation

This bug could happen if you:
1. Open two Chromium windows in a single group
2. Open some tabs in both of the windows
3. Using tabs search (Ctrl+Shift+A) try to switch to a tab in the second window from the first one.
When this happens any window focus would be lost (hyprctl activewindow starts to output "Invalid") and also the mouse cursor would become centered relatively to the second window.

* Update Compositor.cpp
2023-08-11 17:27:09 +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
MightyPlaza 6295cbe9cb
keybinds: Keep aspect ratio (#2907) 2023-08-08 18:52:20 +02:00
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
Vaxry a077b7a92e animationmgr: avoid redundant ticks 2023-08-05 23:29:33 +02:00
vaxerski 7a2027d1fd input: fix and unify client checking in mouseRequests 2023-08-03 18:44:07 +02:00
vaxerski 08651736ad keybinds: add toggle to dpms 2023-07-30 16:46:37 +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
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
Rachel Knight b21644b611
input: Fix #2376 mouse movement bug in XWayland (#2776) 2023-07-22 19:31:36 +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 7091d4e597 animationmanager: optimize avar state 2023-07-19 22:40:03 +02:00
Vaxry 89b87158db
internal: Wrap regions (#2750) 2023-07-19 20:09:49 +02:00
vaxerski f4f0f35c5b renderer: add occlusion for back layers 2023-07-19 16:13:55 +02:00
MightyPlaza 3b03597784
keybinds: movegroupwindow-improvement (#2740)
* movegroupwindow-improvement

* use std::swap
2023-07-19 00:30:10 +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
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
vaxerski 3229862dd4 xwayland: guard monitor validity in xwayland scale overriding 2023-07-15 23:10:05 +02:00
Lennard Hofmann 06f5910365
Make bind modmask case-insensitive (#2714) 2023-07-14 18:39:53 +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 b33d82734f input: schedule frame on mouse move 2023-07-09 00:44:32 +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 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
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
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 86ca283352 gestures: add workspace_swipe_use_r 2023-07-01 16:30:36 +02:00
Vaxry 4294456cdc xwayland: remove spaces from output names 2023-06-25 13:52:24 +02:00
Vaxry 01f85a09a9 xwayland: send zero scaling to xwayland if enabled 2023-06-23 21:42:44 +02:00
Vaxry fc59cef1ee keybinds: remove old todo 2023-06-21 21:20:26 +02:00
Vaxry cabdf38ce4 internal: minor style fixes 2023-06-20 21:35:54 +02:00
Vaxry 2295bbdd80 xwaylandmanager: fixup style 2023-06-18 18:14:52 +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
vaxerski 807b52b019 animationmgr: warp on equal start and goal 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
Vaxry 6beb79f27b xwayland: add force_zero_scaling 2023-06-11 21:52:13 +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
Vaxry cf37922d42 input: update surface input on changeworkspace 2023-06-09 12:20:40 +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
Vaxry 147e962370 deps: update wlroots 2023-06-03 12:20:28 +02:00
Vaxry baf81cdc5d input: force focus on movefocus 2023-05-31 20:59:38 +02:00
vaxerski a7cfbdb854 keybinds: fix tryMoveFocusToMonitor with special 2023-05-29 18:11:37 +02:00
Jeremy Huang b3a86952cf
focus: fix #1675 window not scrollable after movefocus (#2390) 2023-05-29 09:52:36 +02:00
Jeremy Huang 8afc2f45c7
focus: make cursor follow movewindow (#2374) 2023-05-27 12:16:50 +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 eb1f832fce decos: recalc on add 2023-05-23 14:26:38 +02:00
vaxerski 088b4a68e6 moveActiveToWorkspace: update last window of old ws 2023-05-22 19:44:10 +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
Vaxry 5627b70981 input: reset cursor hide timer on tablet 2023-05-20 21:15:21 +02: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
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 896a78aaa0 lock: add allow_session_lock_restore 2023-05-13 12:36:36 +01:00
vaxerski 0859944c9a input: add custom accel profiles 2023-05-05 16:06:13 +01:00
vaxerski 79791c9ed4 internal: fix -Wsign-compare and -Wunused-variable warnings 2023-05-02 14:53:31 +01:00
vaxerski cde7f79af0 xwayland: allow initial focus to dialogs 2023-05-02 14:44:21 +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
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 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
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
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 b15803510c input: improve mouse release conditions 2023-04-20 00:46:42 +01:00
vaxerski 8b3d8dc792 Format: use %lx for all addresses 2023-04-17 17:35:28 +01:00
vaxerski a6cfe70428 internal: avoid buffer overflows with socket paths 2023-04-17 16:38:52 +01:00
vaxerski b6a7be7663 dispatchers: fix movetoworkspace with bound ws-es 2023-04-17 16:09:46 +01:00
vaxerski 785fc8d669 dispatchers: fix missing log param 2023-04-17 13:30:37 +01:00
vaxerski f80f4f3194 dispatchers: fix named ws-es on changeworkspace 2023-04-16 21:32:32 +01:00
vaxerski b05ff89c76 Render: add cursor_zoom 2023-04-16 14:48:38 +01:00
vaxerski d6c4ae71d0 damage: fix damage on moves / workspace changes 2023-04-15 16:16:33 +01:00
vaxerski a6d94eafba tick: don't tick on invalid session 2023-04-15 12:45:25 +01:00
vaxerski 83f1616a65 keybinds: minor adjustments to workspace 2023-04-14 17:51:10 +01:00
vaxerski 7ec23254fd workspace: don't lose monitor with refocus on no warps 2023-04-14 17:03:12 +01:00
vaxerski c2b5dd1be6 keybinds: only warp on different monitor ws 2023-04-14 16:22:55 +01:00
vaxerski 727160f0a4 workspaces: fixup workspaces not activating on workspace switch 2023-04-14 15:28:22 +01:00
vaxerski 3f2a18a435 keybinds: remove old comment 2023-04-14 15:16:59 +01:00
vaxerski cf7c5e4dff misc: fix a warning 2023-04-14 15:06:22 +01:00
vaxerski 287e6c4ede internal: workspace manip handling rework 2023-04-14 15:03:53 +01:00
vaxerski 011600ac6e keybinds: more intelligent fallback on silent move 2023-04-14 01:42:55 +01:00
vaxerski 260ef788f5 internal: don't sanity check workspaces on internal ws calls 2023-04-13 22:21:11 +01:00
vaxerski 6131e0bef7 keybinds: refocus properly on silent move 2023-04-13 22:20:31 +01:00
Stanisław Zagórowski ac2cd0f0dc
plugins: Add "tick" event (#2029) 2023-04-12 11:18:33 +01:00
Max Verevkin c2f29be9ba
make ext_workspace_unstable impl more atomic (#2023) 2023-04-11 14:28:32 +01:00
vaxerski 16a034a34a keybinds: send pass with a null keymap 2023-04-10 22:42:05 +01:00
Hilmar Wiegand 7b43f9f056
Implement window move (#2018) 2023-04-10 20:07:49 +01:00
vaxerski 56a307d734 Revert "keybinds: avoid sending release on suppressed press"
Issues with XWayland

This reverts commit a1b1480c21.
2023-04-10 15:47:20 +01:00
Hilmar Wiegand 6a4bda60f2
Allow movefocus for empty workspaces (#2011)
* Allow switching to empty workspaces using movefocus

* Allow switching to other workspaces when no windows are focused

* Implement review feedback

* Add option to disable focus fallback

* Remove unnecessary braces
2023-04-10 14:40:03 +01:00
vaxerski a1b1480c21 keybinds: avoid sending release on suppressed press 2023-04-10 00:56:08 +01:00
vaxerski 4ae784dc53 input: fix kb focus on top layers without interactive flag 2023-04-09 19:53:31 +01:00
Vaxry 046ad79d11
GlobalShortcuts protocol impl (#1886)
Implements the `hyprland-global-shortcuts-v1` protocol

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
vaxerski e4e653ada6 socket2: receive bytes to avoid endless loops 2023-04-08 23:14:12 +01:00
Andrew Pritchard dfb78e0593
Fix swiping onto a new workspace with multiple monitors. (#1971)
The previous code could run into issues into the following circumstances:

* The focused monitor is on its rightmost workspace with ID `i`.
* Another monitor has a workspace with ID `i+1`.
* `workspace_swipe_create_new` is enabled.

Then, swiping rightwards attempts to target a new workspace with ID
`i+1`: completing the swipe gesture unintentionally focuses that
workspace on whichever monitor it's already on while leaving the active
monitor in a broken state where it shows no windows but creates new
windows on the workspace it was previously on; and cancelling the swipe
gesture shifts the entire workspace `i+1` to the right by the width of
the active monitor.

By choosing an ID that doesn't exist, this problematic behavior is
avoided.  More specifically, it's the smallest ID greater than any
existing workspace's ID, because otherwise the new workspace that was
seemingly just created to the right of the rightmost workspace could end
up somewhere in the middle of the workspace order.
2023-04-07 12:18:53 +01:00
vaxerski 569eaff04c swipe: block on locked session 2023-04-07 11:51:52 +01:00
vaxerski 80650b6722 keybinds: allow MOD1 as an alias of ALT 2023-04-06 19:28:09 +01:00
vaxerski 19809532df input: ignore constraints on touch 2023-04-06 11:34:18 +01:00
vaxerski 2f7fb2f553 input: don't set icon on held buttons without a drag 2023-04-03 23:17:06 +01:00
vaxerski 23001f6144 input: don't overset resize icons on drag 2023-04-03 23:15:33 +01:00
vaxerski 55d585ce17 input: fix click-to-refocus not working on loose 2023-04-03 23:09:44 +01:00
Vaxry 0a099ca2ab
Hyprland Screencopy impl (#1800)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski b1426cad28 input: fix minor issue with holding focus 2023-04-02 13:42:57 +01:00
vaxerski 0fc145c52c input: hold focus on mouse buttons 2023-04-02 13:30:45 +01:00
Jan Beich 16bc5997bb
Misc FreeBSD fixes (#1926)
* helpers: drop incomplete GNU/kFreeBSD bits

Debian with FreeBSD kernel lacks Wayland-related packages and is not
officially supported since Jessie.

* KeybindManager: check VT ioctl availability instead of hardcoding

* plugins: add missing header for libc++ after 430778293e

src/plugins/PluginAPI.cpp:299:33: error: implicit instantiation of undefined template 'std::basic_istringstream<char>'
    std::istringstream          inStream(SYMBOLS);
                                ^
/usr/include/c++/v1/iosfwd:140:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_istringstream;
                               ^

* plugins: prefer llvm-nm with Clang after 430778293e

nm: invalid option -- j
2023-03-31 20:39:04 +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 df54ab40ce layer: allow focus on top/overlay surfaces without a window 2023-03-28 17:21:11 +01:00
Vaxry 6fec5bfbeb keybinds: improve movefocus on fullscreen 2023-03-27 15:19:27 +01:00
Vaxry 788a8f7c13
internal: wrap wlr surfaces (#1822) 2023-03-20 15:00:58 +00:00
vaxerski 7a514f41a3 Focus: warp cursor on movewindow 2023-03-20 01:42:21 +00:00
vaxerski 2ba5238b8e groups: fix moving between displays 2023-03-18 16:30:29 +00:00
vaxerski 606cb2832a keybinds: remember last workspace on focusmonitor 2023-03-16 16:40:28 +00:00
vaxerski 162f235972 switches: do not fire on no change in toggle 2023-03-16 16:30:22 +00:00
Vaxry 96718d8b09 dpms: fix keyboard dpms 2023-03-16 15:29:48 +00:00
vaxerski 5d44ea802a monitors: guard output when read 2023-03-16 14:03:40 +00:00
vaxerski 3e261b1fa7 dpms: fix key_press_enables_dpms 2023-03-16 00:30:07 +00:00
vaxerski d63e8c8f45 ime: account for text height in popup calcs 2023-03-14 16:46:39 +00:00
vaxerski 7e5a3eb045 ime: fix panels overflowing on corners 2023-03-14 16:12:25 +00:00
vaxerski f960f72785 input: minor fixes for tiv1 2023-03-14 14:37:00 +00:00
vaxerski 0807b8b95f tiv1: minor fixes for crashes 2023-03-14 13:51:08 +00:00
Vaxry 5dc1a5fec6
input: text-input-v1 support (#1778)
support zwp_text_input_v1

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
vaxerski e749af7b60 dispatchers: remember named workspaces in prev 2023-03-13 15:19:25 +00:00
vaxerski bcd8fe9573 groups: add deco on moveIntoGroup 2023-03-13 00:47:57 +00:00
vaxerski 146d231ec5 config: add key_press_enables_dpms 2023-03-12 13:46:38 +00:00
vaxerski 71ef1bde7e dispatchers: disallow togglesplit on fullscreen 2023-03-11 17:58:34 +00:00
vaxerski dc7d783d14 Initialize priority managers before server init 2023-03-05 13:37:21 +00:00
vaxerski 31cd104286 fix warns 2023-03-04 00:53:42 +00:00
vaxerski fe007fd36a xwl: don't try to get unmanaged titles 2023-03-03 19:37:25 +00:00
vaxerski 51ce3ddd67 layoutmgr: don't reenable layout on unchanged layout 2023-03-03 14:06:01 +00:00
vaxerski 66b8629964 Update the debug overlay 2023-03-03 12:15:59 +00:00
vaxerski 489ef7c51c add toggle group lock 2023-03-02 20:50:37 +00:00
vaxerski 34685a836a Move AnimationManager::tick() to an event loop 2023-03-02 17:30:50 +00:00
Vaxry 76fc12869d nuke cursorSI due to crashes 2023-03-01 22:12:26 +00:00
vaxerski 7c5c7ced91 Convert reverse iterators to ranges 2023-03-01 14:06:52 +00:00
vaxerski 0e252d2c77 Don't set surface cursors for overriden 2023-02-28 23:17:27 +00:00
vaxerski 07b98952bc Reset cursor to pointer on focus on interactable deco 2023-02-28 23:06:46 +00:00
vaxerski cd2399715d Revert small incorrect change to dragging 2023-02-28 22:53:41 +00:00
vaxerski 2187c6cf43 Allow decos to request interactivity 2023-02-28 22:32:42 +00:00
vaxerski a224d366ca Added mouseMove event 2023-02-28 21:47:00 +00:00
vaxerski 5e48e6b075 Added mouseButton event 2023-02-28 21:45:57 +00:00
vaxerski 72fc309fb1 make window reserved area less stupid 2023-02-28 21:18:13 +00:00
vaxerski 4b20d4f1ad Added decoration reserved area 2023-02-28 19:36:36 +00:00
vaxerski 4d3f2ca96b minor fixes to touch handling 2023-02-28 19:02:30 +00:00
Vaxry ac251d7a66 allow focus to grouped windows 2023-02-28 12:34:59 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski 18ed73f091 Added moveoutofgroup dispatcher 2023-02-26 13:55:35 +00:00
vaxerski 55b412e0f4 Added moveintogroup dispatcher 2023-02-26 13:52:11 +00:00
Ryan Dwyer 3bfaeacf7d
movefocus: Set new workspace as active when focusing new monitor (#1640) 2023-02-26 13:44:11 +00:00
vaxerski edd0a141de don't snap on empty hint 2023-02-25 22:19:51 +00:00
vaxerski 1089e858b4 fix changegroupactive back 2023-02-24 17:24:51 +00:00
Vaxry 60e37d727d fix cyclenext on empty focus 2023-02-23 14:27:43 +00:00
Vaxry 14a2de0d0e add mouse_left _right 2023-02-23 13:55:27 +00:00
Ching Pei Yang 513bbb8047
Resize on border icon bug (#1608)
* fix: reset border hover icon on setting empty focus

* cleanup comment

* fix: reset border hover icon on layer surface
2023-02-21 23:57:38 +00:00
Vaxry a66ef50469 added a lockgroups dispatcher 2023-02-21 12:13:41 +00:00
vaxerski df2956b411 ignore hidden in allfloat 2023-02-19 22:14:37 +00:00
Vaxry e5a4c0c986
Group/Tab Rework (#1580) 2023-02-19 21:07:32 +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 6e16627cbc Added execr 2023-02-19 13:59:47 +00:00
vaxerski 6548439f6c remove constraint recheck log 2023-02-19 12:15:33 +00:00
Ching Pei Yang c92e0c05e4
Resize on border (#1347) 2023-02-18 22:35:31 +00:00
vaxerski b944386ca5 reset focus on lock surface destroy 2023-02-18 01:09:01 +00:00
vaxerski 87a4cc7654 rethink visible flag in animmgr 2023-02-14 17:44:09 +00:00
vaxerski fdc847706a ignore damage on hidden windows in animationmanager 2023-02-14 17:14:09 +00:00
nub 98c95aa34d
focusCurrentOrLast dispatcher (#1545) 2023-02-14 00:46:58 +00:00
vaxerski 7d914cd427 force monitor focus on refocus 2023-02-12 10:38:37 +00:00
Vaxry 68f56130ba add misc:mouse_move_focuses_monitor 2023-02-09 15:29:02 +00:00
Mihai Fufezan 53945cff31
libinput: add tap_button_map (#1495) 2023-02-05 14:17:23 +00:00
vaxerski a0bc0e4998 make a null surface focus reset lastfocus 2023-02-03 17:18:22 +00:00
vaxerski d81f45e54a clear focus on failed unlock attempt 2023-02-03 17:06:07 +00:00
vaxerski fd3a1cd086 fix crash with libc++ in appid 2023-02-03 16:17:37 +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
ozwaldorf 32d56fec97
feat: border angle animations (#1469)
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-02-01 21:06:01 +00:00
vaxerski 11234529db Simulate mouse movement on unmap of popups and subsurfaces 2023-01-31 00:26:15 +00:00
vaxerski 32381fe6c4 send a 1 on unknown minimize event 2023-01-29 17:02:55 +00:00
Jan Beich c3adc9ec56
Get active VT via ioctl instead of sysfs after e90c5c6347 (#1448) 2023-01-29 12:44:38 +00:00
vaxerski 328e034472 fix clang error 2023-01-28 18:10:57 +00:00
Vaxry 06b17db227 don't set cursor when timeout reached 2023-01-26 10:39:06 +00:00
vaxerski fc89e70a1f better ls noanim handling 2023-01-25 15:38:21 +00:00
vaxerski 9813ba2f56 Add hyprctl animations 2023-01-25 15:16:28 +00:00
Vaxry cb98242ea7 remove old comment and fixup lsl var name 2023-01-22 17:03:25 +01:00
Cyril Levis fcbfd19393
feat: add focus to urgent or last window (#1402)
* feat: add focus to urgent or last window

* Rename dispatcher

Co-authored-by: Maxim Baz <git@maximbaz.com>
2023-01-21 11:18:55 +01:00
Vaxry 5814d9b2a0 make hyprerror follow fadein anim 2023-01-20 20:48:07 +01:00
Vaxry 60b880d931
wp-fractional-scaling-v1 impl (#1373)
* Initial fractional scaling impl

* apply UV after geom calcs

* fix scaling -> scale

* meson: add fractional scale proto

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
Vaxry 5c83976977 added misc:hide_cursor_on_touch 2023-01-17 11:47:39 +01:00
Vaxry 2ec7e241cd send cursor updates on touch move 2023-01-17 11:34:57 +01:00
devil-may-c0de 6a56d1e4d0
change placement of isSwitchingToPrevious (#1388)
fixes #1218, but doesn't break functionality of allow_workspace_cycles.
2023-01-16 21:04:10 +01:00
ppenguin 040e99fd17
Add tablets calibration matrix for dynamic rotation with 2-in1/tablet PC usage (#1319) 2023-01-15 20:38:58 +01:00
Vaxry 9c77415cda damage monitor on moveactive 2023-01-13 12:31:24 +01:00
Vaxry 11afb66010 release mouse buttons on map from LS 2023-01-11 19:15:18 +01:00
Vaxry 4ec034ad49 send enter for IME popups 2023-01-10 19:21:59 +01:00
Raffaele Mancuso c0c7c12bb9
Pin dispatcher for a specific window (#1340)
Closes #1339
2023-01-08 18:37:24 +01:00
riChar e5dcbf73d8
Add "on" and "off" for the bind of switch (#1342) 2023-01-08 16:35:24 +01:00
Cyril Levis 3173fbdc4a
feat: dispatcher, add workspace renaming (#1336)
* feat: dispatcher, add workspace renaming

Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-01-08 14:19:18 +01:00
Vaxry 98ce867104 added hyprctl binds 2023-01-06 14:32:25 +01:00
Vaxry 461fab0f27 minor fixes for fakefullscreen 2023-01-06 13:29:49 +01:00
Vaxry 96198dae55 Normalize color storage
Colors are now normalized to 0 - 1 values instead of 0 - 255

causes calculations to be simpler and generally cleans up the codebase.
2023-01-05 19:25:45 +01:00
Vaxry 3d1b255199 update constraint on constraint state region commit 2023-01-03 13:06:18 +01:00
Vaxry 9ba93f4b0a fix double remove in destroyKeyboard 2023-01-02 12:08:00 +01:00
Vaxry cb4f748226 added fakefullscreen 2023-01-01 16:54:13 +01:00
Vaxry 5d095bb9e1 use curves for special dim anim 2022-12-29 12:30:43 +01:00
Vaxry 3e2200ed90 get window under cursor in kill 2022-12-29 11:52:46 +01:00
Vaxry 17b4a2786d clarify layout enum 2022-12-26 12:05:34 +01:00
Vaxry cd08fa22fd added workspace_swipe_numbered 2022-12-25 15:42:11 +00:00
TheOnlyMrCat 8c094b0eec
Make libinput tap-and-drag configurable (#1267) 2022-12-22 12:05:26 +00:00
vaxerski 41cdfb7420 allow binding tablets to outputs 2022-12-21 15:11:39 +00:00
vaxerski 4fd90144d1 touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
vaxerski 3e2785b970 fix restack in xwayland stubs 2022-12-19 23:43:50 +00:00
vaxerski 668cc93962 refocus on special move 2022-12-19 14:49:19 +00:00
Julian Schuler 2daabfa0e9
Add 'exact' option for 'splitratio' (#1245)
* Simplify getPlusMinusKeywordResult()

* Add an 'exact' option for 'splitratio'
2022-12-17 22:37:44 +00:00
Julian Schuler a3b37b0191
Fix focus not changing on (empty) workspace change (#1243) 2022-12-17 17:28:43 +00:00
vaxerski 99ca1ad353 remember pos and size across fullscreen moves 2022-12-17 12:15:56 +00:00
vaxerski f72c237d85 add disabling keyboards 2022-12-16 17:20:51 +00:00
Vaxry 98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski 95a042691a Revert "Send initial focus to X11 type dialog"
This reverts commit efc686423a.

Issues with select dialogs.
2022-12-15 16:47:14 +00:00
vaxerski efc686423a Send initial focus to X11 type dialog 2022-12-15 12:38:47 +00:00
vaxerski b89a07596e prevent moving to invalid workspaces 2022-12-14 18:42:48 +00:00
vaxerski c3f1dc3f52 fix minor issues with move focus and follow mouse 0 2022-12-10 15:15:40 +00:00
vaxerski 62f4503f07 handle constraint cursor hints better 2022-12-10 14:43:46 +00:00
vaxerski ff12a41c40 minor focus fixes with LS-es and moving windows 2022-12-09 14:03:37 +00:00
vaxerski e1d7a13333 unset fullscreen in onWindowRemoved 2022-12-07 18:57:02 +00:00
vaxerski 73b3bbe49b added nomaxsize rule 2022-12-07 16:08:44 +00:00
vaxerski 993c382e74 minor fixes to special workspace behavior 2022-12-06 20:31:44 +00:00
vaxerski 3c9a7811b8 fix up moving to special workspace 2022-12-06 20:20:37 +00:00
Vaxry 66fb083003
Implement window sharing with the hl toplevel export proto (#1179)
* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +00:00
vaxerski 20b91f58f8 remove idiotic guard in processMouseDownNormal 2022-12-05 14:30:04 +00:00
vaxerski ac0e675f3b better capability handling 2022-12-05 14:28:27 +00:00
vaxerski 409ac12f23 avoid duplicate device names 2022-12-03 20:36:52 +00:00
vaxerski 6aa26582f6 added hyprctl switchxkblayout 2022-12-03 16:22:02 +00:00
vaxerski 0a302901d2 Added handling more special workspaces 2022-11-27 22:42:22 +00:00
Vaxry 0e6e8461eb reset m_bEmptyFocusCursorSet on workspace switch 2022-11-25 11:34:52 +00:00
vaxerski 379597e78f remove redundant strval_empty checks 2022-11-24 17:11:21 +00:00
Vaxry dcb6a0425c override force opaque rule on keybind 2022-11-23 09:55:52 +00:00
CactiChameleon9 f00b2fd509
Fix swiping on the first workspace going to the last (#1067) 2022-11-21 23:30:26 +00:00
vaxerski eb86e7967f add scroll_button libinput opt 2022-11-21 23:26:18 +00:00
vaxerski be03a6186c fix invisible windows on moving fullscreen out 2022-11-20 18:50:27 +00:00
vaxerski 254c3d166f don't send motion events to lock constraints 2022-11-20 18:38:53 +00:00
vaxerski 137cf9e582 improve constraint handling 2022-11-20 17:35:13 +00:00
vaxerski e427d9f622 unify setting of the active monitor 2022-11-19 16:41:41 +00:00
vaxerski 5d39223239 fix events in changeworkspace with bound ws-es 2022-11-17 21:58:22 +00:00
Vaxry d5eafe1926 set cursor to hand1 when moving a window 2022-11-15 10:39:05 +00:00
Jef dbb6732743
apply some rules dynamically when state of window changes (#1020)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:21:26 +00:00
Jef 4034aa2c60
possible crash when current workspace does not exist (#1023)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:18:04 +00:00
Vaxry fcb5037a1d guard lastwindow in circlenext 2022-11-14 12:12:13 +00:00
vaxerski 478fa7cafe Revert "Set child stdout and stderr to /dev/null (#1000)"
This reverts commit 1e5cab1ee7.

Breaks a bunch of stuff, e.g. Waybar.
2022-11-13 19:53:27 +00:00
Thomas Voss 1e5cab1ee7
Set child stdout and stderr to /dev/null (#1000)
Some scripts or utilities check to see if stdout or stderr are connected
to a TTY or not to determine certain behaviors (for example, you might
want to prompt a user for input with fzf(1) if in a terminal but tofi(1)
or wofi(1) when spawned from your WM).  Since hyprland never closes
these output streams for spawned processes, they end up just spewing
their output onto the TTY while giving the user no real way to have a
script detect if it's being run from the shell or WM.

Instead of just closing stdout and stderr though, we close them and then
proceed to reopen them but connect them to /dev/null.  This allows
scripts and processes to not fail when attempting to write, but for that
writing to simply have no effect.
2022-11-13 11:58:20 +00:00
Leftas 34a7f17956
Add keyboard led update after keys/mod update 2022-11-12 13:12:37 +02:00
vaxerski dd11434e90 notify idle on touch down 2022-11-11 23:41:04 +00:00
Vaxry 153c99217d use spawn in config exec 2022-11-10 13:50:16 +00:00
Vaxry 851df11eb5 Added exec rules 2022-11-10 13:39:23 +00:00
vaxerski 5f2c741f49 remove spammy ime logs 2022-11-10 12:24:41 +00:00
vaxerski 1cf829c889 minor loose focus fixes 2022-11-08 20:28:41 +00:00
Vaxry 17992b633d minor fixes for follow_mouse 3 2022-11-08 14:48:17 +00:00
vaxerski aefc34b405 Minor fixes for virtual input devices 2022-11-07 22:22:13 +00:00
vaxerski e3a3837164 fix up formatting 2022-11-07 20:31:56 +00:00
abbadanor 1a55fb4170
Dispatcher to center floating window (#961)
Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2022-11-07 12:16:30 +00:00
vaxerski 57817f7252 Added resize transitions 2022-11-06 17:52:09 +00:00
vaxerski 976b44443a ignore constraints on exclusiveClient create 2022-11-05 18:34:26 +00:00
vaxerski 70aece8522 constraint focus simplifications 2022-11-04 18:09:40 +00:00
vaxerski 206360177f Multiple animation optimization and xwayland wine fixes 2022-11-04 15:56:31 +00:00
vaxerski e796157672 fix passing input to constrained windows without relative 2022-11-04 11:09:34 +00:00
vaxerski b51222c004 fix ordering in mouse connect 2022-11-04 10:48:42 +00:00
vaxerski 653b9ed0e4 Fix missing focusedmon event on focusmonitor dispatcher 2022-11-03 19:34:26 +00:00
Vaxry d0e47d9fe0 added workspace_swipe_forever 2022-11-03 13:35:34 +00:00
vaxerski 6ddfae0a07 remove ensureFDsValid, legacy 2022-11-02 21:28:08 +00:00
Vaxry 603a90886f fix swipe on 2 detached workspaces 2022-11-02 10:01:13 +00:00
vaxerski a69fd21a1a Add an idleinhibit windowrule 2022-10-31 12:26:07 +00:00
vaxerski 9f1d7f7fc7 properly scan for subsurfaces in fullscreen input refocus 2022-10-30 12:28:37 +00:00
vaxerski 644c64d79d lower IME errors to WARNs 2022-10-28 21:47:08 +01:00
vaxerski 9e227a52c0 allow cyclenext on null focus 2022-10-28 21:31:39 +01:00
vaxerski f7174acc48 minor fixes for xwayland refocus 2022-10-28 19:18:10 +01:00
vaxerski c2cd718e89 ignore pointer constraints in touch 2022-10-27 23:44:23 +01:00
Vaxry 28c81fc71e add disabling pointer devices 2022-10-27 12:58:10 +01:00
Vaxry d5a0610ea2
No xwayland overhaul (#920) 2022-10-27 11:26:35 +01:00
Vaxry ba9a8a9ded unify LS unmap focus 2022-10-25 14:19:24 +01:00
vaxerski 69f1d7b360 Rework workspace rules 2022-10-24 18:36:31 +01:00
vaxerski 1d0d350fc3 fix silent + size windowrules 2022-10-24 12:03:15 +01:00
vaxerski c6a3092b45 more safety around shutting down and mouse movements 2022-10-24 00:14:42 +01:00
vaxerski 0d7d7a970d fix crash in event manager on hangup 2022-10-22 16:15:52 +01:00
vaxerski 6df6aea1ba fix swipe with fullscreen maximized 2022-10-20 20:37:37 +01:00
Vaxry dada872981 minor swipe on new fixes 2022-10-20 17:52:17 +01:00
Vaxry 1eec5161bd minor fix for swipes from empty workspaces 2022-10-20 15:47:35 +01:00
Vaxry 53c3644c29 fix minor anim issue with swipe new 2022-10-20 15:02:46 +01:00
Vaxry 6d66dde208 added swipe create new 2022-10-20 14:54:32 +01:00
vaxerski 286cb90c48 ignore OR windows' size hints 2022-10-17 14:26:18 +01:00
vaxerski da4cfb9c32 use size hints when available in xwayland default geom 2022-10-17 11:18:45 +01:00
vaxerski edeb759bb1 add loose focus behavior 2022-10-15 14:13:21 +01:00
vaxerski 34cd8b125a rework focus system to be more safe and faster 2022-10-14 20:46:32 +01:00
Vaxry a7bdfc06ca added bringactivetotop dispatcher 2022-10-14 14:22:31 +01:00
Vaxry 724fa4a7d4 add touch binding to output 2022-10-14 12:38:44 +01:00
Vaxry cee0645fd1
Merge pull request #813 from histausse/touch_dev_rotation
Add input:touchdevice:transform config
2022-10-14 12:26:31 +01:00
Vaxry df9409b8a2 rename transform in DC to touch_transform 2022-10-14 12:23:11 +01:00
vaxerski 670d6ce8f4 fix windowsOut disabled with fadeOut enabled 2022-10-13 21:32:28 +01:00
Vaxry eb3c132fc5 set workspace name in previous 2022-10-13 15:17:16 +01:00
Vaxry 7ecc41db9c unsetenv on no XWayland 2022-10-11 12:00:06 +01:00
Histausse 6287f2b71b
use static for transformation matrices 2022-10-10 12:52:12 +02:00
Histausse 406b2fe6dc
Add additionnal matrices and rename config var 2022-10-09 00:45:34 +02:00
Histausse 32ae0c51f0
Add input:touchdevice:td_rotation config
Add support for touch device roation. The rotation is
set globally with `input:touchdevice:td_rotation config` and by
device with `td_rotation` in a device block.
2022-10-08 15:25:46 +02:00
Vaxry a19b152e4a make swipe respect slidevert 2022-10-07 16:52:53 +01:00
Vaxry c4487534d2
Merge pull request #801 from fufexan/scrollfactor
Add input:touchpad:scroll_factor
2022-10-06 21:26:11 +01:00
Mihai Fufezan e4820d1c71
Add input:touchpad:scroll_factor 2022-10-06 22:47:05 +03:00
vaxerski b4a8efc1a7 fix naming when workspace back and forth 2022-10-06 20:40:58 +01:00
vaxerski 9480c0fb90 fix workspace previous with multi-mon ws moves 2022-10-06 20:18:49 +01:00
vaxerski f901c60da5 return true on vt switch keysyms to avoid printing stuff 2022-10-06 19:31:32 +01:00
vaxerski 922e978f56 reset sigmask on fork 2022-10-06 19:02:03 +01:00
Felix Dick 552c4b7361 Fix compiler warnings. 2022-10-06 13:42:52 +02:00
Vaxry d7ef19e2e7 map touch to the correct output 2022-10-06 09:26:05 +01:00
Vaxry 190ddb5697 added a noanim rule 2022-10-06 09:16:40 +01:00
Vaxry 32e8eda40a
Merge pull request #787 from fufexan/libinput
Add accel profile and scroll method
2022-10-05 21:58:40 +01:00
Mihai Fufezan 477ad2dd82
Add accel profile and scroll method 2022-10-05 23:51:08 +03:00
vaxerski e90c5c6347 fix tty switch freeze 2022-10-05 21:41:27 +01:00
vaxerski 11ce468996 add dpms status info in hyprctl 2022-10-05 18:14:11 +01:00
Vaxry 0e4a894edb add dpms per output 2022-10-05 10:31:47 +01:00
Vaxry 71e2562a41 add desc: to monitor rules 2022-10-05 10:22:33 +01:00
Felix Dick 0d7f6eac9e Merge branch 'make_TTY_unsigned' into fix_left_handed 2022-10-05 04:51:48 +02:00
Felix Dick 6d46ed4011 Fix getDeviceInt string arg "input:left_handed" 2022-10-05 04:25:26 +02:00
Felix Dick f825b87c2a Fix compiler warnig comparing signed and unsigned integers. 2022-10-05 02:42:51 +02:00
vaxerski 60c414ccad add left_handed config for input 2022-10-04 21:46:41 +01:00
vaxerski 0d702b556d Add switch device handling and binds 2022-10-04 20:07:21 +01:00
vaxerski 9bbae5b8e2 ignore VT switches to current vt 2022-10-04 16:53:09 +01:00
vaxerski 719a5b4f0b use vectorToWindowIdeal in mouse binds 2022-10-04 16:08:55 +01:00
lylac f9325b1655
focusedmon event check change
Compare PLASTWINDOW & PWINDOWTOCHANGETO m_iMonitorID's instead of PWINDOWTOCHANGETO->m_iMonitorID & g_pCompositor->m_pLastMonitor->ID
2022-10-04 18:19:14 +13:00
vaxerski 49ab3890aa remove polling from socket2, fully event based 2022-10-03 20:47:15 +01:00
vaxerski 590fbf808b send a focusedmon event on focus change mon 2022-10-01 10:38:53 +01:00
vaxerski bdd9680adf fix ipc event missing on silent movetoworkspace 2022-09-29 19:33:43 +01:00
vaxerski 9f9129e536 focusable checks in nextWindow calls 2022-09-29 16:53:31 +01:00
vaxerski 458ba3237b use goalv in movetoworkspace 2022-09-28 15:12:15 +01:00
Felix Dick bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
Vaxry fad5fc587d guard kb settings in xkb translation state 2022-09-24 21:07:18 +01:00
Vaxry e5d143b238 support more wlr_cursor events 2022-09-22 21:14:02 +01:00
Vaxry 37f2e1ddbe don't recalc pseudo on fullscreen 2022-09-22 20:57:09 +01:00
Vaxry c08218301b disallow pinning fullscreen 2022-09-22 16:48:40 +01:00
Vaxry 79c645f8cd handle touch devices internally as objects 2022-09-21 14:39:34 +01:00
Vaxry 2b99dbb446 better cycling in fullscreen with pinned 2022-09-21 14:16:13 +01:00
Vaxry 8b11a2e1b1 minor mouse bind handling fixes 2022-09-20 22:23:02 +01:00
Vaxry b4bcba935d disallow move/resize dispatchers on fullscreen windows 2022-09-20 19:58:08 +01:00
Vaxry cde624ec6a fix moving between fullscreen workspaces 2022-09-20 10:16:58 +01:00
Vaxry b82621c4ec fix mouse binds being stuck 2022-09-20 10:02:20 +01:00
Vaxry c24b45671a mouse binds overhaul 2022-09-19 19:04:48 +01:00
Vaxry 696253b348 fix special workspace dispatcher logic 2022-09-19 16:01:42 +01:00
Vaxry 7c809a3059 fullscreen animation en-nice-ment 2022-09-19 10:23:13 +01:00
Vaxry 4070e1a148 fix wonky focus on movetoworkspace 2022-09-18 17:26:12 +01:00
Vaxry 29626989e7 fix focus follows mouse 0 event sending on wrong window 2022-09-18 12:35:05 +01:00
Vaxry a72a39ebd5 minor swipe fixes 2022-09-17 15:05:12 +01:00
Vaxry 151e013241 fix refocus on same workspace 2022-09-17 12:10:06 +01:00
vaxerski da10022d84 fix an unholy memory safety issue 2022-09-13 20:27:07 +02:00
vaxerski 0062281092 added wsbind 2022-09-12 21:05:52 +02:00
vaxerski 82aa78916d hyprctl-nopoll 2022-09-10 21:21:28 +02:00
vaxerski 8808d40008 added misc:disable_autoreload 2022-09-10 17:28:41 +02:00