741c75d907
gamma-control: move to new impl
2024-04-22 18:21:03 +01:00
ed69502ff6
xdg-decoration: move to new impl
2024-04-21 20:04:58 +01:00
4954dcbbb3
relative-pointer: move to new impl
2024-04-21 19:30:23 +01:00
d9fe1d0f58
idle-inhibit: move to new impl
2024-04-21 16:54:52 +01:00
30e4b404f2
cursor-shape: move to new impl
2024-04-21 01:49:23 +01:00
Vaxry
b52a49b4c4
tearing-control: hyprland impl ( #5655 )
...
* tearing: hl impl
* format
2024-04-19 22:16:35 +01:00
zakk4223
4d0a635237
workspace: Add 'v' flag for workspace selector that counts only visible windows ( #5628 )
...
* Add 'v' flag for workspace selector: counts only visible windows
* extra commit because I'm dumb
* guard
2024-04-19 02:44:51 +01:00
Sungyoon Cho
c35fa9bacc
workspace: update windows when selector match could change ( #5533 )
...
* workspace: update windows when group updates
* workspace: update windows when floating toggle
* workspace: update windows when stop dragging window by mouse
2024-04-10 17:26:11 +01:00
Sungyoon Cho
fcac25bcc2
workspace: Add count group flag in windowCount workspace selector prop ( #5499 )
...
* Add groupCount workspace selector prop
* Intergrate groupCount with windowCount
2024-04-09 12:08:38 +01:00
347b839034
workspaces: add visible flag
2024-04-03 10:09:48 +01:00
Vaxry
ef23ef60c5
Workspace/core: Refactor workspace storage ( #5380 )
...
* refactor workspaces to use ptrs
* clang-format
2024-04-02 20:32:39 +01: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
5cc4bf699c
IME: Refactor and fixup popups
2024-03-24 16:08:25 +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
0a1632a79f
dwindle: preserve fs state on switchWindows
...
fixes #2842
2024-03-10 22:27:23 +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
Vaxry
e7a5db4852
xwayland: Set xwayland's name prop ( #4924 )
...
* set xwayland name
* [gha] Nix: update wlroots
* fix
---------
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
2024-03-09 16:47:57 +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
2e111c8cf9
xdg: rewrite entire popup implementation
2024-02-29 14:26:02 +00:00
b39dcfa497
refactor: move a few things to desktop/
2024-02-29 13:03:38 +00:00
Vaxry
b1c0f1cc01
subsurface: Rewrite the subsurface tree ( #4877 )
2024-02-29 00:03:28 +00:00
github-usr-name
f9cfec8abb
compositor: allow source monitor to be provided to getMonitorInDirection
( #4837 )
...
Co-authored-by: github-user-name <spam-here@github.com>
2024-02-25 14:03:00 +00:00
Alessio Molinari
7e8bcd675d
monitors: fix outputmgr nullptr crash ( #4738 )
2024-02-18 02:24:01 +00:00
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +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
5eeec8860e
core: improve cleanup logic
2024-01-19 16:20:30 +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
dranull
34b0ce66b3
dwindle: Use window->middle() when cursor is on reserved area ( #4253 )
2023-12-26 17:24:31 +01:00
5aab4a96e3
dispatchers: add tiled/floating to cyclenext
2023-12-24 15:08:48 +01:00
d5811283d2
xdgshell: bump to 6, send suspended states
2023-12-23 22:30:56 +01:00
4eb42fab7b
windowrules: add onworkspace
...
cool
2023-12-20 23:52:18 +01: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
Junxuan Liao
929c44e361
input: pass mouse input to IME popups ( #3922 )
2023-11-25 14:27:57 +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
MightyPlaza
add23a9ba2
group: fix dragging into floating groups ( #3719 )
...
* allow dragging into floating groups
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* floating-only
modified: src/layout/IHyprLayout.cpp
2023-11-19 12:29:01 +00:00
84bc0a73f6
compositor: drop unused vectorToWindow func
2023-11-17 15:30:04 +00:00
Vaxry
21e9313c10
Core: various unsafe state improvements ( #3713 )
...
Fixes #3637
2023-11-01 18:53:36 +00:00
df00727310
deps: update wlroots
2023-10-25 00:27:16 +01:00
59f27e7f57
compositor: send preferred scale and transform events to surfaces
...
fixes #3635
2023-10-22 16:58:06 +01:00
vaxerski
9cc614d096
internal: add a watchdog
...
a watchdog will abort processing a signal if a timeout specified via debug:watchdog_timeout is reached.
2023-09-29 16:38:13 +01:00
Vaxry
88b63a00b6
renderer: Tearing implementation ( #3441 )
2023-09-28 21:48:33 +01:00
Vaxry
46d66f4bcc
internal: Further unsafe state improvements ( #3404 )
...
Instead of allowing Hyprland to sit in a state where there are no monitors, which various parts of the code don't like, we create a fake headless output on all monitor disconnect, and then remove it when a monitor appears
2023-09-24 18:04:38 +01:00
vaxerski
fb80cbe415
input: properly track mouse focus on drag operations
2023-09-23 01:28:45 +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
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
b4f123d1f2
compositor: remove wlr_scene refs
...
super old leftovers
2023-08-30 17:22:55 +02:00
memchr
cb59763d32
fix: improved focus behaviour on workspace switching for follow_mouse!=1 ( #3041 )
...
* fix: improved focus behaviour on workspace switching for follow_mouse!=1
When the 'input:follow_mouse' is not set to 1 and the target workspace
for switching does not currently have the previously focused window,
Hyprland will prioritize focusing on the top-left-most window.
* fix : #2451 call simulateMouseMovement.
* unify logic
* multimon fix
---------
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-08-21 20:54:02 +02:00
13886a264f
internal: add a new monitor auto system
2023-08-14 14:22:10 +02:00
c748f36939
internal: add lock files and hyprctl instances
2023-08-08 16:16:40 +02:00
vaxerski
f5913135c6
input: add support for cursor-shape-v1
2023-07-24 18:50:17 +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
Tuur Vanhoutte
d2eb4fee76
Avoid connected monitor reusing unavailable ID ( #2731 )
2023-07-18 12:12:05 +02:00
vaxerski
f8def68e7e
idle: implement new protocol
2023-07-13 18:05:34 +02:00
MightyPlaza
d9f7f039e1
monitor desc support ( #2670 )
...
* monitor desc
* monitor desc
2023-07-09 23:10:35 +02:00
Tuur Vanhoutte
b99ac063ea
Reuse same ID when reconnecting monitor, otherwise use minimum available ID ( #2666 )
...
Fixes #2601
2023-07-09 23:08:40 +02:00
vaxerski
18f9fb5e0f
rules: add stayfocused
2023-07-04 12:05:25 +02:00
01f85a09a9
xwayland: send zero scaling to xwayland if enabled
2023-06-23 21:42:44 +02:00
vaxerski
fbabb105c3
gamma: use wlr's new gamma manager event
2023-06-14 13:26:47 +02:00
vaxerski
086f724951
wlr_ext_workspaces: honor activate from client + format
2023-05-22 19:36:47 +02:00
vaxerski
cc4ccfdbfd
internal: use i64 for workspaces in outofbounds
2023-05-09 14:08:05 +01:00
vaxerski
247ff4e60d
internal: improve fullscreen fade
2023-04-24 23:21:51 +01:00
vaxerski
97b0368765
xwayland: crude fix for qt dnds
2023-04-22 22:20:48 +01:00
vaxerski
287e6c4ede
internal: workspace manip handling rework
2023-04-14 15:03:53 +01:00
471ac474a1
core: remove old redundant shutdown stuff
2023-03-23 03:07:57 +00:00
vaxerski
71a95a581f
feat: add pretty notifications
2023-03-20 15:03:09 +00:00
vaxerski
dc7d783d14
Initialize priority managers before server init
2023-03-05 13:37:21 +00:00
86acdcf8b6
nuke unmanagedx11 vector
2023-03-01 13:15:51 +00:00
Vaxry
8b81f41e52
Plugin System ( #1590 )
...
---------
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +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
129e99a6f6
Implement ext-session-lock-v1
2023-02-03 11:58:55 +00:00
vaxerski
61c9e50bcd
warp cursor on login to center
2023-01-28 12:26:38 +00: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
fb2679d5ef
add a focus history vec
2023-01-20 19:15:15 +01:00
Maxim Baz
668d90c700
Implement urgency hint for workspaces ( #1379 )
...
When there are any unfocused windows that request activation, mark the workspace as urgent.
2023-01-14 20:31:11 +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
98a4fa2b0d
Added clang format ( #1239 )
...
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
Vaxry
111d209bff
Added toplevel handle sharing Rev2 ( #1203 )
...
* Added toplevel handle sharing
* nix: fix build
* update hyprland-protocols
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:56:42 +00:00
vaxerski
9fb24ac1e9
avoid using wayland-0 as a socket name
2022-12-05 17:21:09 +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
0a302901d2
Added handling more special workspaces
2022-11-27 22:42:22 +00:00
vaxerski
e427d9f622
unify setting of the active monitor
2022-11-19 16:41:41 +00:00
vaxerski
5a750b485a
Added creating / destroying outputs on a multi-backend + headless backend
...
See `hyprctl output`.
2022-11-05 18:04:44 +00:00
vaxerski
f50c786640
Added direct scanout
2022-11-05 12:50:47 +00:00
vaxerski
69f1d7b360
Rework workspace rules
2022-10-24 18:36:31 +01:00
vaxerski
c04563734e
Rework candidate finding on close window
2022-10-24 12:25:36 +01:00
vaxerski
2c714eace5
handle activate requests
2022-10-22 16:43:47 +01:00
vaxerski
9f9129e536
focusable checks in nextWindow calls
2022-09-29 16:53:31 +01:00
Felix Dick
bf3f519eb7
Remove trailing whitespace.
2022-09-25 20:07:48 +02:00
vaxerski
82aa78916d
hyprctl-nopoll
2022-09-10 21:21:28 +02:00
vaxerski
f4add0ac6d
refocus on reserved area
2022-09-03 15:35:53 +02:00
vaxerski
cfa6c01df0
remove double drm and dmabuf creation
2022-08-28 12:32:26 +02:00
vaxerski
d413388761
Multiple improvements to the shutdown procedure
2022-08-28 11:19:08 +02:00
Alec LeFors
59d7cfcd02
implemented DRM leasing for VR headsets
2022-08-27 17:10:13 -04:00
vaxerski
0d1a9e4ba9
modify exit behaviour a bit
2022-08-25 21:35:47 +02:00
vaxerski
e327b0a835
added a swapactiveworkspaces dispatcher
2022-08-25 21:25:28 +02:00
vaxerski
d0ec2b72ae
report sizes to all windows on fullscreen
2022-08-22 14:22:21 +02:00
vaxerski
5569e1f69c
remove unused func
2022-08-21 17:09:35 +02:00
b0b3a5af10
added resizewindowpixel and movewindowpixel
2022-08-15 15:59:07 +02:00