Class awful.titlebar

Titlebars for awful.

Create a titlebar:

This example reproduces what the default rc.lua does. It shows how to handle the titlebars on a lower level.

Usage example

-- Create a titlebar for the client.
-- By default, awful.rules will create one, but all it does is to call this
-- function.
local top_titlebar = awful.titlebar(c, {
    height    = 20,
    bg_normal = '#ff0000',
})
-- buttons for the titlebar
local buttons = gears.table.join(
    awful.button({ }, 1, function()
        client.focus = c
        c:raise()
        awful.mouse.client.move(c)
    end),
    awful.button({ }, 3, function()
        client.focus = c
        c:raise()
        awful.mouse.client.resize(c)
    end)
)
top_titlebar : setup {
    { -- Left
        awful.titlebar.widget.iconwidget(c),
        buttons = buttons,
        layout  = wibox.layout.fixed.horizontal
    },
    { -- Middle
        { -- Title
            align  = 'center',
            widget = awful.titlebar.widget.titlewidget(c)
        },
        buttons = buttons,
        layout  = wibox.layout.flex.horizontal
    },
    { -- Right
        awful.titlebar.widget.floatingbutton (c),
        awful.titlebar.widget.maximizedbutton(c),
        awful.titlebar.widget.stickybutton   (c),
        awful.titlebar.widget.ontopbutton    (c),
        awful.titlebar.widget.closebutton    (c),
        layout = wibox.layout.fixed.horizontal()
    },
    layout = wibox.layout.align.horizontal
}

Info:

  • Copyright: 2012 Uli Schlachter
  • Author: Uli Schlachter

Functions

awful.titlebar (c[, args={}]) Get a client’s titlebar.
titlebar.widget.titlewidget (c) Create a new titlewidget.
titlebar.widget.iconwidget (c) Create a new icon widget.
titlebar.widget.button (c, name, selector, action) Create a new button widget.
titlebar.widget.floatingbutton (c) Create a new float button for a client.
titlebar.widget.maximizedbutton (c) Create a new maximize button for a client.
titlebar.widget.minimizebutton (c) Create a new minimize button for a client.
titlebar.widget.closebutton (c) Create a new closing button for a client.
titlebar.widget.ontopbutton (c) Create a new ontop button for a client.
titlebar.widget.stickybutton (c) Create a new sticky button for a client.

Theme variables

