3
0
mirror of https://github.com/hyprwm/Hyprland.git synced 2026-02-24 10:25:59 +00:00
memchr bca3068db2 feat: add lockactivegroup dispatcher (#2478)
* feat: add lockactivegroup dispatcher

The `lockactivewindow` dispatcher takes `lock`, `toggle` or `unlock` as arguments. When a group is locked, no window or group can be added to it, nor can it be added to another group, but the `moveintogroup` and `moveoutofgroup` dispatches are not affected.

Implementation details:

the lock is implement via `SGroupData.locked` flag (defaults to false).

The flag is only relevant to the group head, and upon the group head's succession, the flag will be passed down to the new head. Meanwhile, the old head's flag will be set to false.

The flag is set to false when a group is dismissed.

New condition checks have been added to the dwindle and master layout to check if target group is unlocked (and if the source is also a group and unlocked) before adding windows to the target group.

* refactor: `lockactivegroup dispatcher code ordering
2023-06-09 23:44:18 +02:00
2023-06-03 09:11:37 +00:00
2023-06-07 20:18:39 +02:00
2023-04-27 00:59:16 +03:00
2023-06-03 16:07:31 +00:00
2023-06-03 16:07:31 +00:00
2023-05-11 20:17:26 +01:00
2023-05-29 19:17:38 +02:00
2023-05-15 15:33:58 +01:00

banner

Badge Workflow Badge License Badge Language Badge Pull Requests Badge Issues Badge Hi Mom
Badge Discord


Hyprland is a dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks.

It supports multiple layouts, fancy effects, has a very flexible IPC model allowing for a lot of customization, a powerful plugin system and more.



Install

Quick Start

Configure

Contribute



Notice

Hyprland is still in pretty early development compared to some other Wayland compositors.

Although Hyprland is pretty stable, it may have some bugs.

Features

  • Easily expandable and readable codebase
  • Plugin support
  • Config reloaded instantly upon saving
  • Custom bezier curve based animations
  • Dual Kawase blur
  • Drop shadows
  • Rounded corners
  • Gradient borders
  • Fully dynamic workspaces
  • Closely follows wlroots-git
  • Global keybinds passed to your apps of choice
  • A lot of customization
  • Bundled wlroots
  • Window/layer fade in/out
  • Tiling/pseudotiling/floating/fullscreen windows
  • Switching workspaces between window modes on the fly
  • Special workspaces (scratchpads)
  • Window/monitor rules
  • Socket-based IPC
  • wlr_ext workspaces protocol support
  • Event system for bash scripts
  • Full damage tracking
  • Docks support
  • Drawing tablet support
  • Native IME + Input panels support
  • and much more...


Gallery


Preview A


Preview B


Preview C



Stars Over Time


Stars Preview



Special Thanks


wlroots - For their amazing library

tinywl - For showing how 2 do stuff

Sway - For showing how 2 do stuff the overkill way

Vivarium - For showing how 2 do stuff the simple way

dwl - For showing how 2 do stuff the hacky way

Wayfire - For showing how 2 do some graphics stuff

Description
Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
Readme BSD-3-Clause 204 MiB
Languages
C++ 96%
Shell 1.3%
GLSL 1.1%
Nix 0.8%
CMake 0.7%
Other 0.1%