1
0
Fork 0
mirror of https://github.com/hyprwm/Hyprland synced 2025-03-02 13:23:02 +01:00
Commit graph

91 commits

Author SHA1 Message Date
fe23d2b639 window: verify suppress flags in onUpdateState
ref 
2024-05-17 19:54:05 +01:00
9518cec833 popup: clip input region to surface size
fixes 
2024-05-17 19:43:56 +01:00
fc72df8e58 seatmgr: Add a grab class 2024-05-14 23:13:33 +01:00
0cfdde3d1a xdg-shell: move to new impl 2024-05-14 23:02:24 +01:00
121d3a7213 wl_seat: move to hyprland impl 2024-05-14 23:02:24 +01:00
ba69652193 window: set sane default pseudo size 2024-05-13 22:21:06 +01:00
Brenno Lemos
33a7b7bb6b
core: fix on-empty workspace being called too often () 2024-05-12 00:03:32 +01:00
494b9415a1 layersurface: avoid restack on identical layers
ref 
2024-05-11 18:31:50 +01:00
b6a7fb9e91 layersurface: fix invalid use of std::move
fixes 
2024-05-11 14:43:44 +01:00
MightyPlaza
c19903eaf8
windowrules add focusonactivate ()
modified:   src/config/ConfigManager.cpp
modified:   src/desktop/Window.cpp
modified:   src/desktop/Window.hpp
2024-05-10 12:27:54 +01:00
2549f0cc97 layersurface: reset popuphead after unmap
fixes 
2024-05-10 12:03:38 +01:00
2ba6bb69c4 popups: fix breadthfirst and at
fixes 
2024-05-10 02:38:56 +01:00
db30ff63e6 popups: avoid infinite recursion in bf 2024-05-10 02:38:56 +01:00
635a02d83f layer-shell: move to new impl
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
ed411f53bd cursor: move to a hyprland impl
This moves wlr_cursor to a completely new impl mostly under
CPointerManager

Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
5e7925eaeb foreign-toplevel: bypass no activate focus checks
ref 

those are used by focus switchers so they should bypass stuff like focus_on_activate = false
2024-05-08 01:31:22 +01:00
598bbd186b window: avoid uaf on updateWindow decos
TODO, make these pointers SP to avoid this in the future.

fixes 
2024-05-07 17:37:06 +01:00
VPavliashvili
375e77e398
ipc: add togglegroup, moveintogroup and moveoutofgroup events () 2024-05-07 12:00:55 +01:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ()
moves std::shared_ptrs to a new implementation

Advantages:
- you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired.
   - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.)
- weak_ptrs are still valid while the SP is being destroyed.
   - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection)
   - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though.
   - this is useful in destructors and callbacks.
2024-05-05 17:16:00 +01:00
0b215c5f24 idle-inhibit: fix and cleanup visibility logic
fixes 
2024-05-04 23:46:10 +01:00
JManch
2d40046f24
windows: set fullscreen border size to 0 () 2024-05-04 12:07:36 +01:00
1237732b97 input: Introduce basic hyprland HID classes
Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp

Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
2024-05-03 22:40:27 +01:00
Gabriel Ford
0623cfabc9
windowrules: Fix Floating Grouped Windows Crash and Bug. ()
* Don't unhide grouped items.

* Remove head check as that wasn't always correct.

* Replace lock with expired()

* Remove set hidden from max size.
2024-05-03 02:00:58 +01:00
56de72f357 internal: store matched windowrules and emit event
new event for plugins, windowUpdateRules
2024-05-02 02:18:01 +01:00
zakk4223
d2899a6c27
layout: Trigger layout recalcuation on deco position/size change ()
* Trigger layout recalcuation on deco position/size change

* Remove now unneeded code

* Formatting
2024-05-01 12:59:40 +01:00
5edc32930d layerSurface: refactor/move to a memory-safe impl
Makes all the pointers smart to avoid memory issues
Refactors layerSurface code to live inside desktop/layersurface
2024-04-30 02:41:27 +01:00
86133983a9 xdg-activation: move to new impl 2024-04-29 16:43:24 +01:00
Vaxry
bca7804bb6
internal: Window storage rework - part 1 ()
* Window storage rework - part 1