beautiful.titlebar_fg_normal The titlebar foreground (text) color.
beautiful.titlebar_bg_normal The titlebar background color.
beautiful.titlebar_bgimage_normal The titlebar background image image.
beautiful.titlebar_fg The titlebar foreground (text) color.
beautiful.titlebar_bg The titlebar background color.
beautiful.titlebar_bgimage The titlebar background image image.
beautiful.titlebar_fg_focus The focused titlebar foreground (text) color.
beautiful.titlebar_bg_focus The focused titlebar background color.
beautiful.titlebar_bgimage_focus The focused titlebar background image image.
beautiful.titlebar_floating_button_normal floating_button_normal.
beautiful.titlebar_maximized_button_normal maximized_button_normal.
beautiful.titlebar_minimize_button_normal minimize_button_normal.
beautiful.titlebar_minimize_button_normal_hover minimize_button_normal_hover.
beautiful.titlebar_minimize_button_normal_press minimize_button_normal_press.
beautiful.titlebar_close_button_normal close_button_normal.
beautiful.titlebar_close_button_normal_hover close_button_normal_hover.
beautiful.titlebar_close_button_normal_press close_button_normal_press.
beautiful.titlebar_ontop_button_normal ontop_button_normal.
beautiful.titlebar_sticky_button_normal sticky_button_normal.
beautiful.titlebar_floating_button_focus floating_button_focus.
beautiful.titlebar_maximized_button_focus maximized_button_focus.
beautiful.titlebar_minimize_button_focus minimize_button_focus.
beautiful.titlebar_minimize_button_focus_hover minimize_button_focus_hover.
beautiful.titlebar_minimize_button_focus_press minimize_button_focus_press.
beautiful.titlebar_close_button_focus close_button_focus.
beautiful.titlebar_close_button_focus_hover close_button_focus_hover.
beautiful.titlebar_close_button_focus_press close_button_focus_press.
beautiful.titlebar_ontop_button_focus ontop_button_focus.
beautiful.titlebar_sticky_button_focus sticky_button_focus.
beautiful.titlebar_floating_button_normal_active floating_button_normal_active.
beautiful.titlebar_floating_button_normal_active_hover floating_button_normal_active_hover.
beautiful.titlebar_floating_button_normal_active_press floating_button_normal_active_press.
beautiful.titlebar_maximized_button_normal_active maximized_button_normal_active.
beautiful.titlebar_maximized_button_normal_active_hover maximized_button_normal_active_hover.
beautiful.titlebar_maximized_button_normal_active_press maximized_button_normal_active_press.
beautiful.titlebar_ontop_button_normal_active ontop_button_normal_active.
beautiful.titlebar_ontop_button_normal_active_hover ontop_button_normal_active_hover.
beautiful.titlebar_ontop_button_normal_active_press ontop_button_normal_active_press.
beautiful.titlebar_sticky_button_normal_active sticky_button_normal_active.
beautiful.titlebar_sticky_button_normal_active_hover sticky_button_normal_active_hover.
beautiful.titlebar_sticky_button_normal_active_press sticky_button_normal_active_press.
beautiful.titlebar_floating_button_focus_active floating_button_focus_active.
beautiful.titlebar_floating_button_focus_active_hover floating_button_focus_active_hover.
beautiful.titlebar_floating_button_focus_active_press floating_button_focus_active_press.
beautiful.titlebar_maximized_button_focus_active maximized_button_focus_active.
beautiful.titlebar_maximized_button_focus_active_hover maximized_button_focus_active_hover.
beautiful.titlebar_maximized_button_focus_active_press maximized_button_focus_active_press.
beautiful.titlebar_ontop_button_focus_active ontop_button_focus_active.
beautiful.titlebar_ontop_button_focus_active_hover ontop_button_focus_active_hover.
beautiful.titlebar_ontop_button_focus_active_press ontop_button_focus_active_press.
beautiful.titlebar_sticky_button_focus_active sticky_button_focus_active.
beautiful.titlebar_sticky_button_focus_active_hover sticky_button_focus_active_hover.
beautiful.titlebar_sticky_button_focus_active_press sticky_button_focus_active_press.
beautiful.titlebar_floating_button_normal_inactive floating_button_normal_inactive.
beautiful.titlebar_floating_button_normal_inactive_hover floating_button_normal_inactive_hover.
beautiful.titlebar_floating_button_normal_inactive_press floating_button_normal_inactive_press.
beautiful.titlebar_maximized_button_normal_inactive maximized_button_normal_inactive.
beautiful.titlebar_maximized_button_normal_inactive_hover maximized_button_normal_inactive_hover.
beautiful.titlebar_maximized_button_normal_inactive_press maximized_button_normal_inactive_press.
beautiful.titlebar_ontop_button_normal_inactive ontop_button_normal_inactive.
beautiful.titlebar_ontop_button_normal_inactive_hover ontop_button_normal_inactive_hover.
beautiful.titlebar_ontop_button_normal_inactive_press ontop_button_normal_inactive_press.
beautiful.titlebar_sticky_button_normal_inactive sticky_button_normal_inactive.
beautiful.titlebar_sticky_button_normal_inactive_hover sticky_button_normal_inactive_hover.
beautiful.titlebar_sticky_button_normal_inactive_press sticky_button_normal_inactive_press.
beautiful.titlebar_floating_button_focus_inactive floating_button_focus_inactive.
beautiful.titlebar_floating_button_focus_inactive_hover floating_button_focus_inactive_hover.
beautiful.titlebar_floating_button_focus_inactive_press floating_button_focus_inactive_press.
beautiful.titlebar_maximized_button_focus_inactive maximized_button_focus_inactive.
beautiful.titlebar_maximized_button_focus_inactive_hover maximized_button_focus_inactive_hover.
beautiful.titlebar_maximized_button_focus_inactive_press maximized_button_focus_inactive_press.
beautiful.titlebar_ontop_button_focus_inactive ontop_button_focus_inactive.
beautiful.titlebar_ontop_button_focus_inactive_hover ontop_button_focus_inactive_hover.
beautiful.titlebar_ontop_button_focus_inactive_press ontop_button_focus_inactive_press.
beautiful.titlebar_sticky_button_focus_inactive sticky_button_focus_inactive.
beautiful.titlebar_sticky_button_focus_inactive_hover sticky_button_focus_inactive_hover.
beautiful.titlebar_sticky_button_focus_inactive_press sticky_button_focus_inactive_press.

