summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* config/workspace: added workspace selectorsVaxry2024-03-191-2/+2
|
* renderer: Allow headless mode in hyprland (#4794)thejch2024-03-151-6/+19
| | | | | | | * allow headless * clang-format * fix redundant logic lol
* internal: minor fixups for fading out xwayland windowsVaxry2024-03-141-4/+8
| | | | fixes #4935
* master: Fix master layout window focus and scroll (#5074)thejch2024-03-131-0/+5
| | | | | | | | | | | * 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
* compositor: reject focus to noFocus OR xwayland windowsVaxry2024-03-091-0/+3
| | | | fixes #4922
* internal: Support libhyprcursor (#5009)Vaxry2024-03-091-12/+5
| | | | | | | woo --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* socket2: Add 5 IPC event with support for workspace ID (#5022)Aaron2024-03-081-4/+4
| | | | | | | | | | | - `moveworkspacev2`: returns workspaceID,workspaceName,monitorName - `movewindowv2`: returns windowAddress,workspaceID,workspaceName - `createWorkspacev2`: returns workspaceID,workspaceName - `destroyWorkspacev2`: returns workspaceID,workspaceName - `workspacev2`: returns workspaceID,workspaceName - Include workspaceID as a parameter in CWorkspace constructor to support `createWorkspacev2`. Resolves #4929
* compositor: update state after moving to workspaceVaxry2024-03-061-3/+4
| | | | fixes #4987
* keybinds: Allow fullscreen/maximize in special workspace (#4921)thejch2024-03-041-1/+1
| | | | | | | | | | | | | | | * 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
* keybinds: Better handling of workspace_back_and_forth (#4952)Tom Benham2024-03-041-1/+4
| | | | | | | | | | | * 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>
* config: improve config value infrastructureVaxry2024-03-031-53/+54
|
* compositor: ignore grab extend behind special workspaces (#4944)JManch2024-03-031-2/+10
| | | | | * compositor: ignore grab extend behind special workspaces * ignore the window entirely
* input: Rewritten pointer constraints (#4889)Vaxry2024-03-021-32/+11
| | | | | | | | | | | | | | | | | * 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
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-16/+17
| | | | | | | | | | | | | | | | | | | | | | | * 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
* xdg: rewrite entire popup implementationVaxry2024-02-291-9/+0
|
* layers: add fully featured animationsVaxry2024-02-281-1/+1
| | | | | | | | Adds configs and layerrules to handle them alas fixes #981 I have cooked
* wayland: implement keyboard_shortcuts_inhibit_v1Vaxry2024-02-271-0/+2
| | | | fixes #4568
* input: Map touch devices and tablets bound to an output (#3544)Philip Damianik2024-02-271-21/+7
| | | | | | | | | | | * 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
* core: nullcheck for old monitor in moveWorkspaceToMonitorVaxry2024-02-261-1/+1
| | | | fixes #4495
* keybinds: fix focuswindow for fullscreen (#4840)shezdy2024-02-261-1/+2
| | | | | | | | | * focuswindow fix * fix format --------- Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
* compositor: allow source monitor to be provided to `getMonitorInDirection` ↵github-usr-name2024-02-251-2/+8
| | | | | (#4837) Co-authored-by: github-user-name <spam-here@github.com>
* core: Fix SEGV/ABRT core dump when exiting (#4823)thejch2024-02-241-1/+2
| | | | | * reset input manager first * move reset
* core: Try to fix the exit hang (#4811)thejch2024-02-231-0/+3
| | | | | | | * add signal removal * use a flag instead * remove signals in cleanup
* core: add env to disable crash reporterVaxry2024-02-221-2/+5
|
* input: fix vectorToWindowUnified with floating over fsVaxry2024-02-221-4/+16
| | | | fixes #4800
* compositor: check for pworkspace validity in setActiveMonitorVaxry2024-02-221-1/+1
|
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-40/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* monitors: fix outputmgr nullptr crash (#4738)Alessio Molinari2024-02-181-0/+10
|
* internal: add `forcenofocus` prop (#4672)Epilepsy Gatherings2024-02-131-11/+13
| | | | | * add forcenofocus * change nofocus to overridable var
* keybinds: fix swapactiveworkspaces not moving focusVaxry2024-02-131-1/+5
| | | | fixes #4626
* keybinds: Fix focus not moving along when moving workspace (#4660)Sefa Eyeoglu2024-02-091-1/+2
| | | | | --------- Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
* screencopy/toplevelexport: sanitize pointers in ::copyFrameVaxry2024-02-071-0/+9
| | | | oopsie~~ >///<
* hyprctl: move to a class and unify commandsVaxry2024-02-051-0/+3
|
* input: focus window on mouse down on decoration (#4514)MightyPlaza2024-02-041-109/+38
| | | Also unifies vectorToWindow funcs
* monitor: wrap usage of wlr_output_stateVaxry2024-01-281-2/+2
| | | | | | for better control and convenience in usage. fixes #4546
* deps: update wlrootsVaxry2024-01-271-9/+5
| | | | drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
* compositor: don't close special on focus on pinned (#4533)Epilepsy Gatherings2024-01-261-1/+1
|
* compositor: clarify common errors at launchvaxerski2024-01-221-2/+2
|
* input: track exclusive LSesvaxerski2024-01-191-0/+5
| | | | ref #4465
* core: improve cleanup logicvaxerski2024-01-191-20/+76
|
* keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439)virchau132024-01-151-2/+3
| | | | | | | | | | | | | | | * 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
* config: Add border gradients to windowrulev2 (#4335)Isaac Myhal2024-01-141-6/+4
| | | | | | | * Add border gradients to windowrulev2 * windowrule border gradient: Use CVarList to parse * windowrule border gradient: No {} around short ifs
* layershell: Fix greedy mouse grab from keyboard_interactive layer (#4401)Zach DeCook2024-01-121-8/+0
| | | | | * 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
* surface: avoid spam of window surfaces with scale and transform eventsvaxerski2024-01-111-0/+17
| | | | fixes #4408
* input: add special_fallthroughvaxerski2024-01-091-3/+14
| | | | fixes #4323
* input: allow focusSurface when locked if surfase is sessionLockvaxerski2024-01-071-4/+2
|
* input: leave special on focus (#4358)Epilepsy Gatherings2024-01-071-2/+6
|
* layout: update rules before applying fullscreen nodes in layoutsvaxerski2024-01-021-1/+0
|
* groupbar: add enabling groupbar and setting priority (#4299)MightyPlaza2023-12-301-0/+1
|
* xdg-shell: fix sending of suspended statevaxerski2023-12-291-1/+1
| | | | fixes #4287