API documentation for TDE a desktop environment build on top of awesomeWM v4.3-1079-gbcb1d054).

Welcome to the documentation for TDE. Below you find an overview of the individual parts which links to the full documentation.

If you are a new user you should read our wiki for more introductory information



awesome AwesomeWM lifecycle API.
awful.keygrabber A keyboard grabbing and transaction object.
client A process window.
drawable awesome drawable API.
gears.timer Timer objects and functions.
mousegrabber awesome mousegrabber API.
naughty.action A notification action.
naughty.notification A notification object.
root awesome root window API.
screen awesome screen API.
tag awesome tag API.


lib-tde.animations Animate any lua object over a period of time

This api is generally designed for wiboxes, but it can be used for any lua table

In this example we will animate the wibox over 2 seconds, changing its width and height

local example = wibox {
    ontop = true,
    screen = screen,
    width = 100,
    height = 100,
    x = 0,
    y = 0,
-- usually you start animation when clicking on a button
-- In this example we use out cubic (see the tweening diagram below)
animate(2, example, { width=200, height=200 }, "outCubic")

Useful when you want to override user settings.

lib-tde.animations.tween Tween functions used by the animation library see tween.lua
lib-tde.config-writer Write/override a configuration file to contain new settings.
lib-tde.extractcover Extract album cover from song

This is a helper module to extract metadata from music.

lib-tde.file General functions to manipulate your file and filesystems.
lib-tde.function.application_runner This module helps with running applications as defined in autostart.
lib-tde.function.battery This module contains useful helper functions when working with batteries.
lib-tde.function.common This module adds extra functionality to widgets by exposing commonly used functions.
lib-tde.function.datetime This contains functions that help with manipulating time.
lib-tde.function.delayed-timer This module run a timer periodically, but has an initial delay before running.
lib-tde.hardware-check Perform queries on the hardware to validate certain components from existing.
lib-tde.i18n This module handles translation inside of TDE

You can use the default translations of TDE inside of our plugin.

lib-tde.imagemagic Lua wrapper around imagemagic.
lib-tde.logger This module overrides the existing print function.
lib-tde.mappers This module exposes helper functions wrapped around lists in order to manipulate them

Useful functional principles exist such as, maps, reducers and filters.

lib-tde.mouse This module exposes an api to manipulate mouse events through libinput
lib-tde.network This module adds a simple api to extract wifi ssid data
lib-tde.serialize Serialize lua objects (tables) into a string and back

You can easily convert lua objects into a serialized representation This is useful for storing and restoring lua objects

serialize({1,2,3, {hello="world"}}) -- becomes "[1,2,3, {hello='world'}]" (string)
deserialize("[1,2,3, {hello='world'}]") -- becomes {1,2,3, {hello="world"}} (table)

You can also save this data to a file serializetofile("file.json", {1,2,3}) -- serialize the data and send it to the file deserializefromfile("file.json") -- returns {1,2,3}

This module tries to improve re-usage of know variables throughout the tde infrastructure.

lib-tde.signals Internal signal delegator, this module manages signals from and to different components of TDE

This package contains a lot of signals.

lib-tde.volume This module exposes an api to manipulate volume events through pulseaudio/pipewire
lib-tde.widget.rounded functions to help with rounding widgets.


lib-tde.datastructure.binary-tree Lua implementation of a Binary Search Tree
lib-tde.datastructure.hashmap Crude implementation of a hashmap
lib-tde.datastructure.linkedList Lua Implementation of a double linked list
lib-tde.datastructure.queue Lua Implementation of a queue
lib-tde.datastructure.set Lua Implementation of a set
lib-tde.datastructure.stack Lua Implementation of a stack
lib-tde.sort.quicksort Lua implementation of quicksort

Quicksort is a divide and concur approach to sorting This is a crude implementation that provides decent sorting in most use cases However, it might not be the most optimal sorting algorithm for your case.

TDE Widget

lib-widget.button Create a new button widget
lib-widget.card Create a new card widget
lib-widget.checkbox Create a new checkbox widget
lib-widget.inputfield Create a new inputfield widget

Create a new profilebox (rounded image)

Usually used to show profile images

-- Set the picture in the profilebox with a size of 100
local picture = lib-widget.profilebox("file.png", dpi(100), function(button)
 print("Clicked with button: " ..
lib-widget.progress_bar Create a new progress_bar (like a slider, but you can't use it as an input)
lib-widget.scrollbox Create a new scrollbox widget
lib-widget.separator Create a new separate widget

Create a new slider widget

Useful when you to get the user to input a range of numbers

-- A slider between 0 and 10 with increments of 0.05, the default value is 5 and a callback function each time the value is updated
local slider = lib-widget.slider(0, 10, 0.05, 5, function(value)
     print("Updated slider value to: " ..


awful.button Create easily new buttons objects ignoring certain modifiers.
awful.key Create easily new key objects ignoring certain modifiers.
awful.keyboard Utilities related to the keyboard and keybindings.
mouse awesome mouse API.


ruled.client Rules for clients.
ruled.notifications Rules for notifications.


awful.widget.button A simple button widget.
awful.widget.clienticon Container showing the icon of a client.
awful.widget.launcher A button widget which hosts a menu or starts a command.
awful.widget.layoutbox Display the current client layout (awful.layout) icon or name.
awful.widget.layoutlist Display the available client layouts for a screen.
awful.widget.prompt The widget version of awful.prompt.
awful.widget.taglist Taglist widget module for awful.
awful.widget.tasklist Tasklist widget module for awful.
awful.widget.watch Watch widget.
naughty.list.actions Manage a notification action list.
naughty.list.notifications Get a list of all currently active notifications.
naughty.widget.appname A notification app_name.
naughty.widget.icon A notification square icon.
naughty.widget.message A notification content message.
naughty.widget.title A notification title.
wibox.widget.calendar A calendar widget.
wibox.widget.checkbox A boolean display widget.
wibox.widget.graph A graph widget.
wibox.widget.imagebox A widget to display image.
wibox.widget.piechart Display percentage in a circle.
wibox.widget.progressbar A progressbar widget.
wibox.widget.separator A flexible separator widget.
wibox.widget.slider An interactive mouse based slider widget.
wibox.widget.textclock Text clock widget.


awful.widget.only_on_screen A container that makes a widget display only on a specified screen.
naughty.widget.background A notification background.
wibox.container.arcchart A circular chart (arc chart).
wibox.container.background A container capable of changing the background color, foreground color and widget shape.
wibox.container.constraint Restrict a widget size using one of multiple available strategies.
wibox.container.margin Add a margin around a widget.
wibox.container.mirror Reflect a widget along one or both axis.
wibox.container.place A container used to place smaller widgets into larger space.
wibox.container.radialprogressbar A circular progressbar wrapper.
wibox.container.rotate A container rotating the conained widget by 90 degrees.
wibox.container.scroll This container scrolls its inner widget inside of the available space.
wibox.container.tile Replicate the content of the widget over and over.


wibox.layout.grid A grid layout.
wibox.layout.manual A layout with widgets added at specific positions.
wibox.layout.ratio A layout filling all the available space.
wibox.layout.stack A stacked layout.


awful.hotkeys_popup.widget Popup widget which shows current hotkeys and their descriptions.
awful.menu A menu for awful.
awful.popup An auto-resized, free floating or modal wibox built around a widget.
awful.titlebar Titlebars for awful.
awful.tooltip Tooltip module for awesome objects.
awful.wibar Wibox module for awful.
awful.widget.calendar_popup A calendar popup wibox.
menubar Menubar module, which aims to provide a freedesktop menu alternative.
naughty.layout.box A notification popup widget.
naughty.layout.legacy A notification popup widget.


gears.filesystem Filesystem module for gears.
gears.geometry Helper functions used to compute geometries.
gears.math Math module for gears.
gears.object The object oriented programming base class used by various Awesome widgets and components.
gears.sort Extra sorting algorithms.
gears.string String module for gears.
gears.table Table module for gears.
gears.wallpaper Functions for setting the wallpaper.


beautiful Theme library.
gears.color This module simplifies the creation of cairo pattern objects.
gears.shape Module dedicated to gather common shape painters.


awful.completion Completion module.
awful.hotkeys_popup Popup widget which shows current hotkeys and their descriptions.
awful.layout Layout module for awful.
awful.permissions Implements EWMH requests handling.
awful.placement Algorithms used to place various drawables.
awful.prompt Prompt module for awful.
awful.rules This module has been moved to ruled.client
awful.spawn Spawning of programs.
awful.util Utility module for awful.
dbus awesome D-Bus API
gears.matcher A module to build a set of properties based on a graph of rules.
lib-tde Set of helper functions and libraries for desktop environments
lib-tde.function A set of functions designed as a general helper
menubar.menu_gen Menu generation module for menubar
menubar.utils Utility module for menubar
naughty Notification library.
selection awesome selection (clipboard) API
tde-src.collision.util Draw an arrow path.

Sample files

rc.lua The default rc.lua file.
theme.lua The default theme file.


gears.cache Cache object with data that can be garbage-collected.
gears.matrix An implementation of matrices for describing and working with affine transformations.
menubar.icon_theme (Deprecated) class module for icon lookup for menubar
menubar.index_theme (Deprecated) class module for parsing an index.theme file
signals Handling of signals.
wibox.drawable Handling of drawables.
wibox.hierarchy Management of widget hierarchies.
xproperties Handling of X properties.


generated by LDoc 1.4.6 Build with 💜 By F0xedb Last updated 2021-05-21 03:30:15