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
Guides
Core_components
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. |
TDE
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. |
Datastructures
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 |
lib-widget.profilebox |
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 |
lib-widget.slider |
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: " .. |
Input_handling
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. |
Declarative_rules
ruled.client | Rules for clients. |
ruled.notifications | Rules for notifications. |
Widgets
awful.widget.button | A simple button widget. |
awful.widget.clienticon | Container showing the icon of a client. |
awful.widget.keyboardlayout | |
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.systray | |
wibox.widget.textbox | |
wibox.widget.textclock | Text clock widget. |
Widget_containers
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. |
Widget_layouts
wibox.layout.align | |
wibox.layout.fixed | |
wibox.layout.flex | |
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. |
Popups_and_bars
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. |
wibox |
Utility_libraries
gears.debug | |
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.protected_call | |
gears.sort | Extra sorting algorithms. |
gears.string | String module for gears. |
gears.table | Table module for gears. |
gears.wallpaper | Functions for setting the wallpaper. |
Theme_related_libraries
beautiful | Theme library. |
gears.color | This module simplifies the creation of cairo pattern objects. |
gears.shape | Module dedicated to gather common shape painters. |
Libraries
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. |
gears.surface | |
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. |
wibox.widget |
Sample files
rc.lua | The default rc.lua file. |
theme.lua | The default theme file. |
Classes
awful.widget.common | |
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. |
wibox.widget.base | |
xproperties | Handling of X properties. |