Scripts2026年7月13日·1 分钟阅读

Awesome Window Manager — Highly Configurable Tiling WM for X11

A dynamic tiling window manager for X11 written in C and fully configurable with Lua scripting, used by power users who want total control over their desktop layout.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Awesome WM
直接安装命令
npx -y tokrepo@latest install 4572cd61-7e73-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Awesome is a highly configurable, next-generation tiling window manager for X11. It provides a framework for managing windows, tags (virtual desktops), and layouts via a Lua configuration file. Unlike static tiling managers, Awesome ships with sensible defaults and can be extended into a full desktop environment.

What Awesome WM Does

  • Tiles, floats, and maximizes windows with multiple built-in layout algorithms
  • Uses tags instead of workspaces, letting one window appear on multiple tags simultaneously
  • Exposes a complete Lua API for widgets, keybindings, signals, and rules
  • Renders a fully scriptable status bar (wibar) with system info, tasklist, and custom widgets
  • Supports multi-monitor setups with per-screen tag lists and independent layouts

Architecture Overview

Awesome is written in C and embeds a Lua interpreter (LuaJIT-compatible). The X11 connection is managed via XCB, and drawing uses Cairo. The Lua API wraps every core concept (clients, tags, screens, signals) so the entire window-management policy lives in the user's rc.lua configuration file rather than compiled code.

Self-Hosting & Configuration

  • Config lives at ~/.config/awesome/rc.lua; a default is generated on first run
  • Themes control colors, fonts, wallpaper, and icon paths via theme.lua
  • Install community widgets from awesome-copycats or streetturtle/awesome-wm-widgets
  • Use naughty library for desktop notifications directly from the WM
  • Test config changes with Xephyr before applying to a live session

Key Features

  • Full Lua scripting: every aspect of behavior is programmable
  • Dynamic layouts: switch between tiling, floating, magnifier, and spiral per tag
  • Tag system: more flexible than fixed-number workspaces
  • D-Bus integration for external scripts and notifications
  • Extremely lightweight: idles at under 10 MB of RAM

Comparison with Similar Tools

  • i3 — manual tiling with a simpler config language; less programmable
  • Hyprland — Wayland compositor with animations; not X11
  • bspwm — binary-space tiling controlled entirely via bspc commands
  • dwm — minimal suckless WM configured by editing C source and recompiling
  • xmonad — Haskell-based tiling WM with strong type-safe configuration

FAQ

Q: Does Awesome work on Wayland? A: No. Awesome targets X11 via XCB. For Wayland, consider Hyprland or Sway.

Q: Can I use Awesome as a full desktop environment? A: Yes. With a compositor, notification daemon, and Lua widgets, Awesome can replace a traditional DE.

Q: How do I add gaps between tiled windows? A: Set beautiful.useless_gap in your theme or use the awful.layout gap property.

Q: Is it hard to learn Lua for the config? A: The default rc.lua is well-commented. Basic Lua is straightforward and the Awesome API docs cover every object.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产