Fields

awful.titlebar.enable_tooltip Show tooltips when hover on titlebar buttons.
awful.titlebar.fallback_name Title to display if client name is not set.

Methods

awful.titlebar:setup (args) Set a declarative widget hierarchy description.
awful.titlebar:show (c[, position]) Show a client’s titlebar.
awful.titlebar:hide (c[, position]) Hide a client’s titlebar.
awful.titlebar:toggle (c[, position]) Toggle a client’s titlebar, hiding it if it is visible, otherwise showing it.


Functions

Methods
awful.titlebar (c[, args={}])
Get a client’s titlebar.
  • c client The client for which a titlebar is wanted.
  • args A table with extra arguments for the titlebar.
    • size number The height of the titlebar. (default font.height*1.5)
    • position string “ values are top, left, right and bottom. (default top)
    • bg_normal string (default top)
    • bg_focus string (default top)
    • bgimage_normal string (default top)
    • bgimage_focus string (default top)
    • fg_normal string (default top)
    • fg_focus string (default top)
    • font string (default top)
titlebar.widget.titlewidget (c)
Create a new titlewidget. A title widget displays the name of a client. Please note that this returns a textbox and all of textbox' API is available. This way, you can e.g. modify the font that is used.
  • c The client for which a titlewidget should be created.

Returns:

    The title widget.
titlebar.widget.iconwidget (c)
Create a new icon widget. An icon widget displays the icon of a client. Please note that this returns an imagebox and all of the imagebox' API is available. This way, you can e.g. disallow resizes.
  • c The client for which an icon widget should be created.

Returns:

    The icon widget.
titlebar.widget.button (c, name, selector, action)
Create a new button widget. A button widget displays an image and reacts to mouse clicks. Please note that the caller has to make sure that this widget gets redrawn when needed by calling the returned widget’s update() function. The selector function should return a value describing a state. If the value is a boolean, either “active” or “inactive” are used. The actual image is then found in the theme as “titlebar[name]button[normal/focus][state]”. If that value does not exist, the focused state is ignored for the next try.
  • c The client for which a button is created.
  • name string Name of the button, used for accessing the theme and in the tooltip.
  • selector A function that selects the image that should be displayed.
  • action Function that is called when the button is clicked.

Returns:

    The widget
titlebar.widget.floatingbutton (c)
Create a new float button for a client.
  • c The client for which the button is wanted.
titlebar.widget.maximizedbutton (c)
Create a new maximize button for a client.
  • c The client for which the button is wanted.
titlebar.widget.minimizebutton (c)
Create a new minimize button for a client.
  • c The client for which the button is wanted.
titlebar.widget.closebutton (c)
Create a new closing button for a client.
  • c The client for which the button is wanted.
titlebar.widget.ontopbutton (c)
Create a new ontop button for a client.
  • c The client for which the button is wanted.
titlebar.widget.stickybutton (c)
Create a new sticky button for a client.
  • c The client for which the button is wanted.

Theme variables

beautiful.titlebar_fg_normal
The titlebar foreground (text) color.

Type:

  • color

See also:

beautiful.titlebar_bg_normal
The titlebar background color.

Type:

  • color

See also:

beautiful.titlebar_bgimage_normal
The titlebar background image image.

Type:

  • surface

See also:

beautiful.titlebar_fg
The titlebar foreground (text) color.

Type:

  • color

See also:

beautiful.titlebar_bg
The titlebar background color.

Type:

  • color

See also:

beautiful.titlebar_bgimage
The titlebar background image image.

Type:

  • surface

See also:

beautiful.titlebar_fg_focus
The focused titlebar foreground (text) color.

Type:

  • color

See also:

beautiful.titlebar_bg_focus
The focused titlebar background color.

Type:

  • color

See also:

beautiful.titlebar_bgimage_focus
The focused titlebar background image image.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal
floating_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal
maximized_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_normal
minimize_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_normal_hover
minimize_button_normal_hover.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_normal_press
minimize_button_normal_press.

