gi-gtk-layer-shell-0.1.5: gtk-layer-shell bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GtkLayerShell.Functions

Description

 
Synopsis

Methods

autoExclusiveZoneEnable

autoExclusiveZoneEnable Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m () 

When auto exclusive zone is enabled, exclusive zone is automatically set to the size of the window + relevant margin. To disable auto exclusive zone, just set the exclusive zone to 0 or any other fixed value.

NOTE: you can control the auto exclusive zone by changing the margin on the non-anchored edge. This behavior is specific to gtk-layer-shell and not part of the underlying protocol

autoExclusiveZoneIsEnabled

autoExclusiveZoneIsEnabled Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Bool

Returns: if the surface's exclusive zone is set to change based on the window's size

No description available in the introspection data.

Since: 0.5

getAnchor

getAnchor Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Edge 
-> m Bool

Returns: if this surface is anchored to the given edge.

No description available in the introspection data.

Since: 0.5

getExclusiveZone

getExclusiveZone Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Int32

Returns: the window's exclusive zone (which may have been set manually or automatically)

No description available in the introspection data.

Since: 0.5

getKeyboardInteractivity

getKeyboardInteractivity Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Bool

Returns: if keybaord interactivity is enabled

Deprecated: (Since version 0.6)Use gtk_layer_get_keyboard_mode () instead.

No description available in the introspection data.

Since: 0.5

getKeyboardMode

getKeyboardMode Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m KeyboardMode

Returns: current keyboard interactivity mode for window.

No description available in the introspection data.

Since: 0.6

getLayer

getLayer Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Layer

Returns: the current layer.

No description available in the introspection data.

Since: 0.5

getMajorVersion

getMajorVersion Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Word32

Returns: the major version number of the GTK Layer Shell library

No description available in the introspection data.

Since: 0.4

getMargin

getMargin Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Edge 
-> m Int32

Returns: the size of the margin for the given edge.

No description available in the introspection data.

Since: 0.5

getMicroVersion

getMicroVersion Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Word32

Returns: the micro/patch version number of the GTK Layer Shell library

No description available in the introspection data.

Since: 0.4

getMinorVersion

getMinorVersion Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Word32

Returns: the minor version number of the GTK Layer Shell library

No description available in the introspection data.

Since: 0.4

getMonitor

getMonitor Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Monitor

Returns: the monitor this surface will/has requested to be on, can be Nothing.

NOTE: To get which monitor the surface is actually on, use displayGetMonitorAtWindow.

Since: 0.5

getNamespace

getNamespace Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m Text

Returns: a reference to the namespace property. If namespace is unset, returns the default namespace ("gtk-layer-shell"). Never returns Nothing.

NOTE: this function does not return ownership of the string. Do not free the returned string. Future calls into the library may invalidate the returned string.

Since: 0.5

getProtocolVersion

getProtocolVersion Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Word32

Returns: version of the zwlr_layer_shell_v1 protocol supported by the compositor or 0 if the protocol is not supported.

May block for a Wayland roundtrip the first time it's called.

Since: 0.6

getZwlrLayerSurfaceV1

getZwlrLayerSurfaceV1 Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> m (Ptr ())

Returns: The underlying layer surface Wayland object

No description available in the introspection data.

Since: 0.4

initForWindow

initForWindow Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A Window to be turned into a layer surface.

-> m () 

Set the window up to be a layer surface once it is mapped. this must be called before the window is realized.

isLayerWindow

isLayerWindow Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A Window that may or may not have a layer surface.

-> m Bool

Returns: if window has been initialized as a layer surface.

No description available in the introspection data.

Since: 0.5

isSupported

isSupported Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Bool

Returns: True if the platform is Wayland and Wayland compositor supports the zwlr_layer_shell_v1 protocol.

May block for a Wayland roundtrip the first time it's called.

Since: 0.5

setAnchor

setAnchor Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Edge

edge: A Edge this layer suface may be anchored to.

-> Bool

anchorToEdge: Whether or not to anchor this layer surface to edge.

-> m () 

Set whether window should be anchored to edge.

  • If two perpendicular edges are anchored, the surface with be anchored to that corner
  • If two opposite edges are anchored, the window will be stretched across the screen in that direction

Default is False for each Edge

setExclusiveZone

setExclusiveZone Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Int32

exclusiveZone: The size of the exclusive zone.

-> m () 

Has no effect unless the surface is anchored to an edge. Requests that the compositor does not place other surfaces within the given exclusive zone of the anchored edge. For example, a panel can request to not be covered by maximized windows. See wlr-layer-shell-unstable-v1.xml for details.

Default is 0

setKeyboardInteractivity

setKeyboardInteractivity Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Bool

interactivity: Whether the layer surface should receive keyboard events.

-> m () 

Deprecated: (Since version 0.6)Use gtk_layer_set_keyboard_mode () instead.

Whether the window should receive keyboard events from the compositor.

Default is False

setKeyboardMode

setKeyboardMode Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> KeyboardMode

mode: The type of keyboard interactivity requested.

-> m () 

Sets if/when window should receive keyboard events from the compositor, see GtkLayerShellKeyboardMode for details.

Default is KeyboardModeNone

Since: 0.6

setLayer

setLayer Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Layer

layer: The layer on which this surface appears.

-> m () 

Set the "layer" on which the surface appears (controls if it is over top of or below other surfaces). The layer may be changed on-the-fly in the current version of the layer shell protocol, but on compositors that only support an older version the window is remapped so the change can take effect.

Default is LayerTop

setMargin

setMargin Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Edge

edge: The Edge for which to set the margin.

-> Int32

marginSize: The margin for edge to be set.

-> m () 

Set the margin for a specific edge of a window. Effects both surface's distance from the edge and its exclusive zone size (if auto exclusive zone enabled).

Default is 0 for each Edge

setMonitor

setMonitor Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a, IsMonitor b) 
=> a

window: A layer surface.

-> b

monitor: The output this layer surface will be placed on (Nothing to let the compositor decide).

-> m () 

Set the output for the window to be placed on, or Nothing to let the compositor choose. If the window is currently mapped, it will get remapped so the change can take effect.

Default is Nothing

setNamespace

setNamespace Source #

Arguments

:: (HasCallStack, MonadIO m, IsWindow a) 
=> a

window: A layer surface.

-> Text

nameSpace: The namespace of this layer surface.

-> m () 

Set the "namespace" of the surface.

No one is quite sure what this is for, but it probably should be something generic ("panel", "osk", etc). The nameSpace string is copied, and caller maintians ownership of original. If the window is currently mapped, it will get remapped so the change can take effect.

Default is "gtk-layer-shell" (which will be used if set to Nothing)