Bot releases are visible (Hide)
Awesome v4.3 is the third release of the 4.x API. It comes after one and a half years of little fixes and improvements. Awesome v4.2 was very stable thanks to everybody's effort to unit test everything. Given no major bug warranted a new release, this one adds a few large features while preserving full compatibility with existing user configurations.
gears.string
now has a endswith
and startswith
functionsluarocks
modules are now automatically available in Awesomewibox.widget.base.make_widget_from_value
)to_widget()
and save_to_svg()
methods.immobilized_horizontal
and immobilized_vertical
property to know if they can currently be moved or resized (for example, it is set to false when maximized)gears.timer
objects now have a call_now
method.termite
keybindingsinput_passthrough
property to send mouse clicks to the object below.taglist
and tasklist
now support the declarative constructor syntaxawesome.pixbuf_to_surface
to convert a GdkPixbuf
to a cairo surface.notification_icon_size
gears.sort
module has been added with graph resolutionawesome-client
now runs code in a protected contextbeautiful.maximized_hide_border
theme option to hide the border for maximized clients.client
startup_id
field is now writable. This is useful when the client native implementation is not present or too buggy to be used.awful.widget.prompt
now has a with_shell
option to allow Bash/ZSH aliases, function and environment variables to be used in commands.awful.titlebar
s now have a fallback_name
when a client has no name
property.motif_wm_hints
property to reflect some hints using the Motif X11 property extension. This is used by some modern toolkits including GTK.requests_no_titlebar
property to expose when a client has client side titlebars (also known as decorations and CSD)show_awesome_keys
option.awful.widget.prompt
now has more of the awful.prompt
constructor arguments.awful.layout.get_tag_layout_index()
function to get the index of the current layout in the global layout list (awful.layout..layouts
)wibox.layout.manual
layout now has an :insert()
method.The screen now has a read/write dpi
property and awful.screen.set_auto_dpi_enabled(true)
can be used to automatically set the DPI for many Awesome elements. Please note that it is not backward compatible and breaks many widget. As AwesomeWM always used pixels as the de-facto metric for sizes, enabling auto_dpi
will break most existing configs. However, for people who use such setup, it might be worth speding some time to fix their config.
awful.rules
providers and better awful.spawn
functionsThere is two new functions called awful.rules.add_rule_source
and awful.rules.remove_rule_source
. They allow to create a dependency graph for where a rule comes from and which provider has the priority when setting it.
Previously, there were the normal properties, awful.rules.high_priority_properties
and awful.rules.delayed_properties
. This didn't scale and could not represent all corner cases. Those table still exist and are still honored, but there is now a system that can handle the full complexity of the property priority graph.
This is used by default in awful.spawn
. The reliability of attaching properties to spawn
calls has been improved. On top of this, three new functions were added
awful.spawn.once
awful.spawn.single_instance
awful.spawn.raise_or_spawn
They allow to specify that a command should only have one running instance. This works across restart too, so all hacks to handle restarting Awesome are no longer required.
Note that the client.startup_id
isn't supported by all applications and a Linux-specific workaround is recommended to improve the reliability of the awful.spawn
functions.
The keygrabber
module API was rebuilt from scratch to make it more usable. The previous API was very low level, very close to how it actually work, but was disconnected from how keygrabbers are used in a window manager. Getting anything done with the previous API required a lot of boilerplate code and had many corner cases to handle. The new API has built-in support for the most common use cases and is fully declarative.
A new theme has been added. It reads the GTK theme colors and use them in the wibar
, menu
and titlebar
. It helps create an uniform look and feel between the window manager and client applications with minimal efforts.
wibox.widget.separator
widget was added.spacing
widgets for all layouts.awful.widget.taglist
and awful.widget.tasklist
now support creating custom widgets for each elements.popup
widget allows to bypass most of the boilerplate code and easily display widgets on the screen.awful.widget.layoutlist
allows to easily display and select the client layout from a widget.awful.rules
is not found.textclock
is now generally more robust with formatting issues, timezones and declarative constructors.rc.lua
uses request::activate
to set the focus. This fixes many corner case such as unfocusable clients getting the focus.awful.spawn
with a set of properties is now more reliable.awful.key.execute
is now much more reliable.nil
instead. This could break code that uses pcall
to check if a screen exists. This code now needs to be changed to check for a nil
return instead. In practice it is unlikely anyone will notice the difference.Published by psychon over 7 years ago
Awesome v4.2 is the second release of the 4.x API. It mostly fixes the bugs
reported over the last 3 months and adds a couple widgets. Almost 150 issues
have been resolved or decided to be obsolete.
xmodmap
is now much fastermagnifier
layout has been fixedignore_suspend
flagtextclock
widget now supports timezonesgears.string.split
gears.table.map
gears.filesystem.make_parent_directories
gears
module):
wibox.widget.draw_to_cairo_context
wibox.widget.draw_to_svg_file
wibox.widget.draw_to_image_surface
request::geometry
signal handler.wibox.layout.manual
layout has been added (see below)calendar
widgets have been added, a widget and a popup (see below)ratio
layout now supports various strategies to redistribute spacestack
layout now supports offsetsnaughty.destroy_all_notifications()
functionxresources
theme now supports the titlebar hover
and press
statesproperty::floating
is now also emitted when the floatingPublished by psychon over 7 years ago
Awesome v4.1 is the first stable release for the Awesome 4.0 API. It adds non-breaking new features and fixes bugs.
The main purpose of the release is to provide stability while also adding features submitted by our contributors. This release contains about 350 commits by 35 contributors, including many new developers. Thanks a lot.
The shape API has been extended to both client, notifications and wibox.
The prompt now supports syntax highlight and more advanced key hooks.
The prompt widget gained many new themes variables.
There is a new 2D grid layout with rowspan and colspan support.
There is a new only_on_screen
container to make it easier to share wiboxes across multiple screens.
Various documentation improvements. Thanks for the feedbacks.
The taglist now has volatile
theme variables.
There is now extra enviroment variables such as AWESOME_ICON_PATH
and
AWESOME_THEMES_PATH
for those who prefer not installing Awesome.
Dynamic "C" Lua libraries are now detected like pure Lua ones.
gears.timer
gained many new constructor arguments to make it easier to use.
Input shape mask are now supported. It is possible to create a wibox with
passthough inputs.
There is a new awful.widget.client_icon
widget capable of fetching icons of different sizes.
This release adds a ton of new theme variables to make Awesome prettier. We also thank all users who submitted screenshot.
theme.arcchart_thickness
theme.enable_spawn_cursor
theme.fullscreen_hide_border
theme.hotkeys_bg
theme.hotkeys_border_colo
theme.hotkeys_border_width
theme.hotkeys_description_font
theme.hotkeys_fg
theme.hotkeys_font
theme.hotkeys_group_margin
theme.hotkeys_label_bg
theme.hotkeys_label_fg
theme.hotkeys_modifiers_fg
theme.hotkeys_shape
theme.maximized_honor_padding
theme.notification_bg
theme.notification_border_color
theme.notification_border_width
theme.notification_fg
theme.notification_font
theme.notification_height
theme.notification_margin
theme.notification_opacity
theme.notification_shape
theme.notification_width
theme.prompt_bg_cursor
theme.prompt_bg
theme.prompt_fg_cursor
theme.prompt_fg
theme.prompt_font
theme.taglist_bg_volatile
theme.taglist_fg_volatile
theme.taglist_shape_border_color_volatile
theme.taglist_shape_border_width_volatile
theme.taglist_shape_volatile
theme.taglist_spacing
theme.tasklist_disable_icon
theme.tasklist_disable_task_name
theme.titlebar_close_button_focus_hover
theme.titlebar_close_button_focus_press
theme.titlebar_close_button_normal_hover
theme.titlebar_close_button_normal_press
theme.titlebar_floating_button_focus_active_hover
theme.titlebar_floating_button_focus_active_press
theme.titlebar_floating_button_focus_inactive_hover
theme.titlebar_floating_button_focus_inactive_press
theme.titlebar_floating_button_normal_active_hover
theme.titlebar_floating_button_normal_active_press
theme.titlebar_floating_button_normal_inactive_hover
theme.titlebar_floating_button_normal_inactive_press
theme.titlebar_maximized_button_focus_active_hover
theme.titlebar_maximized_button_focus_active_press
theme.titlebar_maximized_button_focus_inactive_hover
theme.titlebar_maximized_button_focus_inactive_press
theme.titlebar_maximized_button_normal_active_hover
theme.titlebar_maximized_button_normal_active_press
theme.titlebar_maximized_button_normal_inactive_hover
theme.titlebar_maximized_button_normal_inactive_press
theme.titlebar_minimize_button_focus_hover
theme.titlebar_minimize_button_focus_press
theme.titlebar_minimize_button_normal_hover
theme.titlebar_minimize_button_normal_press
theme.titlebar_ontop_button_focus_active_hover
theme.titlebar_ontop_button_focus_active_press
theme.titlebar_ontop_button_focus_inactive_hover
theme.titlebar_ontop_button_focus_inactive_press
theme.titlebar_ontop_button_normal_active_hover
theme.titlebar_ontop_button_normal_active_press
theme.titlebar_ontop_button_normal_inactive_hover
theme.titlebar_ontop_button_normal_inactive_press
theme.titlebar_sticky_button_focus_active_hover
theme.titlebar_sticky_button_focus_active_press
theme.titlebar_sticky_button_focus_inactive_hover
theme.titlebar_sticky_button_focus_inactive_press
theme.titlebar_sticky_button_normal_active_hover
theme.titlebar_sticky_button_normal_active_press
theme.titlebar_sticky_button_normal_inactive_hover
theme.titlebar_sticky_button_normal_inactive_press
theme.wibar_bgimage
theme.wibar_bg
theme.wibar_border_color
theme.wibar_border_width
theme.wibar_cursor
theme.wibar_fg
theme.wibar_height
theme.wibar_ontop
theme.wibar_opacity
theme.wibar_shape
theme.wibar_stretch
theme.wibar_type
theme.wibar_width
rc.lua
) is now more robustThis is a stable release and we tried to minimize any upgrade impact. However
various bugfixes induced minor, not noticeable, changes:
awful.util
has been split into multiple modules in the gears
library to reduce the dependency graph. This allows for better unit testing. awful.util
will be deprecated in Awesome v5. For now, it is still safe to use it. However, new code should use the functions from gears
instead of awful.util
.
Published by psychon almost 8 years ago
Highlights:
For more information, look at the NEWS file (permanent link).