* format

* remove useless include

* fix pch

* format

* fix crash in dwindle

* fix vram leak

* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
25aec3ac8c pointer-constraints: move to new impl 2024-04-27 03:17:04 +01:00
ecf282d331 wlr-foreign-toplevel: move to new impl 2024-04-25 01:10:43 +01:00
4540d8ccd5 style: fix clang-format 2024-04-24 16:45:54 +01:00
608eff600d tokens: add more modes to initial_workspace_tracking
1 is single-shot, 2 is persistent

fixes 
2024-04-24 16:16:52 +01:00
Agent00Ming
81bb4eb2f6
workspace: Fix duplication of "special:" in special workspace name ()
* Fix duplication of "special:" in special workspace name
	modified:   src/desktop/Workspace.cpp

* Track default special workspace name as special:special
This is to fix the edge cases with the previous commit without breaking
user configs.

	modified:   src/helpers/MiscFunctions.cpp

---------

Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
2024-04-24 16:07:22 +01:00
Gabriel Ford
c3ec16f494 config: Add More Monitor 'Auto' Positions. ()
* Reverse Window Positioning.

* Cleanup old comments and logs.

* Finish Splitting Left and Right offset.

* Forgot to add Auto Left to ConfigManager

* Fix problems with auto_left.

* Nearly finish up and down.

* Finish draft of all four dirs. Testing now.

* Change Y value in moveTo for up and down.

* Format, comment, and cleanup.

* Address Vaxry's feedback.

* Add check to see if auto position is first rule.

* Run clang-format.
2024-04-23 01:49:25 +01:00
29308b94ca windows: add misc:initial_workspace_tracking
By default enabled, will track the initial opened workspace of a window spawned for 2 minutes or until it's moved to a different workspace.

For example: you run a launcher and open an app on workspace 1, but quickly switch to workspace 2. The app will now open on workspace 1 regardless of your switch.
2024-04-23 01:49:23 +01:00
f587c3e0ba alpha-modifier: add support for protocol 2024-04-21 21:21:22 +01:00
e823b5d693 Window: add destroy signal 2024-04-21 16:54:50 +01:00
thejch
7c3bd4c19f
workspace: Add fullscreen workspace selector ()
* add fullscreen selector

* use stoi
2024-04-21 01:50:08 +01:00
4ad739ec63 HookSystem: improve callback safety 2024-04-20 20:16:42 +01:00
Vaxry
b52a49b4c4
tearing-control: hyprland impl ()
* tearing: hl impl

* format
2024-04-19 22:16:35 +01:00
Sungyoon Cho
dd39cd7e42
windows: recalculate monitor after updating windows ()
Recalculate monitor after updating windows, so layout render doesn't get
overridden.
2024-04-19 18:46:16 +01:00
zakk4223
4d0a635237
workspace: Add 'v' flag for workspace selector that counts only visible windows ()
* 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
32555e98dd window: remove input ref on unmap
ref 
2024-04-16 15:17:54 +01:00
LivingCodeX
fd7ea4f27c
constraint: Fix xwl cursor locking for scaled monitors ()
* Fix xwl cursor locking for scaled monitors

* Add null check for window

* Replace m_fLastScale with m_fX11SurfaceScaledBy

* Improve code style

* Improve code style via clang-format
2024-04-14 21:31:50 +01:00
thejch
582d6233c8
workspace: fix workspace name selector returning true early () 2024-04-13 01:55:17 +01:00
dd6fdf49d9 window: always unref workspace on unmap
fixes 
2024-04-12 19:52:01 +01:00
abc131ec7b configmgr: fix header priority 2024-04-11 02:12:29 +01:00
Sungyoon Cho
c35fa9bacc
workspace: update windows when selector match could change ()
* 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
SoSeDiK
1343aa865d
config: Don't override fullscreen opacity if only two opacities are provided () 2024-04-09 16:22:44 +01:00
Sungyoon Cho
fcac25bcc2
workspace: Add count group flag in windowCount workspace selector prop ()
* Add groupCount workspace selector prop

* Intergrate groupCount with windowCount
2024-04-09 12:08:38 +01:00