Class pinnacle.window.WindowHandle
​
A window handle.
This is a handle to an application window that allows manipulation of the window.
If the window is destroyed, the handle will become invalid and may not do what you want it to.
You can retrieve window handles through the various get
functions in the Window
module.
Fields ​
id ​
id
: integer
The unique id of this window.
Functions ​
method close ​
function pinnacle.window.WindowHandle:close()
Sends a close request to this window.
method set_geometry ​
function pinnacle.window.WindowHandle:set_geometry(geo: { x?: integer, y?: integer, width?: integer, height?: integer })
Sets this window's location and/or size.
The coordinate system has the following axes:
^ -y
|
-x <--+--> +x
|
v +y
Tiled windows will not reflect these changes. This method only applies to this window's floating geometry.
Example ​
local focused = Window.get_focused()
if focused then
focused:set_floating(true) -- `set_geometry` only applies to floating geometry.
focused:set_geometry({ x = 50, y = 300 }) -- Move this window to (50, 300)
focused:set_geometry({ y = 0, height = 1080 }) -- Move this window to y = 0 and make its height 1080 pixels
focused:set_geometry({}) -- Do nothing useful
end
Parameters ​
geo
: { x?: integer, y?: integer, width?: integer, height?: integer }
- The new location and/or size
method set_fullscreen ​
function pinnacle.window.WindowHandle:set_fullscreen(fullscreen: boolean)
Sets this window to fullscreen or not.
Parameters ​
fullscreen
: boolean
method toggle_fullscreen ​
function pinnacle.window.WindowHandle:toggle_fullscreen()
Toggles this window to and from fullscreen.
method set_maximized ​
function pinnacle.window.WindowHandle:set_maximized(maximized: boolean)
Sets this window to maximized or not.
Parameters ​
maximized
: boolean
method toggle_maximized ​
function pinnacle.window.WindowHandle:toggle_maximized()
Toggles this window to and from maximized.
method set_floating ​
function pinnacle.window.WindowHandle:set_floating(floating: boolean)
Sets this window to floating or not.
Parameters ​
floating
: boolean
method toggle_floating ​
function pinnacle.window.WindowHandle:toggle_floating()
Toggles this window to and from floating.
method set_focused ​
function pinnacle.window.WindowHandle:set_focused(focused: boolean)
Focuses or unfocuses this window.
Parameters ​
focused
: boolean
method toggle_focused ​
function pinnacle.window.WindowHandle:toggle_focused()
Toggles this window to and from focused.
method set_decoration_mode ​
function pinnacle.window.WindowHandle:set_decoration_mode(mode: "client_side" | "server_side")
Sets this window's decoration mode.
If not set, the client is allowed to choose its decoration mode, defaulting to client-side if it doesn't.
Parameters ​
mode
: "client_side" | "server_side"
- "client_side"
to enable CSD, or "server_side"
to enable CSD.
method move_to_tag ​
function pinnacle.window.WindowHandle:move_to_tag(tag: pinnacle.tag.TagHandle)
Moves this window to the specified tag.
This will remove all tags from this window and add the tag tag
.
Parameters ​
tag
: pinnacle.tag.TagHandle
- The tag to move this window to
method set_tag ​
function pinnacle.window.WindowHandle:set_tag(tag: pinnacle.tag.TagHandle, set: boolean)
Adds or removes the given tag to or from this window.
Parameters ​
tag
: pinnacle.tag.TagHandle
- The tag to set or unsetset
: boolean
method toggle_tag ​
function pinnacle.window.WindowHandle:toggle_tag(tag: pinnacle.tag.TagHandle)
Toggles the given tag on this window.
Parameters ​
tag
: pinnacle.tag.TagHandle
- The tag to toggle
method raise ​
function pinnacle.window.WindowHandle:raise()
Raises a window.
This will bring the window to the front.
method is_on_active_tag ​
function pinnacle.window.WindowHandle:is_on_active_tag()
-> boolean
Returns whether or not this window is on an active tag.
Returns ​
boolean
method loc ​
function pinnacle.window.WindowHandle:loc()
-> { x: integer, y: integer }?
Gets this window's location.
Returns ​
{ x: integer, y: integer }
method size ​
function pinnacle.window.WindowHandle:size()
-> { width: integer, height: integer }?
Gets this window's location.
Returns ​
{ width: integer, height: integer }
method app_id ​
function pinnacle.window.WindowHandle:app_id()
-> string
Gets this window's class.
Returns ​
string
method title ​
function pinnacle.window.WindowHandle:title()
-> string
Gets this window's title.
Returns ​
string
method focused ​
function pinnacle.window.WindowHandle:focused()
-> boolean
Gets whether or not this window is focused.
Returns ​
boolean
method floating ​
function pinnacle.window.WindowHandle:floating()
-> boolean
Gets whether or not this window is floating.
Returns ​
boolean
method tiled ​
function pinnacle.window.WindowHandle:tiled()
-> boolean
Gets whether this window is tiled.
Returns ​
boolean
method fullscreen ​
function pinnacle.window.WindowHandle:fullscreen()
-> boolean
Gets whether this window is fullscreen.
Returns ​
boolean
method maximized ​
function pinnacle.window.WindowHandle:maximized()
-> boolean
Gets whether this window is maximized.
Returns ​
boolean
method tags ​
function pinnacle.window.WindowHandle:tags()
-> pinnacle.tag.TagHandle[]
Gets all tags on this window.