Type:

  • surface

See also:

beautiful.titlebar_close_button_normal
close_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_close_button_normal_hover
close_button_normal_hover.

Type:

  • surface

See also:

beautiful.titlebar_close_button_normal_press
close_button_normal_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal
ontop_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal
sticky_button_normal.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus
floating_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus
maximized_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_focus
minimize_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_focus_hover
minimize_button_focus_hover.

Type:

  • surface

See also:

beautiful.titlebar_minimize_button_focus_press
minimize_button_focus_press.

Type:

  • surface

See also:

beautiful.titlebar_close_button_focus
close_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_close_button_focus_hover
close_button_focus_hover.

Type:

  • surface

See also:

beautiful.titlebar_close_button_focus_press
close_button_focus_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus
ontop_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus
sticky_button_focus.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_active
floating_button_normal_active.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_active_hover
floating_button_normal_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_active_press
floating_button_normal_active_press.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_active
maximized_button_normal_active.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_active_hover
maximized_button_normal_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_active_press
maximized_button_normal_active_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_active
ontop_button_normal_active.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_active_hover
ontop_button_normal_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_active_press
ontop_button_normal_active_press.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_active
sticky_button_normal_active.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_active_hover
sticky_button_normal_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_active_press
sticky_button_normal_active_press.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_active
floating_button_focus_active.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_active_hover
floating_button_focus_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_active_press
floating_button_focus_active_press.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_active
maximized_button_focus_active.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_active_hover
maximized_button_focus_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_active_press
maximized_button_focus_active_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_active
ontop_button_focus_active.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_active_hover
ontop_button_focus_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_active_press
ontop_button_focus_active_press.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_active
sticky_button_focus_active.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_active_hover
sticky_button_focus_active_hover.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_active_press
sticky_button_focus_active_press.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_inactive
floating_button_normal_inactive.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_inactive_hover
floating_button_normal_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_normal_inactive_press
floating_button_normal_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_inactive
maximized_button_normal_inactive.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_inactive_hover
maximized_button_normal_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_normal_inactive_press
maximized_button_normal_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_inactive
ontop_button_normal_inactive.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_inactive_hover
ontop_button_normal_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_normal_inactive_press
ontop_button_normal_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_inactive
sticky_button_normal_inactive.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_inactive_hover
sticky_button_normal_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_normal_inactive_press
sticky_button_normal_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_inactive
floating_button_focus_inactive.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_inactive_hover
floating_button_focus_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_floating_button_focus_inactive_press
floating_button_focus_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_inactive
maximized_button_focus_inactive.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_inactive_hover
maximized_button_focus_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_maximized_button_focus_inactive_press
maximized_button_focus_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_inactive
ontop_button_focus_inactive.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_inactive_hover
ontop_button_focus_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_ontop_button_focus_inactive_press
ontop_button_focus_inactive_press.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_inactive
sticky_button_focus_inactive.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_inactive_hover
sticky_button_focus_inactive_hover.

Type:

  • surface

See also:

beautiful.titlebar_sticky_button_focus_inactive_press
sticky_button_focus_inactive_press.

Type:

  • surface

See also:

Fields

awful.titlebar.enable_tooltip
Show tooltips when hover on titlebar buttons.
awful.titlebar.fallback_name
Title to display if client name is not set.

Methods

awful.titlebar:setup (args)
Set a declarative widget hierarchy description. See The declarative layout system
  • args An array containing the widgets disposition
awful.titlebar:show (c[, position])
Show a client’s titlebar.
  • c The client whose titlebar is modified
  • position The position of the titlebar. Must be one of “left”, “right”, “top”, “bottom”. Default is “top”. (optional)
awful.titlebar:hide (c[, position])
Hide a client’s titlebar.
  • c The client whose titlebar is modified
  • position The position of the titlebar. Must be one of “left”, “right”, “top”, “bottom”. Default is “top”. (optional)
awful.titlebar:toggle (c[, position])
Toggle a client’s titlebar, hiding it if it is visible, otherwise showing it.
  • c The client whose titlebar is modified
  • position The position of the titlebar. Must be one of “left”, “right”, “top”, “bottom”. Default is “top”. (optional)
generated by LDoc 1.4.6 Last updated 2022-09-28 18:14:15