Skip to content

Bar

A userdata which corresponds to the mounted version of BarProps

A bar is created using monitor:attach

Example

monitor = hitokage.monitor.get_primary()

---@type BarProps
bar_props = {
    children = {
         { Workspace = { halign = "Start", item_height = 24, item_width = 24 } },
         { Box = {} },
         { Clock = { format = "%a %b %u %r", halign = "End" } },
     },
     homogeneous = true,
}

bar_userdata = monitor:attach(bar_props)

Attributes:

Methods:

attr geometry

geometry: MonitorGeometry

Type: MonitorGeometry

Wrapper around get_geometry

attr ready

ready: boolean

Type: boolean

Wrapper around is_ready

attr type

type: 'Bar'

Type: 'Bar'

method get_child_by_id

function get_child_by_id(id: string, recursive: boolean?) -> (Battery|Box|Clock|Cpu|Icon...(+4))?

Gets the first item in the widget tree that has the identifier.

When recursive is set to true the search is performed breadth-first, then in order of components on the tree.

Parameters:

Returns:

method get_children

function get_children() -> table<number, Battery|Box|Clock|Cpu|Icon...(+4)>

Get the children on the box.

Returns:

  • tableBox\|\Clock\|\Cpu\|Icon...(+4)> — A table of Components

method get_class

function get_class() -> table<number, string>

Get the css classes as an array of strings.

Returns:

method get_geometry

function get_geometry() -> MonitorGeometry

Get the geometry of the bar

Returns:

method get_halign

function get_halign() -> 'Baseline'|'Center'|'End'|'Fill'|'Start'...(+1)

Gets the horizontal alignment of widget.

View gtk4 documentation

return #1:
    | 'Fill'
    | 'Start'
    | 'End'
    | 'Center'
    | 'Baseline'

Returns:

method get_height

function get_height() -> integer

Returns the content height of the widget.

To learn more about widget sizes, see the coordinate system overview.

View gtk4 documentation

Returns:

method get_height_request

function get_height_request() -> integer

Gets the height request that was explicitly set for the widget using set_height_request or set_size_request.

A value of -1 stored in height indicates that it has not been set explicitly and the natural requisition of the widget will be used instead. To get the height a widget will actually request, call measure_height instead of this function.

See also: get_width_request, get_size_request.

View gtk4 documentation

Returns:

method get_hexpand

function get_hexpand() -> boolean

Gets whether the widget would like any available extra horizontal space.

View gtk4 documentation

Returns:

method get_homogeneous

function get_homogeneous() -> boolean

Returns whether the box is homogeneous (all children are the same size).

View gtk4 documentation

Returns:

method get_size_request

function get_size_request() -> [integer, integer]

Gets the size request that was explicitly set for the widget using set_size_request.

A value of -1 stored in width or height indicates that that dimension has not been set explicitly and the natural requisition of the widget will be used instead. To get the size a widget will actually request, call measure instead of this function.

See also: get_width_request, get_height_request.

View gtk4 documentation

Returns:

  • [integer, integer]

method get_type

function get_type() -> 'Box'

Get the type of widget

return #1:
    | 'Box'

Returns:

method get_valign

function get_valign() -> 'Baseline'|'Center'|'End'|'Fill'|'Start'...(+1)

Gets the vertical alignment of widget.

View gtk4 documentation

return #1:
    | 'Fill'
    | 'Start'
    | 'End'
    | 'Center'
    | 'Baseline'

Returns:

method get_vexpand

function get_vexpand() -> boolean

Gets whether the widget would like any available extra vertical space.

View gtk4 documentation

Returns:

method get_widget_by_id

function get_widget_by_id(id: string, recursive: boolean?) -> Battery|Box|Clock|Cpu|Icon...(+5)

Deprecated

Use get_child_by_id instead.

Gets the first item in the widget tree that has the identifier.

When recursive is set to true the search is performed breadth-first, then in order of components on the tree.

Parameters:

Returns:

method get_widgets

function get_widgets() -> table<number, Battery|Box|Clock|Cpu|Icon...(+4)>

Deprecated

Use get_children instead.

Get the components on the box.

Returns:

  • tableBox\|\Clock\|\Cpu\|Icon...(+4)> — A table of Components

method get_width

function get_width() -> integer

Returns the content width of the widget.

To learn more about widget sizes, see the coordinate system overview.

View gtk4 documentation

Returns:

method get_width_request

function get_width_request() -> integer

Gets the width request that was explicitly set for the widget using set_width_request or set_size_request.

A value of -1 stored in width indicates that it has not been set explicitly and the natural requisition of the widget will be used instead. To get the width a widget will actually request, call measure_width instead of this function.

See also: get_height_request, get_size_request.

View gtk4 documentation

Returns:

method is_ready

function is_ready() -> boolean

Checks if the bar has been instantiated in gtk4

Returns:

method set_class

function set_class(...string) -> nil

Set the css classes either as a space delimited string or array of strings.

Returns:

method set_halign

function set_halign(halign: 'Baseline'|'Center'|'End'|'Fill'|'Start'...(+1)) -> nil

Sets the horizontal alignment of widget.

View gtk4 documentation

halign:
    | 'Fill'
    | 'Start'
    | 'End'
    | 'Center'
    | 'Baseline'

Parameters:

Returns:

method set_height_request

function set_height_request(height: integer?) -> nil

Sets the minimum height of a widget.

That is, the widget’s size request will be at least height. You can use this function to force a widget to be taller than it normally would be.

If the height request in a given direction is -1 (unset), then the “natural” height request of the widget will be used instead.

See also: set_width_request, set_size_request.

View gtk4 documentation

Parameters:

Returns:

method set_hexpand

function set_hexpand(hexpand: boolean) -> nil

Sets whether the widget would like any available extra horizontal space.

View gtk4 documentation

Parameters:

Returns:

method set_homogeneous

function set_homogeneous(homogeneous: boolean) -> nil

Sets whether or not all children of box are given equal space in the box.

View gtk4 documentation

Parameters:

Returns:

method set_size_request

function set_size_request(size: [integer?, integer?]) -> nil

Sets the minimum size of a widget.

That is, the widget’s size request will be at least width by height. You can use this function to force a widget to be larger than it normally would be.

If the size request in a given direction is -1 (unset), then the “natural” size request of the widget will be used instead.

See also: set_width_request, set_height_request.

View gtk4 documentation

Parameters:

  • size

    ([integer?, integer?])

Returns:

method set_valign

function set_valign(valign: 'Baseline'|'Center'|'End'|'Fill'|'Start'...(+1)) -> nil

Sets the vertical alignment of widget.

View gtk4 documentation

valign:
    | 'Fill'
    | 'Start'
    | 'End'
    | 'Center'
    | 'Baseline'

Parameters:

Returns:

method set_vexpand

function set_vexpand(vexpand: boolean) -> nil

Sets whether the widget would like any available extra vertical space.

View gtk4 documentation

Parameters:

Returns:

method set_width_request

function set_width_request(width: integer?) -> nil

Sets the minimum width of a widget.

That is, the widget’s size request will be at least width. You can use this function to force a widget to be wider than it normally would be.

If the width request in a given direction is -1 (unset), then the “natural” width request of the widget will be used instead.

See also: set_height_request, set_size_request.

View gtk4 documentation

Parameters:

Returns: