common

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	X            *xgbutil.XUtil            // X connection object
	DeskCount    uint                      // Number of desktop workspaces
	CurrentDesk  uint                      // Current desktop
	ViewPorts    Head                      // Physical monitors
	Windows      []xproto.Window           // List of client windows
	ActiveWindow xproto.Window             // Current active window
	Corners      []*Corner                 // Corners for pointer events
	Pointer      *xproto.QueryPointerReply // Pointer position and state
)

Functions

func ConfigFilePath added in v1.1.0

func ConfigFilePath() string

func Connect

func Connect() *xgbutil.XUtil

func DesktopDimensions

func DesktopDimensions() (x, y, w, h int)

func InitArgs added in v1.2.0

func InitArgs(version, commit, date string)

func InitConfig

func InitConfig(defaultConfig []byte)

func InitState

func InitState()

func IsInsideRect

func IsInsideRect(p *xproto.QueryPointerReply, r xrect.Rect) bool

func PhysicalHeadsGet

func PhysicalHeadsGet(rGeom xrect.Rect) xinerama.Heads

func ScreenDimensions

func ScreenDimensions() (x, y, w, h int)

Types

type Arguments added in v1.2.0

type Arguments struct {
	Config string // Argument for config file path
	Lock   string // Argument for lock file path
	Sock   string // Argument for sock file path
	Log    string // Argument for log file path
	VVV    bool   // Argument for very very verbose mode
	VV     bool   // Argument for very verbose mode
	V      bool   // Argument for verbose mode
}
var Args Arguments

type ConfigMapper

type ConfigMapper struct {
	TilingEnabled    bool              `toml:"tiling_enabled"`     // Tile windows on startup
	TilingLayout     string            `toml:"tiling_layout"`      // Initial tiling layout
	TilingGui        int               `toml:"tiling_gui"`         // Time duration of gui
	WindowIgnore     [][]string        `toml:"window_ignore"`      // Regex to ignore windows
	WindowMastersMax int               `toml:"window_masters_max"` // Maximum number of allowed masters
	WindowSlavesMax  int               `toml:"window_slaves_max"`  // Maximum number of allowed slaves
	WindowGapSize    int               `toml:"window_gap_size"`    // Gap size between windows
	WindowDecoration bool              `toml:"window_decoration"`  // Show window decorations
	Proportion       float64           `toml:"proportion"`         // Master-slave area initial proportion
	ProportionStep   float64           `toml:"proportion_step"`    // Master-slave area step size proportion
	ProportionMin    float64           `toml:"proportion_min"`     // Window size minimum proportion
	EdgeMargin       []int             `toml:"edge_margin"`        // Margin values of tiling area
	EdgeCornerSize   int               `toml:"edge_corner_size"`   // Size of square defining edge corners
	EdgeCenterSize   int               `toml:"edge_center_size"`   // Length of rectangle defining edge centers
	Colors           map[string][]int  `toml:"colors"`             // List of color values for gui elements
	Keys             map[string]string `toml:"keys"`               // Event bindings for keyboard shortcuts
	Corners          map[string]string `toml:"corners"`            // Event bindings for hot-corners
}
var Config ConfigMapper

type Corner

type Corner struct {
	Name   string     // Corner name used in config
	Active bool       // Mouse pointer is in this corner
	Area   xrect.Rect // Rectangle area of the corner section
}

func CreateCorner

func CreateCorner(name string, x int, y int, w int, h int) *Corner

func CreateCorners

func CreateCorners() []*Corner

func (*Corner) IsActive

func (c *Corner) IsActive(p *xproto.QueryPointerReply) bool
type Head struct {
	Screens  xinerama.Heads // Screen size (full monitor size)
	Desktops xinerama.Heads // Desktop size (workarea without panels)
}

func ViewPortsGet

func ViewPortsGet(X *xgbutil.XUtil) (Head, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL