Documentation ¶
Index ¶
- Constants
- Variables
- func ActiveWindowGet(X *xgbutil.XUtil) xproto.Window
- func ClientListStackingGet(X *xgbutil.XUtil) []xproto.Window
- func Connected() bool
- func CurrentDesktopGet(X *xgbutil.XUtil) uint
- func DesktopDimensions(screenNum uint) (x, y, w, h int)
- func GetScreenNum(geom xrect.Rect) uint
- func InitRoot()
- func IsIgnored(info *Info) bool
- func IsMaximized(w xproto.Window) bool
- func IsSpecial(info *Info) bool
- func NumberOfDesktopsGet(X *xgbutil.XUtil) uint
- func OnPointerUpdate(fun func(uint16))
- func OnStateUpdate(fun func(string))
- func PointerGet(X *xgbutil.XUtil) *common.Pointer
- func PointerUpdate(X *xgbutil.XUtil) *common.Pointer
- func ScreenNumGet(p *common.Pointer) uint
- func StateUpdate(X *xgbutil.XUtil, e xevent.PropertyNotifyEvent)
- type Client
- func (c *Client) Activate()
- func (c *Client) Cache() common.Cache[*Info]
- func (c *Client) LimitDimensions(w, h int)
- func (c *Client) Lock()
- func (c *Client) MoveResize(x, y, w, h int)
- func (c *Client) OuterGeometry() (x, y, w, h int)
- func (c *Client) Read() *Info
- func (c *Client) Restore(flag uint8)
- func (c *Client) UnDecorate()
- func (c *Client) UnLock()
- func (c *Client) UnMaximize()
- func (c *Client) Update()
- func (c *Client) Write()
- type Clients
- type Corner
- type Dimensions
- type Directions
- type Geometry
- type Head
- type Heads
- type Hints
- type Info
- type Location
- type Manager
- func (mg *Manager) AddClient(c *Client)
- func (mg *Manager) Clients(flag uint8) []*Client
- func (mg *Manager) DecreaseMaster()
- func (mg *Manager) DecreaseProportion()
- func (mg *Manager) DecreaseSlave()
- func (mg *Manager) IncreaseMaster()
- func (mg *Manager) IncreaseProportion()
- func (mg *Manager) IncreaseSlave()
- func (mg *Manager) Index(windows *Clients, c *Client) int
- func (mg *Manager) IsMaster(c *Client) bool
- func (mg *Manager) IsSlave(c *Client) bool
- func (mg *Manager) MakeMaster(c *Client)
- func (mg *Manager) NextClient() *Client
- func (mg *Manager) Ordered(windows *Clients) []*Client
- func (mg *Manager) PreviousClient() *Client
- func (mg *Manager) RemoveClient(c *Client)
- func (mg *Manager) SetProportions(ps []float64, pi float64, i int, j int) bool
- func (mg *Manager) SwapClient(c1 *Client, c2 *Client)
- func (mg *Manager) Visible(windows *Clients) []*Client
- type Proportions
Constants ¶
View Source
const ( Original uint8 = 1 // Flag to restore original info Cached uint8 = 2 // Flag to restore cached info Latest uint8 = 3 // Flag to restore latest info )
View Source
const ( Stacked uint8 = 1 // Flag for stacked (all) clients Visible uint8 = 2 // Flag for visible (top) clients )
Variables ¶
View Source
var ( X *xgbutil.XUtil // X connection object DeskCount uint // Number of desktops ScreenCount uint // Number of screens CurrentDesk uint // Current desktop number CurrentScreen uint // Current screen number CurrentPointer *common.Pointer // Pointer position ActiveWindow xproto.Window // Current active window Windows []xproto.Window // List of client windows Displays Heads // Physical connected displays Corners []*Corner // Corners for pointer events )
Functions ¶
func CurrentDesktopGet ¶
func DesktopDimensions ¶
func GetScreenNum ¶
func IsMaximized ¶
func NumberOfDesktopsGet ¶
func OnPointerUpdate ¶
func OnPointerUpdate(fun func(uint16))
func OnStateUpdate ¶
func OnStateUpdate(fun func(string))
func ScreenNumGet ¶
func StateUpdate ¶
func StateUpdate(X *xgbutil.XUtil, e xevent.PropertyNotifyEvent)
Types ¶
type Client ¶
type Client struct { Win *xwindow.Window `json:"-"` // X window object Created time.Time // Internal client creation time Locked bool // Internal client move/resize lock Original *Info // Original client window information Cached *Info // Cached client window information Latest *Info // Latest client window information }
func CreateClient ¶
func (*Client) LimitDimensions ¶
func (*Client) MoveResize ¶
func (*Client) OuterGeometry ¶
func (*Client) UnDecorate ¶
func (c *Client) UnDecorate()
func (*Client) UnMaximize ¶
func (c *Client) UnMaximize()
type Corner ¶
type Corner struct { Name string // Corner name used in config Active bool // Mouse pointer is in this corner ScreenNum uint // Screen number the corner is located Area xrect.Rect // Rectangle area of the corner section }
func CreateCorner ¶
func CreateCorners ¶
func CreateCorners() []*Corner
type Dimensions ¶
type Dimensions struct { Geometry Geometry // Client window geometry Hints Hints // Client window dimension hints Extents ewmh.FrameExtents // Client window geometry extents AdjPos bool // Position adjustments on move/resize AdjSize bool // Size adjustments on move/resize AdjRestore bool // Disable adjustments on restore }
type Directions ¶
type Head ¶
type Head struct { Id uint32 // Head output id (display id) Name string // Head output name (display name) Primary bool // Head primary flag (primary display) xrect.Rect // Head dimensions (x/y/width/height) }
func PhysicalHeadsGet ¶
type Heads ¶
type Heads struct { Name string // Unique heads name (display summary) Screens []Head // Screen dimensions (full display size) Desktops []Head // Desktop dimensions (desktop without panels) }
func DisplaysGet ¶
type Hints ¶
type Hints struct { Normal icccm.NormalHints // Client window geometry hints Motif motif.Hints // Client window decoration hints }
type Info ¶
type Manager ¶
type Manager struct { Name string // Manager name with window clients Location *Location // Manager workspace and screen location Proportions *Proportions // Manager proportions of window clients Masters *Clients // List of master window clients Slaves *Clients // List of slave window clients }
func CreateManager ¶
func (*Manager) DecreaseMaster ¶
func (mg *Manager) DecreaseMaster()
func (*Manager) DecreaseProportion ¶
func (mg *Manager) DecreaseProportion()
func (*Manager) DecreaseSlave ¶
func (mg *Manager) DecreaseSlave()
func (*Manager) IncreaseMaster ¶
func (mg *Manager) IncreaseMaster()
func (*Manager) IncreaseProportion ¶
func (mg *Manager) IncreaseProportion()
func (*Manager) IncreaseSlave ¶
func (mg *Manager) IncreaseSlave()
func (*Manager) MakeMaster ¶
func (*Manager) NextClient ¶
func (*Manager) PreviousClient ¶
func (*Manager) RemoveClient ¶
func (*Manager) SetProportions ¶
func (*Manager) SwapClient ¶
Click to show internal directories.
Click to hide internal directories.