AwesomeWM
General
- awesome - a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license.It is primarily targeted at power users, developers and any people dealing with every day computing tasks and who want to have fine-grained control on their graphical environment.
- https://github.com/atsepkov/awesome-awesome-wm - A curated list of awesome tools/scripts/configs for Awesome Window Manager.
To debug rc.lua changes:
Xephyr :1 -ac -br -noreset -screen 1152x720 & DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new
Scripts
- https://github.com/lcpz/lain - Layouts, widgets and utilities for Awesome WM 4.x
- https://github.com/montagdude/awesome-appmenu - a tool to create a menu of installed applications for the awesome window manager. It searches for and parses .desktop files to find the name, execution command, and icon of installed applications. These are then grouped into categories, sorted, and written to a lua script ($HOME/.config/awesome/appmenu.lua) that can be used in your awesome WM configuration script.
- https://github.com/blueyed/awesome-cyclefocus - Alt-Tab for the awesome window manager (and more)
- https://github.com/mut-ex/awesome-wm-nice - An Awesome WM module that add MacOS-like window decorations, with seamless titlebars, double click to maximize, and window shade feature
- https://github.com/intrntbrn/smart_borders - full titlebar functionality without sacrificing space
- https://gist.github.com/intrntbrn/08af1058d887f4d10a464c6f272ceafa --- awesomewm fancy_taglist: a taglist that contains a tasklist for each tag.
- https://github.com/intrntbrn/icon_customizer - awesomewm icon_customizer: set custom icons for gui and terminal applications
- https://github.com/Nooo37/bling - Utilities for the awesome window manager
Hotkeys
- https://github.com/seberm/awesome-vim-bindings - Awesome window manager with Vim-like control
- https://github.com/intrntbrn/awesomewm-vim-tmux-navigator - lets you navigate seamlessly between system windows, vim splits and tmux panes using a consisent set of hotkeys. It's based on christoomey/vim-tmux-navigator and fogine/vim-i3wm-tmux-navigator
- https://github.com/uzsolt/keychains - A simple keychain module which allows to use keychains in awesome window manager.
- https://github.com/jcrd/awesome-ez -a library for Awesome window manager that aims to simplify the creation of key and button bindings. It is based on code from the old Awesome wiki.
- https://github.com/crater2150/awesome-modalbind - Modal keybindings for AwesomeWM
- https://github.com/potamides/modalawesome - Framework for modal, vi-like keybindings for the awesome window manager
- https://gist.github.com/mikaelz/b85c8d97fcee55c33b88 - Awesome WM config for multimedia keys to control Spotify
Multihead
Notifications
Tags
- https://github.com/bioe007/awesome-shifty - an Awesome 3 extension that implements dynamic tagging.
- https://github.com/Elv13/tyrannical - Dynamic tagging configuration system for awesomeWM
- https://github.com/Drauthius/awesome-sharedtags - A simple implementation for creating tags shared on multiple screens for awesome window manager.
- https://github.com/Veratil/awesome-retain - Awesome Lua module for retaining tags and their layouts between restarts and screen adds/removes
- https://github.com/AfoHT/taggrid - AwesomeWM extension providing a tag grid
- https://github.com/jcrd/awesome-viewport -a library for Awesome window manager that manages tags based on viewports.
Layouts
- https://elv13.github.io/client_tiling/dynamite.html -A drop-in replacment for the stateless layout suitsThis system also add the possibility to write handlers enabling the use of tabs, spliters or custom client decorator.
- https://github.com/ciiqr/thrizen - three column layout for awesome wm
- https://github.com/JamesWilmot/AwesomeWMColumnsLayout - columns layout with arbitrary number of columns.
- https://github.com/michaelbeaumont/awesome-leaved - based on i3 and arranging clients into containers
- https://github.com/ItsJimi/awesome-treetile -binary tree-based tiling layout, can split focused window either vertically or horizontally, like bspwm. Working fork of Treesome.
- https://github.com/drewby/basl - Big Ass Screen Layout for AwesomeWM
- https://github.com/groboclown/awesomewm-petronia - Custom Layout and Keybindings to make Petronia style interactions in Awesome WM
- https://github.com/xinhaoyuan/layout-machi -A manual layout for Awesome with a rapid interactive editor.
- https://github.com/sebth/awesome-overlap -arrangeswindows similar to the `tile' layout, the difference being that windowsresiding in the same column are overlapped instead of stacked.
- https://github.com/jcrd/awesome-dovetail - a layout for Awesome featuring two visible tiled clients. It is similar to the deck layout in other dynamic window managers.
- https://github.com/notnew/awesome-frames - Divides the workarea into 3 frames, which are like emacs windows. Each frame may be associated with a client window to show in the frame. Functions are provided to switch between frames and to pull windows unassociated windows into the current frame.This is similar (though less flexible than) the layout used by stumpwm or emacs' windows and buffers.
Wibox
- comp.window-managers.awesome: Re: Multiple row wibox
- https://github.com/cool-cool-sweat/fenetre - awesome 4 wibar global titlebar with client title + controls/property indicators
Widgets
- https://github.com/hoelzro/obvious - Widget library for the awesome window manager. This is a fork of the original obvious repo
- Widgets for Awesome WM - Set of super simple widgets compatible with Awesome Window Manager v.4+.
- https://github.com/deficient/keyboard-layout-indicator - Keyboard layout indicator/switcher widget for awesome-wm
- https://github.com/deficient/quicklaunch -Simple quicklaunchbar widget.
- https://github.com/deficient/calendar - Calendar popup for awesome WM
- https://github.com/daskol/awesome-pulseaudio-widget - Awesome WM text widget to display volume which leverages D-Bus PulseAudio interface.
- https://github.com/vladimir-g/fainty - Small widget library for Awesome WM
- https://github.com/pltanton/net_widgets -If you use netctl or another network manager which doesn't provide any good tray icon or if you want something more native than nm-applet, this is for you.
- https://github.com/streetturtle/awesome-buttons - Button widget library for Awesome Window Manager
- https://github.com/sgnix/awesome-dmenu -native dmenu widget
Media
- https://github.com/macunha1/awesomewm-media-player-widget - AwesomeWM generic Media Player Widget implementation in pure Lua through MPRIS D-Bus interface spec
- https://github.com/AlterationBrick/awesome-playerctl-widget - Music player widget for the Awesome window manager using playerctl
Hints
- https://github.com/zackpete/hints - Window picker with hints for Awesome
Revelation
- http://awesome.naquadah.org/wiki/Revelation - Expose-like client selection.
Radical
- https://github.com/Elv13/radical - large Awesome extension module, provides a unified interface to generate multiple types of menus.
Text format
You can use Pango markup in a text string. This allows formatting the text rendered inside widgets. Pango markup documentation can be found in the Pango documentation at http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html.
A Pango markup example: ….
Helpers
- https://github.com/jechasteen/gratuitous - an IDE for awesome window manager configs and themes. The name is a play on the adjective names of the awesome libs (awful, beautiful, vicious)
- https://github.com/Elv13/repetitive - Focus tag, Focus client and restore cursor position, Record/Play mouse+keyboards macros
- https://github.com/Elv13/radical - unified interface to generate multiple types of menus.
- https://github.com/Elv13/drawer - A bunch of pull-down panel for AwesomeWM
- :carrot: - Carrot awesomeWM personalization application
- https://github.com/Elv13/collision - A window management module for AwesomeWM
- https://github.com/berlam/awesome-remember-geometry - Remember client location when switching between floating, tiling and maximized
- https://github.com/berlam/awesome-fullscreen -toggles ontop elements when another component goes fullscreen. While a component is in fullscreen the energy savers are turned off (e.g. disabled blank screen).
- https://github.com/worron/redflat - Extension module for Awesome WM
- https://github.com/berlam/awesome-switcher - Switch clients in Awesome WM with the familiar preview functionality
- https://github.com/grandchild/autohidewibox -Auto-hide the awesome-wibox/taskbarIf you ever wanted to squeeze out that last bit of screen real estate in awesome and only show the wibox when needed (i.e when pressing the ModKey), this is for you.Since awesome doesn't allow easy access to the states of the Super/Mod-Key itself in rc.lua, one cannot simply show the wibox while the ModKey is pressed and hide it again on release. This little python daemon will sit in the background and do just that.
- https://github.com/notnew/awesome-scratch -used to show and hide scratch windows. It takes a shell command to launch the scratch window and a rule to match the scratch window.
- https://github.com/vladimir-g/awpwkb -a simple per-window keyboard layout switcher for Awesome WM.It uses awesome XKB functions, so awesome 4 is required. Layouts stored in X property awpwkb_layout and they are persistent between awesome restarts.
- https://github.com/mut-ex/awesome-wm-slidebar - an easy to use, configurable, multi-purpose, animated widget bar written in Lua for Awesome WM
- https://github.com/jcrd/awesome-launch - a library for Awesome window manager that provides functions to spawn clients with single instance IDs using wm-launch.
Themes and configs
The color format in awesome is either a standard X color name (blue, darkblue, lightred, etc) or a hexadecimal formatted color (#rrggbb or #rrggbbaa). By using the hexadecimal format, you can also specify an alpha channel: that means that #00ff00 will draw pure green, but #00ff00aa will set the alpha channel to ‘aa’ and will blend the green with the color under it.
If xdg/awesome default config loads instead of .config/awesome, this is due to error in the rc.lua.