screen edge manager

This interface allows clients to associate actions with screen edges. For example, showing a surface by moving the pointer to a screen edge.

Potential ways to trigger the screen edge are subject to compositor policies. As an example, the compositor may consider the screen edge to be triggered if the pointer hits its associated screen border. Other ways may include using touchscreen or touchpad gestures.

Warning! The protocol described in this file is a desktop environment implementation detail. Regular clients must not use this protocol. Backward incompatible changes may be added without bumping the major version of the extension.

destroy()
destroy the screen edge manager

Destroy the screen edge manager. This doesn't destroy objects created with this manager.

get_auto_hide_screen_edge(id: new_id<kde_auto_hide_screen_edge_v1>, border: uint<kde_screen_edge_manager_v1.border>, surface: object<wl_surface>)
Argument
Type
Description
idnew_id<kde_auto_hide_screen_edge_v1>
the new screen edge
borderuint<kde_screen_edge_manager_v1.border>
the associated screen border
surfaceobject<wl_surface>
the surface
create an auto hide edge

Create a new auto hide screen edge object associated with the specified surface and the border.

Creating a kde_auto_hide_screen_edge_v1 object does not change the visibility of the surface. The kde_auto_hide_screen_edge_v1.activate request must be issued in order to hide the surface.

The "border" argument must be a valid enum entry, otherwise the invalid_border protocol error is raised.

The invalid_role protocol error will be raised if the specified surface does not have layer_surface role.

Argument
Value
Description
invalid_border0
the specified border value is invalid
invalid_role1
the surface has invalid role
already_constructed2
the surface already has a screen edge
border { top, bottom, left, right } 
Argument
Value
Description
top1
top screen edge
bottom2
bottom screen edge
left3
left screen edge
right4
right screen edge
screen border

These values describe possible screen borders.


auto hide screen edge

The auto hide screen edge object allows to hide the surface and make it visible by triggering the screen edge. The screen edge is inactive and the surface is visible by default.

This interface can be used to implement user interface elements such as auto-hide panels or docks.

kde_auto_hide_screen_edge_v1.activate activates the screen edge and makes the surface hidden. The surface can be made visible by triggering the screen edge or calling kde_auto_hide_screen_edge_v1.deactivate.

If the screen edge has been triggered, it won't be re-activated again. Another kde_auto_hide_screen_edge_v1.activate request must be made by the client to activate the screen edge.

destroy()
destroy the auto hide screen edge object

Destroy the auto hide screen edge object. If the screen edge is active, it will be deactivated and the surface will be made visible.

deactivate()
deactivate the screen edge

Deactivate the screen edge. The surface will be made visible.

activate()
activate the screen edge

Activate the screen edge. The surface will be hidden until the screen edge is triggered.


Compositor Support

Mutter
Mutter
46
KWin
KWin
6.1
Sway
Sway
1.9
COSMIC
COSMIC
1.0.0
Hyprland
Hyprland
0.42.0
niri
0.1.8
Weston
Weston
13
Mir
Mir
2.17
GameScope
GameScope
3.14.22
kde_screen_edge_manager_v1
x
1
x
x
x
x
x
x
x

SPDX-FileCopyrightText: 2023 Vlad Zahorodnii

SPDX-License-Identifier: MIT-CMU