Documentation ¶
Overview ¶
wingo is an X window manager written in pure Go that supports floating and tiling window placement policies. It is mostly EWMH and ICCCM compliant. Its "unique" features are per-monitor workspaces and support for both floating and automatic placement policies (where neither is an after thought).
There is more documentation/guides/compliance in the project directory.
Usage:
wingo-cmd [flags]
The flags are:
--replace When set, Wingo will attempt to replace the currently running window manager. This does NOT change your default window manager or edit any files. The worst thing that can happen is X crashing. --config-dir directory When set, Wingo will always try to read configuration files in the directory specified first. (Wingo will otherwise default to $HOME/.config/wingo or /etc/xdg/wingo.) --write-config When set, Wingo will write a fresh set of default configuration files to $HOME/.config/wingo and then exit. Wingo will NOT write any files if $HOME/.config/wingo already exists (to prevent accidentally overwriting an existing configuration). -p num-cpus The maximum number of CPUs that can be executing simultaneously. By default, this is set to the number of CPUs detected by the Go runtime. Anecdotally, Wingo feels snappier in this case. When debugging however, this should be set to '1' in order to see stack traces in their entirety if Wingo crashes. --log-level level The logging level of Wingo. Valid values are 0, 1, 2, 3 or 4. Higher numbers result in more logging. When running normally, this should be set to 2, which includes errors and warnings. When debugging, this should be set to 3, which includes messages that usually are emitted in certain state transitions. (The log level 4 is probably too much for most uses, but it will include messages about hooks matching or not matching.) --log-colors When set, the log output will highlight errors and warning differently from other text using terminal escape sequences. --cpuprofile prof-file When set, a CPU profile will be written to prof-file when Wingo exits.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
package commands defines the Gribble command environment for Wingo.
|
package commands defines the Gribble command environment for Wingo. |
package cursors contains a few pre-defined X cursors that are used throughout Wingo.
|
package cursors contains a few pre-defined X cursors that are used throughout Wingo. |
package focus is responsible for maintaining a stack of all focusable clients in Wingo.
|
package focus is responsible for maintaining a stack of all focusable clients in Wingo. |
package frame draws window decorations around clients managed by Wingo.
|
package frame draws window decorations around clients managed by Wingo. |
package heads manages state and geometry information for each physical active head detected by Xinerama.
|
package heads manages state and geometry information for each physical active head detected by Xinerama. |
package hook defines, reads and executes hooks in Wingo.
|
package hook defines, reads and executes hooks in Wingo. |
package layout implements floating and tiling placement policies for Wingo.
|
package layout implements floating and tiling placement policies for Wingo. |
package logger is a very light wrapper around 'log' so we can control IO.
|
package logger is a very light wrapper around 'log' so we can control IO. |
package misc has some functions that really don't belong in any particular package.
|
package misc has some functions that really don't belong in any particular package. |
package prompt implements several prompt windows that can be used in any X window manager.
|
package prompt implements several prompt windows that can be used in any X window manager. |
examples/cycle
Example cycle shows how to use the cycle prompt.
|
Example cycle shows how to use the cycle prompt. |
examples/input
Example input shows how to use an Input prompt from the prompt pacakge.
|
Example input shows how to use an Input prompt from the prompt pacakge. |
examples/message
Example message shows how to use a Message prompt from the prompt pacakge.
|
Example message shows how to use a Message prompt from the prompt pacakge. |
examples/select
Example select shows how to use a Select prompt from the prompt pacakge.
|
Example select shows how to use a Select prompt from the prompt pacakge. |
package render provides several routines for drawing simple shapes and gradients.
|
package render provides several routines for drawing simple shapes and gradients. |
Package text provides text rendering helper functions and an abstraction to create input text windows.
|
Package text provides text rendering helper functions and an abstraction to create input text windows. |
examples/input
Example input shows how to create a window that reads text typed by the user and displays it.
|
Example input shows how to create a window that reads text typed by the user and displays it. |
Package wini provides an ini-like file parser.
|
Package wini provides an ini-like file parser. |
package wm is a Wingo specific package that maintains the global state of Wingo.
|
package wm is a Wingo specific package that maintains the global state of Wingo. |
Package workspace is responsible for maintaining the state for the workspaces used in Wingo.
|
Package workspace is responsible for maintaining the state for the workspaces used in Wingo. |
package xclient provides an implementation of an X client for use with all of Wingo's sub-packages.
|
package xclient provides an implementation of an X client for use with all of Wingo's sub-packages. |
Click to show internal directories.
Click to hide internal directories.