summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* compositor: spawn environment setup with keybind manager (#3722)André Silva2023-12-261-6/+7
|
* dwindle: Use window->middle() when cursor is on reserved area (#4253)dranull2023-12-261-11/+9
|
* dispatchers: add tiled/floating to cyclenextvaxerski2023-12-241-2/+14
|
* compositor: don't block focus if there is no keyboardvaxerski2023-12-241-14/+11
|
* xdgshell: bump to 6, send suspended statesvaxerski2023-12-231-1/+10
|
* systemd: add HYPRLAND_NO_SD_NOTIFYvaxerski2023-12-211-10/+8
| | | | fixes #4217
* signal: fix invalid pointer access (#4207)Ahmed Yasser2023-12-201-1/+1
|
* windowrules: add onworkspacevaxerski2023-12-201-0/+12
| | | | cool
* filesystem: Set the sticky bit on `/tmp/hypr` (#4199)Husam Harazi2023-12-201-1/+1
| | | To prevent unprivileged users from deleting other users' files.
* internal: nuke CWindow::m_bMappedX11Vaxry2023-12-171-6/+3
| | | | it's useless. m_bIsMapped is the same.
* internal: import qt env to dbusVaxry2023-12-151-5/+5
|