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.
-- 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
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
andbottom
. (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)