Awesome
跳转到导航
跳转到搜索
配置
自动吸附
{ rule = { class = "Qutim" }, callback = awful.mouse.client.snap }
启动程序
可以用awful.util.spawn
或者os.execute
。如果要获取启动的窗口,只能在其启动后再寻找,邮件列表上有人说通过匹配client.pid
,但启动的程序的PID似乎无法获得。
keygrabber
keygrabber 所运行的函数返回true
则继续捕获按键,返回false
或nil
则停止。
可用于绑定函数到键序列,如
awful.key({ modkey }, "y", function()
keygrabber.run(function(mod, key, action)
if action ~= "press" then return true end
if tonumber(key) ~= nil then
naughty.notify({text = key})
return false
end
end)
end),
client 对象
transient_for
属性指向窗口的父窗口。
程序
awesome
- 可使用
SIGHUP
信号重启之。
awesome-client
使用 D-Bus 通信[1],从 stdout 读取代码并执行,使用return
来让 Awesome 返回代码运行结果。
锁屏、挂起和关机
锁屏可使用 gnome-screensaver、xscreensaver 或者 slock(最简单,连界面都没有)。[2]
挂起和关机等可以使用 dbus-send 或者 systemd。
应用程序菜单生成
Arch 下可以使用 archlinux-xdg-menu 包中的 xdg_menu 命令来生成。[3]
D-Bus 接口
awesome-client 所使用的 D-Bus 接口,名称为org.naquadah.awesome.awful
,路径/
,方法org.naquadah.awesome.awful.Remote.Eval
,接受一个字符串。使用 Python 代码如下:
import dbus
bus = dbus.SessionBus()
awful = bus.get_object('org.naquadah.awesome.awful', '/')
remote = dbus.Interface(awful, 'org.naquadah.awesome.awful.Remote')
remote.Eval('return true')
功能
桌面通知
dbus.release_name("session", "org.freedesktop.Notifications")
然后启动那个程序(如 xfce4-notifyd)即可。要换回来,使用:
dbus.request_name("session", "org.freedesktop.Notifications")
参见 naughty。
注意
语言
默认的 locale 不是当前locale,要手动设置以便时间正确显示
os.setlocale("zh_CN.UTF-8")
GTK主题
对于 GTK2,编辑~/.gtkrc-2.0
文件,加入以下行
include "/usr/share/themes/Mist/gtk-2.0/gtkrc" gtk-font-name = "文泉驿正黑 9" gtk-theme-name = "Mist" gtk-icon-theme-name = "gnome"
问题
- 窗口重绘有时候过慢,或者切换 tag 后某个 Empathy 窗口依旧诡异地显示着
- 在开启 xcompmgr 时,主菜单的部分项目在鼠标悬停时才显示 [5]
- gnome-osd-client 不能使用
与 Java 的问题
- 窗口最小化后无法恢复
- 窗口大小调整后其中的元素不会自动调整大小
- 菜单和
JComboBox
等构件的弹出菜单响应鼠标时会立即消失,因为 Java 收到的鼠标位置不对 - 有些构件会改变鼠标形状(不管是默认的还是自定义的),鼠标改变形状的区域可能会有偏差
模块
- terceiro/awesome-freedesktop - GitHub,应用程序图标、菜单、桌面图标
- dluksza/screenful - GitHub, an extension library for Awesome WM that enables it to automatically setup screen organization. It leverage from udev notification about drm change events and device specific EDID information.
其他人的配置
包含 tearoff(像窗帘一样从屏幕上方拉下的)和 scratchpad(浮动便笺式) 窗口管理模块,以及一个(并不好用的)屏幕键盘。
参见
外部链接
- Awesome API Reference
- Awesome Wiki
- Awesome maillist archive: mail-archive, Gmane
- Lua 5.1 Reference Manual
- Awesome3 - ArchWiki
- 显示系统信息的 Vicious,下载地址
- 使用awesome conky功能可以自己写 (页 1) / 应用程序与桌面环境 / Arch Linux 中文论坛
配置片断
- hjkl direction, from http://www.mail-archive.com/awesome@naquadah.org/msg00739.html