-
Notifications
You must be signed in to change notification settings - Fork 1
/
client.go
48 lines (39 loc) · 998 Bytes
/
client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright (c) 2018, Mark "Happy-Ferret" Bauermeister
//
// This software may be modified and distributed under the terms
// of the BSD license. See the LICENSE file for details.
package workspace
import (
"github.com/BurntSushi/xgb/xproto"
"github.com/BurntSushi/xgbutil/xrect"
"github.com/Anima-OS/Wonderland/layout"
)
type Client interface {
Id() xproto.Window
String() string
Workspace() Workspacer
WorkspaceSet(wrk Workspacer)
Layout() layout.Layout
Map()
Unmap()
ShouldForceFloating() bool
Focus()
Raise()
Geom() xrect.Rect
DragGeom() xrect.Rect
Iconified() bool
IconifiedSet(iconified bool)
IsSticky() bool
IsActive() bool
HasState(name string) bool
SaveState(name string)
CopyState(src, dest string)
LoadState(name string)
DeleteState(name string)
MROpt(validate bool, flags, x, y, width, height int)
MoveResize(x, y, width, height int)
MoveResizeValid(x, y, width, height int)
Move(x, y int)
Resize(validate bool, width, height int)
FrameTile()
}