Vaxry
ef23ef60c5
Workspace/core: Refactor workspace storage ( #5380 )
...
* refactor workspaces to use ptrs
* clang-format
2024-04-02 20:32:39 +01:00
fc0a7af7ba
IME: fix blurry ime on scaled
...
ref #5387
2024-04-02 16:10:55 +01:00
Sungyoon Cho
04a35891a1
IME: fix incorrect popup damage ( #5383 )
2024-04-02 12:22:41 +01:00
Sungyoon Cho
db1506130b
IME: Fix ime popup coordinates and artifacts ( #5373 )
...
* ime: fix incorrect popup coordinate
* ime: fix popup artifacts
2024-04-01 16:37:59 +01:00
108163f1e5
animations: simplify window loop
2024-04-01 16:22:24 +01:00
thejch
7513c0cea5
renderer: Fix layer and window damage sometimes missing 1 frame ( #5370 )
...
* fix the layer and window damage missing 1 frame sometimes
* remove extra loop
2024-04-01 16:21:45 +01:00
416b3d6167
socket2: sanitize data for newlines
2024-04-01 03:54:11 +01:00
Sungyoon Cho
ecc1f22e05
textinput: fix typo ( #5365 )
2024-04-01 00:41:00 +01:00
4156b55cf9
textinput: send deactivate on disable ti
...
ref #5288
2024-03-31 21:30:36 +01:00
thejch
16a9c16d9f
renderer/animations: Fix various inaccurate damage tracking issues and offsets ( #5297 )
2024-03-31 02:14:26 +01:00
Zach DeCook
1cc9a44318
input: Fix incorrect keyboard focus taken when no window was present ( #5337 )
...
A non-keyboard layer never needs keyboard focus
2024-03-31 00:50:25 +00:00
77f26997fd
IME: don't assert on lock mismatch, just fix it
2024-03-30 17:01:02 +00:00
thejch
906e498144
dispatchers: open special ws on active monitor instead of mouse monitor ( #5330 )
2024-03-30 16:58:18 +00:00
3d1bf1405e
keybinds: add binds:disable_keybind_grabbing
...
fixes #5273
2024-03-29 18:57:16 +00:00
2571875453
format: fix format
2024-03-28 02:28:22 +00:00
Sungyoon Cho
ae52b7f468
textinput: fix ime when opening multiple windows ( #5281 )
2024-03-26 15:16:09 +00:00
ae17e900e7
layer-shell: render popups above everything
2024-03-25 16:20:30 +00:00
dmayle
6b28bf563e
keybinds: Fix exit trigger by moving it to monitor.frame ( #5240 )
2024-03-25 01:46:59 +00:00
89543e8e3c
cursormgr: don't set x theme in changeTheme
2024-03-24 20:48:56 +00:00
294ff8609f
cursormgr: log theme loading failures
2024-03-24 19:39:56 +00:00
1e82d5a04d
ime: fix build without pch
2024-03-24 17:19:35 +00:00
5cc4bf699c
IME: Refactor and fixup popups
2024-03-24 16:08:25 +00:00
acf15e5579
text-input: reset lock counter on surface destroy
...
fixes #5231
2024-03-24 15:00:00 +00:00
86dc46ffea
animationmgr: use realpos and size for border damage
...
fixes #5239
2024-03-24 03:09:46 +00:00
09e1128da2
cursormgr: initialize size to 0
...
Because the ctor expects that. Ref #5237
2024-03-24 02:21:36 +00:00
thejch
c7fbea3368
animations: Fix animation issue in focusworkspaceoncurrentmonitor ( #5202 )
...
* dont render when workspace offset
* add guard
* can remove useless code now if workspace offset is not taken into account
* clang-format
* when special workspace is moved, set anim to move
* add offset back
* make it a configurable option because some folks apparently can't align their monitors correctly and may not want this feature😔
* remove config option
2024-03-23 22:14:50 +00:00
Sungyoon Cho
2d5fda4810
input: fix crash with text-input-v1 ( #5234 )
2024-03-23 21:12:27 +00:00
Khalid
059e85ae69
input: Add options to set tablet's active area ( #5199 )
...
* Add options to set tablet's active area
* Set tablet's active area in `setTabletConfigs`
* Fix formatting for new variables in ConfigManager
* Report tablet's physical size with hyprctl
2024-03-23 20:31:03 +00:00
9f2ed02f35
IME/TI: Fixes and refactoring
...
Fixes #5189
2024-03-22 23:08:52 +00:00
8c88689faf
IME: guard unfocused TIs in leave
2024-03-22 18:58:28 +00:00
d2b42e29c6
IME: fix crashes with destroyed text-inputs
...
ref #5189
2024-03-22 18:45:28 +00:00
Horror Proton
bfc95e992d
swipe: fix nullptr in onSwipeUpdate
( #5191 )
2024-03-20 18:13:31 +00:00
Khalid
9ddf1b105e
tablet: Add left_handed option for tablets ( #5178 )
...
* Add left_handed option for tablets
* Update left_handed tablet option's fallback string
2024-03-20 04:00:43 +00:00
8593c45be3
refactor: move window.hpp to desktop/
2024-03-20 01:44:51 +00:00
05cd6d3df1
config/workspace: added workspace selectors
2024-03-19 20:56:20 +00:00
joshua
5c1097cbc1
IME: Improve handling of text-input and ime-relay ( #5147 )
...
* input: Handling multiple surfaces for the text-input-v1 protocol implementation and imporve InputMethodRelay logic
fixes #2708
* clang-format
* minor style nits
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-03-19 15:54:33 +00:00
7a31c954e5
tablet: minor focus fixes
...
ref #3004
2024-03-19 02:45:11 +00:00
4b74123649
socket2: add pin event
...
fixes #4778
2024-03-18 18:11:20 +00:00
c34ad12183
cursormgr: scale hotspot with buffer
2024-03-17 19:00:21 +00:00
Zach DeCook
3c21f5e07b
swipe: Touchscreen workspace swipe ( #4489 )
...
* Workspace Swipe: Refactor update and end functions
* Touch: Implement workspace swipe better
ignoring additional fingers and new touches
allow gaps-right and gaps-left to be different
2024-03-17 15:43:59 +00:00
djvs
3ed3b34c4a
keybinds: add Dispatchers for "force float" and "force tiling" (non-toggle) ( #5137 )
...
---------
Co-authored-by: djvs <djvs@users.noreply.github.com>
2024-03-17 15:41:43 +00:00
thejch
c942ce6dce
renderer: add better multi monitor animations ( #5126 )
2024-03-16 14:49:34 +00:00
drendog
72d78eff95
sessionlock: refocus after destroy focused surface ( #5117 )
...
* fix: refocus after destroy focused surface
* refactor: minor refactor on refocus loop condition
* refactor: minor refactor on condition
* style: format code
2024-03-15 18:44:17 +00:00
Maximilian Seidler
a958884b52
lock: fix red screen issues with multiple monitors ( #5100 )
...
* lock: use uint64_t for iMonitorID
* lock: move activateLock to onNewSessionLock
* lock: add red screen fade
* lock: damage when fading the red screen and delay for screencopy
* lock: remove redundant scheduleFrameForMonitor
2024-03-15 16:17:13 +00:00
thejch
7ea555da7f
master: Fix master layout window focus and scroll ( #5074 )
...
* fix master switch window scrolling
* fix some more dispatchers and remove some duplicate code
* refactor and remove duplicate code
* fix focusmonitor: https://github.com/hyprwm/Hyprland/issues/5006#issuecomment-1986977255
* change check
2024-03-13 02:09:20 +00:00
Ikko Eltociear Ashimine
f1ec0ba467
keybinds: Fix typo ( #5081 )
...
minor fix
2024-03-12 15:26:42 +00:00
a065b481f3
cursormgr: use XCURSOR_THEME for x themes
2024-03-11 20:33:26 +00:00
Lucas Reis
0fc9d45e4b
core: Fix typo and check grandchild PID in spawn() ( #5070 )
2024-03-11 19:31:39 +00:00
739c5bc98c
cursormgr: fix invalid access to hyprcursor in xwayland init
...
fixes #5048
2024-03-09 21:54:33 +00:00
26cd1bf949
input: fix minor default cursor reset conditions
2024-03-09 18:12:55 +00:00
18a35b1406
cursormgr: fix memory leak with cursor buffers
2024-03-09 18:04:33 +00:00
7e41e5146d
cursormgr: add fallbacks for unknown cursors
2024-03-09 18:00:37 +00:00
Vaxry
c3882bb832
internal: Support libhyprcursor ( #5009 )
...
woo
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-03-09 16:52:59 +00:00
3f58e77e75
deps: update wlroots
2024-03-09 16:35:35 +00:00
300d77edd9
keybinds: track submap at press for keypresses
...
fixes #5037
2024-03-09 16:08:07 +00:00
024d4ddc74
input: scale local coords in constraints
...
fixes #5029
2024-03-08 22:51:28 +00:00
Grant Ammons
0ee69058c4
config: Add input:scroll_factor configuration ( #4980 )
...
* Allow for input:scroll_factor configuration
This PR will allow for a `scroll_factor` configuration within an `input`
block. The purpose is to control the scroll factor of external mice.
Closes #2574 .
* clang-format
2024-03-05 19:18:53 +00:00
thejch
9c48c322d4
keybinds: Allow fullscreen/maximize in special workspace ( #4921 )
...
* allow fullscreen/maximize in special workspace
* remove duplicate code
* hide top layer
* fix special fullscreen deco
* edit
* fix fade top layer when toggle special
* remove double render
2024-03-04 23:29:45 +00:00
7a76ab01d1
input: send motion to confined cursors
2024-03-04 23:07:16 +00:00
Tom Benham
07c7235b72
keybinds: Better handling of workspace_back_and_forth ( #4952 )
...
* Removed redundant boolean condition
* Better handling of workspace_back_and_forth when using focusworkspaceoncurrentmonitor dispatcher
* Fixed config acquisition
---------
Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
2024-03-04 17:05:20 +00:00
063708df26
config: improve config value infrastructure
2024-03-03 18:41:38 +00:00
Epilepsy Gatherings
acf0b536a6
xwayland: disable initial focus for xwayland dialogs ( #4936 )
2024-03-03 00:18:53 +00:00
Tobias Zimmermann
964f1a438d
keybinds: Add the 'catchall' keyword that matches all keys ( #4930 )
...
* Add the 'catchall' keyword that matches all keys
This keyword can be used to define arbitrary keybinds. The only special
behavior that it exhibits is that it matches every key, including
modifier keys. Any flags still apply normally.
This commit also fixes an issue that keys bound via the code:KEYCODE
format were not unbound correctly.
* Disallow catchall keybinds outside of submaps
A catchall keybind outside a submap would prevent essentially all key
events from going through to applications and would be difficult to
remove again.
2024-03-03 00:17:02 +00:00
Vaxry
d72ea5f2a7
input: Rewritten pointer constraints ( #4889 )
...
* rewritten constraints
* send pointer enter on activate if not pointer focus
* minor cleanup
* simulate movement on commit
* don't ignore oneshot prop
* various fixes
* dont send motion on confined
* update pos hint on region change
2024-03-02 21:04:55 +00:00
8811f4b69a
drag: check min size for reisze drags
...
fixes #4920
2024-03-02 15:25:32 +00:00
7ce781e87c
keybinds: better follow xkb translation state
...
fixes #4908
2024-03-02 01:46:55 +00:00
GartoxFR
b2c3440477
animations: Refactor AnimatedVariable ( #4911 )
...
* animation: Refactor AnimatedVariable
This commit decomposes the AnimatedVariable class into a base class
with the common attribute to all variable types and a templated derived
type containing strongly typed info on the type being animated.
Access to the typed version is perfomed using the visitor pattern. A
utility is provided to build a visitor on the fly using lambdas.
Adding a new type to be animated should just be a matter of adding the
typed in the list defined by the ANIMABLE_TYPES macro
The size of the commit is justified by the API change in the
AnimatedVariable class. No more vec(), fl() or col() method but a unified
value() method.
* animation: Remove visitor pattern
* animation: Fix coding style
* animation: Fix coding style
2024-03-02 00:35:17 +00:00
Brett Alcox
6e3a494d1d
core: add additional headers for Popup.cpp and InputMethodRelay.hpp ( #4909 )
2024-03-01 20:07:36 +00:00
1698d336f2
core: fix crashes on access of deleted wlr_ surface
...
ref fixes #4893
2024-02-29 17:23:44 +00:00
4bff762d97
xwaylandmgr: don't read xwayland surface from unmapped xwayland
2024-02-29 01:21:23 +00:00
1e7eb3a5a5
xdg: check for floating conditions before sending tiled size hint
...
ref #4871
2024-02-28 23:14:50 +00:00
4bc669f933
layers: add fully featured animations
...
Adds configs and layerrules to handle them
alas fixes #981
I have cooked
2024-02-28 15:00:40 +00:00
JManch
c198d744b7
keybinds: unconstrain mouse on focusmonitor and cyclenext ( #4863 )
2024-02-28 00:52:45 +00:00
Tobias Zimmermann
489ac40abd
config: Add option to resolve keybinds by sym instead of code ( #4851 )
...
This commit adds the new configuration option 'resolve_binds_by_sym'
which can be set globally or per-device. It is off by default, which
preserves the current behavior.
This setting only affects the behavior of keybinds that are defined via
key symbols, not those defined via keycode. Binds defined by symbols
currently activate if the keycode pressed would generate the specified
symbol on the first layout specified in the input section.
If enabled, keys pressed on the relevant device will instead match
keybinds by the symbols they produce with their current layout.
Closes #1881 .
2024-02-27 23:21:22 +00:00
e3373669e5
wayland: implement keyboard_shortcuts_inhibit_v1
...
fixes #4568
2024-02-27 23:15:24 +00:00
Philip Damianik
60f81b8a23
input: Map touch devices and tablets bound to an output ( #3544 )
...
* Map bound touch devices and tablets to an output
* Add "[[Auto]]" default option for auto detecting outputs for touch inputs
* Bind new monitors to configured touch and tablet devices
* Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor
* Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
2024-02-27 22:11:59 +00:00
ffd7217243
IME: don't set modifiers on grab destroy
2024-02-27 12:23:45 +00:00
f7a3453487
socket2: move to the wayland event loop
2024-02-26 17:20:51 +00:00
Bernd Müller
1742605eb8
keybinds: fix movewindoworgroup onto empy workspace on next monitor ( #4486 )
...
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor
* reset flake.nix
* add: changes mentioned in review of #4486
2024-02-26 14:05:24 +00:00
9815402074
keybinds: focus floating on top of fs
2024-02-26 00:15:59 +00:00
shezdy
a14f6b570f
keybinds: fix focuswindow for fullscreen ( #4840 )
...
* focuswindow fix
* fix format
---------
Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
2024-02-26 00:05:20 +00:00
7fbe016c15
animationmgr: expand layer box for damage
2024-02-22 15:34:18 +00:00
cd73dda16e
sessionLock: send preferred fractional scale
2024-02-20 16:13:01 +00:00
rszyma
69a4f08dbe
keybinds: fix keys without keysyms triggering random binds ( #4739 )
2024-02-19 00:02:03 +00:00
Vaxry
13f6f0b923
Migrate the config to hyprlang ( #4656 )
...
* Migrate to hyprlang
* pop up errors
* fix swapped args
* Meson & Nix: build with hyprlang
* CI: add hyprlang to setup action
* add infra for plugin stuff
* fix hyprctl getoption
* fix hyprctl getoption with json
* format
* fix post parse logic
* fix autogen config
* oops missed exec-once
* fmt
* fix ws rules
* require 0.3.0 for hyprlang
* nix: flaek
* minor type fixes
* fix cfg usages in swipe
* use cvarlist for ws rules
* fix throw in addPluginConfigVar
* Nix: update hyprlang
* minor fixes
* fix disableLogs
* mention hyprlang docs
* bump hyprlang dep in cmake
* Meson: bump min hyprlang version
Nix: update hyprlang
* minor fix
* Nix: update meson patch
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-02-18 15:00:34 +00:00
Federico Maria Morrone
5261a8df81
keybinds: Add an option to pass a window argument to moveoutofgroup ( #4724 )
...
* keybinds: allow passing window to moveoutofgroup
* keybinds: cleaner handling of certain args
2024-02-17 22:44:22 +00:00
epicgamer256705
289d952a6e
dispatchers: add Fullscreen without sending fullscreen to application ( #4720 )
...
* Add extra option to fullscreen
* Remove useless branch
fixes #1817
---------
Co-authored-by: matteo bob <matteo4375@gmail.com>
2024-02-17 16:21:06 +00:00
294e51a857
input: refocus on completed drags
2024-02-17 16:02:17 +00:00
e5ac970d6e
input: fix follow_focus
2024-02-15 01:51:01 +00:00
770956b092
input: don't schedule frame on cursor move on hw cursors
...
spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
ref #3747 #3490
2024-02-15 01:26:48 +00:00
3cca36e773
input: avoid rampant refocuses on popups
2024-02-15 01:24:40 +00:00
b7ab15dc80
input: log cursor image requests
2024-02-15 00:59:04 +00:00
Niklas Haas
d5950f7719
dwindle: add swapsplit dispatcher ( #4702 )
...
This is distinct from `swapwindow` in that it allows swapping the entire
tree node with its neighbour.
Fixes: https://github.com/hyprwm/Hyprland/issues/4701
2024-02-14 17:58:28 +00:00
890307532c
input: avoid reassigns of unchanged surfaces in processMouseRequest
2024-02-12 20:02:00 +00:00
e4bb5fa4af
input: focus monitor on mouse down
...
fixes #4649
2024-02-10 17:39:53 +00:00
658f718fa3
input: partially revert #4514
...
issues with refocus in #4649
2024-02-10 17:05:38 +00:00
Sefa Eyeoglu
334a0f03ee
keybinds: Fix focus not moving along when moving workspace ( #4660 )
...
---------
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-02-09 23:47:00 +00:00
Epilepsy Gatherings
8a6e428d32
keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead ( #4625 )
2024-02-05 22:36:22 +00:00
1fd82e37a7
xwaylandmgr: proper clamping for setWindowSize
...
closes #4622 fixes #4621
2024-02-05 20:56:20 +00:00
f9202f791e
xwaylandmgr: clamp size in setWindowSize
...
fixes #4586
2024-02-05 14:08:08 +00:00
939696f97e
hyprctl: move to a class and unify commands
2024-02-05 01:56:49 +00:00
MightyPlaza
cbadf3e3f3
input: focus window on mouse down on decoration ( #4514 )
...
Also unifies vectorToWindow funcs
2024-02-04 15:40:20 +00:00
4644de2269
keybinds: fix ignoremods with release
2024-02-02 01:09:57 +00:00
bfcc2adbda
monitor: wrap usage of wlr_output_state
...
for better control and convenience in usage.
fixes #4546
2024-01-28 01:57:13 +00:00
7b3d039388
deps: update wlroots
...
drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
2024-01-27 13:58:28 +00:00
Zach DeCook
df17991b1c
input: Allow disabling touchscreen input ( #4517 )
...
* enable/disable touch device
* ConfigManager: update documentation of 'enabled'
2024-01-24 00:15:01 +00:00
b86ed02d8a
keybinds: avoid duplicated held keys, only use last, remove all
...
ref #4471
2024-01-19 19:09:32 +01:00
17339e0ae9
input: track exclusive LSes
...
ref #4465
2024-01-19 16:45:34 +01:00
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +01:00
307dd8f511
input: partially revert #4401
...
ref #4465
2024-01-17 14:43:38 +01:00
virchau13
3c964a9fdc
keybinds: Add dispatcher for xmonad/qtile-style workspace switching ( #4439 )
...
* feat: implement xmonad/qtile-style workspace switching
Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.
When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
replace it with the workspace that was previously active on the
current monitor,
3. Focus the workspace on the current monitor.
* fix: address PR comments
2024-01-15 16:30:46 +01:00
Zach DeCook
c4da4b026d
layershell: Fix greedy mouse grab from keyboard_interactive layer ( #4401 )
...
* Layer: Don't allow a keyboard-layer to steal focus from other layers
* Input: Don't change keyboard focus on click if focus is locked
2024-01-12 15:43:16 +01:00
scorpion-26
babb9c07b0
swipe: Prevent hiding current workspace when swiping ( #4417 )
...
When workspace_swipe_use_r is enabled, swiping from WS 1 to a non-empty WS 2 would
hide WS 1 (Similar effect to issue #4076 ). This is caused by a faulty
check which doesn't consider, that workspaceIDLeft could be the current
workspace.
This bug is only a problem for r, because m wraps around on WS 1 m-1, whereas r stays on WS 1.
2024-01-11 19:22:40 +01:00
d484506600
keybinds: fix tracking of sent key states
2024-01-10 18:06:38 +01:00
dranull
3c33d4b9dd
keybinds: Refocus only if the silently moved window had the focus ( #4328 )
2024-01-02 14:50:30 +01:00
rszyma
37b76cd1ca
keybinds: fix keys getting stuck + minor refactor & optimizations to keybind handling ( #4304 )
2024-01-01 18:29:51 +01:00
dranull
7c1ac58a4b
input: Ignore some input events when focus is on a layer surface ( #4306 )
...
* No motion events with focus on LS on workspace change
* Don't check scroll events on decorations with focus on LS
2024-01-01 13:02:16 +01:00
MightyPlaza
94d6b2d2c1
deco: fix missing border on togglefloating ( #4305 )
...
modified: src/managers/KeybindManager.cpp
2023-12-30 16:59:01 +01:00
dranull
5f8e4068e5
groupbar: Middle click on groupbar to close tab ( #4297 )
...
* Prevent window swapping when the head is removed
* Bring floating windows to top when selected
* Allow clicks on gropubar in fullscreen 1
* Close window on groupbar with middle click
2023-12-30 00:38:12 +01:00
9242b03317
internal: minor include fixes and missed format
2023-12-29 10:27:09 +01:00
f771c10d1a
renderer: ignore windowRequestedCursorHide
...
ref #4197 , thanks @dtop129
co-authored-by: dtop129
2023-12-29 00:04:01 +01:00
dranull
8321d6be46
internal: Unify input handling on decorations ( #4280 )
...
* Unify input handling on decorations
* Make input methods private
* Optional data
2023-12-28 23:54:41 +01:00
MightyPlaza
6cd82d948f
input: don't steal mouseDown from LS ( #4260 )
...
modified: src/managers/input/InputManager.cpp
2023-12-27 11:44:13 +01:00
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
Junxuan Liao
53c78ab906
idle: notify idle on tablet inputs ( #4201 )
...
Fixes #4028 .
2023-12-20 17:53:54 +01:00
dusanx
0c74df4f9e
renderer: cursor hiding logic improvements ( #4184 )
...
Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
2023-12-18 16:06:06 +00:00
9fd928e114
internal: nuke CWindow::m_bMappedX11
...
it's useless. m_bIsMapped is the same.
2023-12-17 20:00:18 +00:00
bf7374011b
xwaylandmgr: allow resizes without a monitor
2023-12-17 19:58:11 +00:00
dranull
9ca0c7d814
input: Activate resize_on_border only when key is pressed ( #4170 )
2023-12-16 20:47:58 +00:00
dranull
36fa33f7ca
input: Prevent crash with invalid keyboard layout ( #4157 )
2023-12-15 00:39:03 +00:00
01e5c59d75
Revert "xwayland: push invisible windows outside layout"
...
This reverts commit accb3d8d0b
.
Bad idea
2023-12-13 17:25:19 +00:00
1950c3fc9c
input: unset resize cursor on empty focus
...
fixes #4133
2023-12-12 14:55:48 +00:00
accb3d8d0b
xwayland: push invisible windows outside layout
...
fixes some xwl focus issues with special especially.
2023-12-12 01:14:36 +00:00
François Conzelmann
e53134ca90
internal: fix interactions with fakefullscreen ( #4113 )
...
- In a maximized window, unstuck fakefullscreen from on state
- In a fakefullscreen window, going in and out of fullscreen state
keep the fakefullscreen state rendered
2023-12-11 16:51:10 +00:00
nmzik
53ce7992be
renderer: double lookup fix, input: double conversion fix ( #4124 )
2023-12-11 16:28:22 +00:00
Mihai Fufezan
0c10b8ab2d
input: Add scroll_points option for device ( #4101 )
2023-12-10 16:30:08 +00:00
Vaxry
9f5b9053c6
internal: Remake borders as window decorations ( #4104 )
2023-12-10 16:28:12 +00:00
dd0714c22a
input: add relative_input for tablets
...
closes #2639
2023-12-09 04:07:28 +00:00
a794eecd6a
README: add note about hyprpm + clang-format
2023-12-07 10:46:12 +00:00
ddmetz
62a8d0be5c
keybinds: check for null last monitor in changeworkspace ( #4077 )
2023-12-07 00:09:25 +00:00
François Conzelmann
4a42344e97
style/ci: apply clang-format and verify it in ci ( #4039 )
...
* style: apply clang-format
* ci: add new clang-format job to CI
2023-12-06 22:54:56 +00:00
swwind
13b4c6de86
input: don't send mouse events on touch ( #4071 )
2023-12-06 14:30:40 +00:00
dranull
cfd94c5b30
input: Stop propagating axis events after valid binds ( #4059 )
2023-12-05 21:16:26 +00:00
2d04cb1cc6
input: make fallback layout us
2023-12-05 00:48:39 +00:00
Wren Baxter
8440a30231
input: fix overzealous mouse capture on resize_on_border ( #4010 )
...
fixes #2456
2023-12-01 01:12:08 +00:00
b2f3623131
events: add keyPress and mouseAxis
...
fixes #4011 fixes #4008
2023-11-30 18:45:12 +00:00
François Conzelmann
5513eed64d
managers: fix debug log using printf format ( #4007 )
...
Some debug messages where using printf format style to print variable
content instead of std::format format.
2023-11-30 15:20:08 +00:00
François Conzelmann
1fc1e4e9cb
monitor: remove comma from monitor description ( #3996 )
...
this allows for monitor specific rules to work on monitor with comma on
their description
fixes #2457
2023-11-30 01:48:10 +00:00
Jibin George
2ce4b94a22
input: Fix custom acceleration profile config ( #3948 )
2023-11-25 14:39:21 +00:00
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +00:00
thejch
258c83f3bb
exec: remove redundant environment variables from spawn ( #3923 )
2023-11-24 12:42:20 +00:00
Vaxry
2ebfd0c745
renderer: Move to a full Hyprland GL rendering pipeline ( #3920 )
...
Also updates wlroots
2023-11-24 10:54:21 +00:00
zakk4223
4729265284
hyprctl: Add 'layouts' command ( #3895 )
...
* Add hyprctl 'layouts' command
formatting
* Add getAllLayoutNames(), move m_vLayouts back to private
Formatting
* clang-format
2023-11-21 18:43:38 +00:00
end-4
646f4bc638
general: add workspace gaps ( #3877 )
...
* anims: workspace gap
* anims: ws gaps: on swipe end
* anims: ws gaps: add missing parentheses
* format
* refractor
* Update Swipe.cpp
* format
* fix swipe to right
* ws gaps: move animations:workspace_gap to general:gaps_workspace
* ws gaps: general:gaps_workspace -> general:gaps_workspaces
2023-11-19 12:33:26 +00:00
Vaxry
8b57a1973e
internal: Allow floating windows on special ( #3872 )
...
* allow floating on special
* fix mistake
* fix clipbox
2023-11-18 17:00:24 +00:00
a34e192433
renderer: clip floating boxes on slide anim
...
fixes #3514
2023-11-16 20:20:41 +00:00
thejch
9e3dccca76
keybinds: Close special workspace after moving windows out of it ( #3649 )
...
* use old monitor
* use pMonitor for for special workspace
2023-11-15 12:32:02 +00:00
Ching Pei Yang
4d6fa6ed0c
pluginapi: add touch event hooks ( #3836 )
2023-11-13 16:32:12 +00:00
47d46aa56c
inputmgr: clean lists in ~dtor
...
ref #3558
2023-11-12 14:03:46 +00:00
65efde32c9
internal: make getPlusMinusKeywordResult return optional
2023-11-12 13:40:02 +00:00
69e314207d
internal: replace INT_MAX with WORKSPACE_INVALID
2023-11-12 13:34:54 +00:00
ae46fbafe5
xdg: set state maximized for all tiled windows
...
forces them to not draw stupid decorations of their own. Wlroots stopped doing it for us. Fixes #3830
2023-11-11 17:13:20 +00:00
db82fc5b09
animationmgr: push shadow avs to ended on disabled
2023-11-11 15:23:33 +00:00
Vaxry
9be6fbf5ea
decorations: Decoration Positioner ( #3800 )
2023-11-11 14:37:17 +00:00
92cb44ddb2
input: don't schedule repaint on cursor move if hardware cursors are in use
2023-11-10 18:49:15 +00:00
b8a615ffb8
xdg-shell: improve ack-configure handling
...
fixes #3807
2023-11-10 00:13:22 +00:00
8dd02eb5f3
xdg-shell: update reported size on ack_configure
2023-11-09 22:43:52 +00:00
74cf2281dd
binds: add movefocus_cycles_fullscreen
...
fixes #3738
2023-11-04 21:03:08 +00:00
Vaxry
55b4f84fea
Internal: Hyprland box implementation ( #3755 )
...
* box impl
* remove unused operators
* missed applyfromwlr
2023-11-04 17:03:05 +00:00
Vaxry
73e78f05ad
Decos: Window decoration flags, shadow improvements ( #3739 )
2023-11-04 13:10:52 +00:00
86318ce04f
input: let input-grabbing decos have prio over resize on border
2023-10-29 23:37:12 +00:00
MightyPlaza
9abfa9efc6
input: handle mouse on decorations ( #3560 )
2023-10-29 20:14:47 +00:00
7a5234a0cc
input: better cursor image infrastructure
...
Improves handling of cursor images/surfaces
Fixes an issue with decos and cursors
Fixes #3471
2023-10-29 18:09:05 +00:00
Antoine Dutot
1d47e2c408
input: fix force_zero_scaling for tablet and touch ( #3644 )
...
* Attempt to fix force_zero_scaling for tablet and touch for XWayland apps.
* Formated using clang-format.
* Simpler way to compute touch origin.
2023-10-27 10:15:29 +01:00
47256a6ed8
input: remove incorrect check in re-enter
...
fixes #3659
2023-10-26 22:21:13 +01:00
92cf1c2337
input: fix mouse down handling on unset last surface
...
fixes #3659
2023-10-26 18:54:19 +01:00
Tyler Schneider
07714dd5bd
input: Apply scaling to cursorPosOnActivate position ( #3664 )
2023-10-26 02:05:10 +01:00
616ff343b7
input: fix warn
2023-10-24 00:53:59 +01:00
98059b52d7
layershell: support ON_DEMAND keyboard mode
...
fixes #2264
2023-10-22 23:32:55 +01:00
Brenno Lemos
b135bd6cd4
workspacerules: Add new optional "default command" for auto-launching apps on new workspaces ( #3559 )
2023-10-22 23:11:03 +01:00
a61eb7694d
hooksystem: add callbackinfo struct and cancellable events
2023-10-21 14:52:43 +01:00
7f35f33b4c
surface/wayland: conform to small surface requirements
...
do not stretch small surfaces, instead center them if they fit.
2023-10-20 20:15:57 +01:00
a0b675ec9e
binds: add ignoreMods flag
2023-10-17 20:10:07 +01:00
André Silva
784f8a88fb
input: don't reset cursor movement timer on simulateMouseMovement ( #3595 )
...
Fixes #2570
2023-10-17 17:00:39 +01:00
Philip Damianik
442209942f
cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ( #3572 )
...
* Replace find() with C++20 starts_with() and ends_with()
* Replace find() with C++20 contains()
2023-10-15 19:07:23 +01:00
memchr
34455844e9
groups: ensure consistency in dispatcher behavior with global group lock ( #3531 )
2023-10-11 11:13:12 +01:00
MightyPlaza
d537815d43
groups: create group and groupbar config sections ( #3522 )
...
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
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/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
2023-10-10 17:42:45 +01:00
Philip Damianik
ac1bd47653
dispatchers: Add option to center the cursor on the focused window when switching workspaces ( #3528 )
...
* Add option for centering on workspace when switching workspace
* Add option for centering on workspace when switching workspace
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-10-10 17:34:28 +01:00
MightyPlaza
499df49f7b
dispatchers: fix extra monitor offset when snapping floating ( #3520 )
...
modified: src/managers/KeybindManager.cpp
2023-10-08 13:49:15 +01:00
vaxerski
38e242953d
animationmgr: damage floating windows on workspace anim
...
fixes #3514
2023-10-07 02:28:23 +01:00
vaxerski
4b3efc73c5
events: fixup empty events not being sent on unmap
...
Ref #3506 https://github.com/hyprwm/Hyprland/issues/3506#issuecomment-1749508111
2023-10-06 01:11:47 +01:00
vaxerski
f803be3d31
input: fixup frame schedule conditions on mouse move
2023-10-04 12:57:37 +01:00
vaxerski
7b002d609b
input: fix warn
2023-09-29 20:06:20 +01:00
vaxerski
e07e64458e
input: fix unused variable warn
2023-09-29 17:55:41 +01:00
vaxerski
a44ab7748f
renderer: optimize render pipeline when there is a solitary client
2023-09-29 17:51:07 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
vaxerski
d48c11cc3f
input: minor constraint fixes
...
Better adjust to constraints that do not set a hint. Fixes #3436
2023-09-28 20:02:00 +01:00
Cascade aka. Isoheptane
6d7dc70f66
input: Add map to region options for tablets ( #3425 )
...
* Add region remap for tablets
* Fix code style
2023-09-27 19:49:30 +01:00
vaxerski
3b445ec849
input: avoid using the wrong surface in drag focus force
2023-09-23 17:20:39 +01:00
memchr
8252957392
dispatchers: support number as arg in changegroupactive ( #3329 )
2023-09-23 13:36:40 +01:00
vaxerski
de95089552
input: fixup mouse down refocus conditions
...
fixes #3402
2023-09-23 13:30:53 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +01:00
memchr
1357b66091
windowrules: add rule group
to map windows grouped ( #3279 )
...
* windows: add rule group to map windows grouped
* group rule: use `invade` to force open a window in a locked group
2023-09-22 00:42:00 +01:00
vaxerski
b662215fad
input: simplify fullscreen workspace input calculations
...
Fixes an issue with special workspaces not receiving focus above fullscreen windows, and cleans up the code
2023-09-21 23:58:58 +01:00
alaricljs
e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher ( #3217 )
...
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
vaxerski
62efc045d7
input: lock focus to last surface on buttons held
...
fixes #3385
2023-09-20 19:50:46 +01:00
Vaxry
0dbd997003
input: Various constraint handling fixes ( #3381 )
...
Fixes #3204
2023-09-20 16:47:05 +01:00
memchr
3785defaf1
logging: implement std::formatter for some types ( #3380 )
2023-09-20 16:25:03 +01:00
memchr
6594b50e57
logging/format: use std::format_string to catch formatting string errors at compile time ( #3377 )
...
* fix(log): use constexpr format string
* deprecate getFormat
2023-09-20 08:26:20 +01:00
vaxerski
e4d6695375
keybinds: focus last window on workspace change to another mon
2023-09-18 11:33:19 +01:00
vaxerski
af15b15b4b
input: guard constraint in unconstrainMouse
2023-09-17 16:46:04 +01:00
vaxerski
b9b38424b0
input: fix hints not being used if committed at the beginning
2023-09-15 21:01:54 +01:00
memchr
56adec7c1a
socket2: emit lockgroups event ( #3317 )
2023-09-15 12:06:59 +01:00
memchr
84f8f4d77d
keybinds: warp cursor to correct window in moveWindowOutOfGroup ( #3290 )
2023-09-13 15:02:21 +01:00
memchr
4f88897fc0
keybinds: avoid onWindowRemoved & onWindowCreated when group has one member ( #3286 )
...
Make moveWindowOutOfGroup behave like toggleGroup on a group with single
member, this prevents the window from moving around rabidly.
2023-09-13 11:44:02 +01:00
41e5f401c5
keybinds: simulate movement on empty focus after workspace change
2023-09-13 11:36:41 +01:00
b884544ee6
input: don't refocus on switched workspace on the same monitor
2023-09-13 11:33:36 +01:00
memchr
6b1ac659e0
layout: add direction parameter to onWindowCreated and friends ( #3269 )
...
* feat(layout): add direction parameter to onWindowCreated and friends
In addition:
- Implement directional moveWindowOutOfGroup for `movewindoworgroup`
when using dwindle layout. (augmentation of #3006 )
- Replace `DWindleLayout::OneTimeFocus` with `IHyprLayout::eDirection`.
- Slight formatting change (clang-format).
* fix: nullptr dereference in dwindle window creation
* refactor: generalized eDirection
* refactor: eliminate DIRECTION_NONE
* Update IHyprLayout.hpp
2023-09-13 11:13:29 +01:00
memchr
bc41d7ec85
fix: inconsistent behaviour where last workspace was not saved ( #3261 )
2023-09-11 23:39:24 +01:00
memchr
df51c45d7f
keybinds: unify changeworkspace dispatcher ( #3250 )
...
* refactor: changeworkspace dispatcher
* refactor: remove redundant focusWindow calls
* refactor(changeworkspace): warp cursor to middle of last focused window
* refactor: use rememberPrevWorkspace
* Fix: `CWorkspace::rememberPreWorkspace` condition is illogical
2023-09-11 15:14:43 +01:00
5a6d0e9963
refactor: fix missed middle() call in CKeybindManager
2023-09-11 12:19:21 +01:00
alaricljs
99fac59938
keybinds: movewindow to screen edge for floating windows ( #3245 )
...
* movewindow to screen edge for floating windows
* review changes
* constify vars
---------
Co-authored-by: Leeman <lstrout@enlj.com>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-09-11 10:23:57 +01:00
memchr
e96e0dc02d
refactor: utilize 'middle()' method for window/montior center ( #3253 )
2023-09-11 10:09:34 +01:00
vaxerski
3859607b6c
input: do not process mouse in unsafe state
2023-09-10 23:44:47 +01:00
memchr
ac2f1a9c30
feat: add a new movewindoworgroup dispatcher ( #3006 )
2023-09-10 23:29:10 +01:00
vaxerski
0d53401217
xwayland: adjust coord calculation
...
coord exactly at the corner would be calc'd wrong
2023-09-10 20:19:09 +01:00
vaxerski
d28725c678
keybinds: ignore conditions on special release
...
while the previous commit ignores mods, we also need to ignore other conditions to avoid dangling presses
2023-09-10 16:54:14 +01:00
vaxerski
dcb909df04
keybinds: track pressed special binds
...
Ignore mods only if we're processing a special bind, and only if it's pressed. Otherwise we might shadow normal key releases via ignoring mods. Fixes #3240
2023-09-10 16:27:14 +01:00
vaxerski
d490f198a4
keybinds: ignore mods on release of special binds
...
fixes #3208
2023-09-10 13:13:15 +01:00
memchr
f7f70c9e72
refactor: replace lambdas with CKeybindManager::switchToWindow ( #3229 )
...
moves `switchToWindow` lambdas to a single private method
`CKeybindManager::switchToWindow()`.
fixes #3227 , as a by-product of the mouse motion simulation at the end
of `CKeybindManager::switchToWindow()`.
2023-09-10 12:51:27 +01:00
shadowmax31
c061946a94
keybinds: Do not suppress pass and mouse release ( #3219 )
2023-09-09 10:15:24 +01:00
398e861b55
internal: fix warnings
2023-09-07 16:43:01 +02: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
Philip Damianik
60c01dab01
config: Integrate HASCONFIG into CConfigManager::getConfigValueSafeDevice ( #3195 )
2023-09-06 19:16:46 +02:00
Philip Damianik
a15e3e1f38
config/input: Improve fallback behavior for unset device config values ( #3184 )
...
* Fix fallback behavior for unset device config values
* Replace overload with default argument for fallback config key
* Remove default value for fallback argument in source
* Fix typos
2023-09-06 16:14:18 +02:00
unrealhoang
f90a009e93
input/config: add button scroll lock ( #3189 )
2023-09-06 14:54:48 +02:00
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