summaryrefslogtreecommitdiff
path: root/src/managers
Commit message (Collapse)AuthorAgeFilesLines
...
* xwayland: fixup WM_SIZE_HINTS handling according to ICCCMVaxry2024-07-211-6/+14
|
* input: fix invalid usage of dev in setTouchDeviceConfigsVaxry2024-07-211-3/+3
| | | | ref #6943
* touch: add touch swipe invert config (#6940)khachbe2024-07-211-1/+1
|
* Core: Move to aquamarine (#6608)Vaxry2024-07-2114-573/+570
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* input: Emulate discrete scrolling from v120 events (#6881)Agent00Ming2024-07-183-6/+48
| | | | | | | * seat: avoid sending axis_stop() when source is wheel * fix rounding for absolute discrete values greater than 1 Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
* style: fix clang-formatVaxry2024-07-133-10/+5
|
* session-lock: send `locked` after the lock screen is properly rendered (#6850)Junxuan Liao2024-07-132-3/+20
| | | | | | | | | | The protocol says: > The locked event "must not be sent until a new "locked" frame (either from a > session lock surface or the compositor blanking the output) has been presented > on all outputs and no security sensitive normal/unlocked content is possibly > visible". This helps users ensure the screen is properly locked before suspending the machine. (e.g. with swaylock --ready-fd)
* core: Improve handling of window properties (#6776)MightyPlaza2024-07-113-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add mWindowProperties modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp * support int values modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * create m_sWindowData modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * simplify some properties modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/managers/KeybindManager.cpp * store multiple values in CWindowOverridableVar modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * use SET_PROP priority for exec rules modified: src/config/ConfigManager.hpp modified: src/desktop/Window.cpp * add default value modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add setprop toggle modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp * add setprop toggle modified: src/debug/HyprCtl.cpp * make window rules functional modified: src/config/ConfigManager.cpp modified: src/desktop/Window.cpp * minor fixes modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp * properly clean layout data modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp * remove newline modified: src/events/Windows.cpp * fixes modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * use CamelCase modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* pointer: update geometry after unplug eventsVaxry2024-07-053-13/+44
| | | | | | fixes #6700 fixes #6740
* keybinds: fix movewindow float to 0 (#6777)MightyPlaza2024-07-051-8/+9
| | | modified: src/managers/KeybindManager.cpp
* pointer: change min cursor padding to 0 (#6027)drendog2024-07-021-1/+1
| | | | | | | | | | | | | * fix: change min cursor padding to 0 * chore: set default hotspot padding to 0 * fix: adjusting clamp after getting closest point to fix getting off limit point * fix: deal with floating point to clamp to prev value * refactor: max coords to vector * fix: remove box closestPoint adjustment due its fix on hyprutils
* inputmgr: ensure we dont divide by zero (#6713)Tom Englund2024-06-301-1/+1
| | | | | some weird combination of scrolling/nesting hyprland and closing a window i managed to divide by zero here, reported by ubsan. add a check to ensure we dont hit UB.
* session: fix activate events being always treated as on (#6696)はれなよ2024-06-291-12/+1
| | | | | * Fix listener_sessionActive to handle an event correctly when the session get inactivated * Remove log
* input: fix capabilities enum types passedVaxry2024-06-291-8/+1
| | | | | | hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones ref #6702 #6196
* keybinds: never switch to another monitor with per_monitor (#6665)Alexander2024-06-271-3/+6
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* sessionLock: focus lock on creation based on mouse position (#6658)outfoxxed2024-06-251-1/+2
| | | | | * sessionLock: focus lock on creation based on mouse position * sessionLock: immediately unfocus any focused surfaces on lock
* ime-relay: fix crash on nullptr surface focusVaxry2024-06-251-0/+3
|
* pointer: round position when rendering software cursorsVaxry2024-06-251-0/+2
| | | | otherwise the image gets resampled and gets blurry
* core: move to steady_clock where applicableVaxry2024-06-255-17/+17
| | | | avoid issues when system clock gets desynchronized or changed
* keybinds: fix mouse pass (#6652)Gregory2024-06-251-4/+5
| | | | | * keybinds: fix mouse pass * keybinds: keep mouse and keyboard focus separate after pass bind
* output: fix cursors disappearing after dpms (#6659)outfoxxed2024-06-252-1/+5
|
* core: add ability to select previous workspace per monitor (#6598)Alexander2024-06-222-55/+45
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* surface: add virtual destructor to surfacerole to avoid undefined behaviour ↵Tom Englund2024-06-221-0/+1
| | | | | | | | | | | | | | | (#6620) * surfacerole: add virtual destructor all classes that will be derived from should have a virtual destructor otherwise deleting an instance via pointer to a base class is undefined behaviour, layershell/xdgshell hits this with std::default_delete in the new sharedptr implentation. * includes: fix missing includes fix missing includes for no precompiled headers builds, and remove a redefiniton of a macro already defined in macros.hpp
* window: expose pseudotiled state and add param to dispatcher (#6583)Przegryw3212024-06-191-5/+11
| | | | | | | * Show pseudotiled state of window in hyprctl clients * Add a window as an optional argument for the pseudo dispatcher * change formatting
* core: avoid bumping hard rlimits, restore on forkVaxry2024-06-191-0/+1
| | | | ref #6584
* pointer: use software rendering when monitor is mirrored (#6587)Lucas Reis2024-06-192-0/+20
| | | | | | | * pointer_manager: add lock/unlock software wrappers that receive the raw pointer * monitor: lock/unlock software pointer rendering when adding/removing mirrored screens * use relative path in includes
* core: Move to hyprutils for MathVaxry2024-06-199-40/+41
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* keybinds: ignore missing keysyms if no other methods matchVaxry2024-06-171-0/+6
| | | | fixes #6548
* input: add cursor:warp_on_changeworkspace (#6480)memchr2024-06-161-0/+13
| | | | | | | | | * input: add cursor:warp_on_changeworkspace If enabled, warp the cursor to the last focused window on the workspace in the `changeworkspace' dispatcher, except if the cursor is currently on the WLR top layer. Respect persistent warps. * warp_on_change_workspace: check if focused layer is a window.
* seat/dnd: unfocus pointer from surfaces on dnd startVaxry2024-06-161-0/+5
| | | | | | | | GTK is speshyal and requires this for functioning properly. Ugh. It's technically not required by spec, f you gtk. Ref #6509
* animations: fix overriding direction for slideVaxry2024-06-151-11/+10
| | | | fixes #6512
* keybinds: add custom event dispatcherVaxry2024-06-152-0/+6
| | | | fixes #3439
* vrr: add option to fix mouse breaking vrr (#6483)UjinT342024-06-142-3/+5
| | | | | | | | | | | | | | | * option to fix mouse breaking vrr * skip damage on mouse move * remove this-> & cleanup * add cursor:min_refresh_rate to avoid cursor freezing * run clang-format --------- Co-authored-by: UjinT34 <ujin@uvpn.ru>
* core: fix a few small memory leaks on exit (#6470)Tom Englund2024-06-131-1/+2
| | | | | | | | | | | | | | | | | | | | * renderer: add destructor and destroy event source add destructor and destroy the event source. one less leak on exit of compositor reported by asan. * compositor: cleanup eventloop on exit destruct hyprctl to release the event sources, and properly cleanup the event loop on exit of compositor. less leaks on exit reported by asan * threadmgr: destroy event source on destruction destroy the event source on destruction. * eventloopmgr: reset eventloopmgr on exit aswell reset the eventloopmanager on exit of compositor and free the leaking last idle frame on monitor destroy.
* renderer: properly software lock cursors with zoom_factor (#6434)Ikalco2024-06-122-0/+16
|
* input: fallback to main surface if not found on windowVaxry2024-06-121-0/+4
| | | | fixes #6421
* seatmgr: fix missing nullcheck in updateActiveKeyboardDataVaxry2024-06-122-6/+14
| | | | | | sometimes we may set a keyboard that's about-to-be-deleted, we might as well check for that additionally avoid setting null keyboards altogether
* seat: fixup touch event handlingvaxerski2024-06-122-25/+26
| | | | fixes #6353
* layer: don't close special ws when restoring focus (#6424)MightyPlaza2024-06-111-1/+1
| | | | | modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/managers/input/InputManager.cpp
* binds: Add description to key binds (#6358)Moritz G2024-06-111-17/+19
| | | | | --------- Co-authored-by: Yusuf Duran <firatyusuf.d@gmail.com>
* layershell: Fix keyboard focus grabs (#4968) (#6394)outfoxxed2024-06-112-1/+37
|
* core: move to hyprutils for utils (#6385)Vaxry2024-06-1110-12/+15
| | | | | | | | | | | | | * core: move to hyprutils for utils Nix: add hyprutils dep * Meson: add hyprutils dep * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* sessionLock: fix focus not being tied to mouse (#6414)outfoxxed2024-06-111-4/+7
|
* build: ProtocolManager missing header LIstener.hpp (#6391)memchr2024-06-101-0/+1
|
* output: remove wl_output globals for mirrored displaysVaxry2024-06-102-2/+35
| | | | ref #6387
* egl: assume implicit modifiers are available for old driversVaxry2024-06-091-2/+7
| | | | fixes #6367
* seat: fix pointer frame events not being sent correctlyVaxry2024-06-091-4/+1
| | | | fixes #6384
* input: fix virtual devices not updating capabilities (#6366)void0red2024-06-081-6/+10
| | | Signed-off-by: void0red <void0red@gmail.com>
* wayland/core: move to new impl (#6268)Vaxry2024-06-0823-270/+298
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* seat: send events to all bound seats for a clientVaxry2024-06-071-47/+99
| | | | | | some apps are legitimately braindead and bind wl_seat a bazillion times and expect the events to be sent to all of them ref #6159