Awesome3窗口管理

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
头像
没头苍蝇
帖子: 38
注册时间: 2007-10-09 12:59
来自: BUAA
联系:

Awesome3窗口管理

#1

帖子 没头苍蝇 » 2008-10-16 12:58

Awesome是一个可高度自定义的平铺式窗口管理程序。它的程序体积非常小,运行速度飞快,并且可以自定义运行界面显示逻辑等等。
简单来说,所谓的平铺就是之所有的窗口都不会相互重叠,而是自动的被调整大小使得它们能够刚好占满整个屏幕。这和传统的桌面环境的概念相差很大,也许你会疑问这样的环境下如何工作?

事实上对于Linux这种需要大量使用命令行的操作系统来说平铺式窗口管理在很多情况下能够极大的提升你的工作效率。举个例子,很多时候你都需要打开好几个命令行。在gnome底下这就意味着好几个会相互遮挡命令行窗口,大多数时候如果你想要同时看到这些窗口上面的内容就得费神费力的调整它们的位置和大小。而在平铺是窗口下面你完全不需要为这些事情烦心。

另外一个可能会促使你使用平铺的理由就是,用它来调整、切换窗口几乎可以不使用鼠标。这对于硬派的linux狂热者以及痛恨使用笔记本触控板的人来说也是一个不错的选择。

源里面的awesome版本太老,还是2.0版的,而最新的3.0还没有官方deb包(不过楼下有人回帖附上了他打的awesome3.0的deb包),所以我把官方wiki里的编译步骤翻译了一下写在了wiki里面,并且加上了一些配置、使用的方法,希望能给想用Awesome3的人一些帮助。

链接如下:
http://wiki.ubuntu.org.cn/Awesome

现在还没有写完,偶会慢慢完善的 :em06

图片
上次由 没头苍蝇 在 2008-10-25 15:58,总共编辑 2 次。
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#2

帖子 xzap » 2008-10-19 14:30

顶楼主一下,顺便帮助一下那些不会编译的兄弟,32位的deb包也放出。64位的自己去以下地址下载,顺便说下,8.04要装n多的包,地址也在下面连接页面有,慢慢下吧。
http://packages.debian.org/experimental/awesome
同时放上本人的配置文件下载解压后放到自己的home目录下的.config/awesome下自己新建下文件夹,配置文件是rc.lua用自己喜欢的编辑软件打开把我的用户名替换成你的。
顺便说下,如过用我的配置,我因为用的是mpd 这样左下角的音乐按钮也就有效果了。
sudosudo apt-get install mpc mpd gmpc
还有就是好用的dmenu.
sudo apt-get install dmenu
装的是dwm-toos好像是这个,还内置了slock这样的锁屏幕的软件。
awesome_3.0-1_i386.deb
awesome的deb包,32位的
(171.33 KiB) 已下载 244 次
awesome.tar.gz
我的awesome配置
(599.16 KiB) 已下载 389 次
上次由 xzap 在 2008-10-23 18:23,总共编辑 2 次。
axlrose
帖子: 69
注册时间: 2007-02-11 15:58

Re: Awesome3窗口管理

#3

帖子 axlrose » 2008-10-19 16:51

赞一个
希望用awesome的朋友多挂 irc.oftc.net #awesome
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#4

帖子 xzap » 2008-10-19 18:49

irc.oftc.net #awesome
我早上7点上去 ,0人
我中午12点上去,0人
晚上8点上去,2人
半夜12点上去,0人。
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#5

帖子 xzap » 2008-10-23 18:14

没人用这个么?继续顶上去
更新2个技巧吧,自己摸索的
1、关闭程序,默认的是快捷键关闭程序
mytasklist:mouse_add(mouse({ }, 3, function () client.focus:kill() end))
加上上面的代码就可以用右键在任务栏上关闭。
2、使用键盘多媒体键
用xev这个小工具就可以很方便的找出每个多媒体键的keycode
比如的我的控制音量的多媒体键
keybinding({ }, "#176", function () awful.spawn("amixer set Master 5%+") end):add()
keybinding({ }, "#174", function () awful.spawn("amixer set Master 5%-") end):add()
很容易就可以找出keycode然后就什么键都可以绑定了。
3、设定tag的默认排列方式tags = {}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags = {}
-- Create 9 tags per screen.
for tagnumber = 1, 9 do
if tagnumber ==1 then
tags[tagnumber] = tag({ name = tagnumber, layout = layouts[8] })
else

tags[tagnumber] = tag({ name = tagnumber, layout = layouts[1] })
end

-- Add tags to screen one by one
tags[tagnumber].screen = s
end
-- I'm sure you want to see at least one tag.
tags[1].selected = true
end
-- }}}
就可以设定每个tag的默认layout
头像
没头苍蝇
帖子: 38
注册时间: 2007-10-09 12:59
来自: BUAA
联系:

Re: Awesome3窗口管理

#6

帖子 没头苍蝇 » 2008-10-24 15:48

awesome的配置文件实在是太庞大,光是自己写一个就已经够头大的了。要写一个详细的文档就更是麻烦。
等哪天花点时间把它的详细配置方法加到wiki上面。

另外官方的wiki上面还有很多有意思的用法,比如说用conky在状态栏里面显示cpu频率之类的,回头研究下也翻译了写在wiki里面
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#7

帖子 xzap » 2008-10-25 11:50

显示cpu用lua的wicked更好。conky很耗资源阿。
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: Awesome3窗口管理

#8

帖子 adagio » 2008-10-25 14:05

贴个图看看嘛! :em24
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
没头苍蝇
帖子: 38
注册时间: 2007-10-09 12:59
来自: BUAA
联系:

Re: Awesome3窗口管理

#9

帖子 没头苍蝇 » 2008-10-25 15:59

adagio 写了:贴个图看看嘛! :em24
偶把官方网站的屏幕截图放上来了
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#10

帖子 xzap » 2008-10-26 19:35

技巧继续放出:
1、锁屏
keybinding({ modkey}, "F11", function () awful.spawn("slockl") end):add()
当然了,也可以用别的锁屏软件。slock不错的,装dmenu的时候捆绑一起安装的。dwm-tool中的,锁屏后就是一片黑暗,然后盲打用户密码解除。
2、杀死僵死x程序
keybinding({ modkey}, "F12", function () awful.spawn("xkill") end):add()
安快捷键,然后就把僵死的进程杀掉了。
3、强烈推荐论坛里solcomo开发的mlrc配合mpd实在是太帅了,mirc自己坛子里搜索,然后就+x放到自己家目录下的bin,然后绑定快捷键。帅,look!!
zm.png
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#11

帖子 xzap » 2008-10-26 20:00

继续…………
1、关于自启动程序
苍蝇在wiki里写的是直接写在rc.lua里。其实可以在lua里加一句

代码: 全选

-- Autostart
function autostart(dir)
    if not dir then
        do return nil end
    end
    local fd = io.popen("ls -1 -F " .. dir)
    if not fd then
        do return nil end
    end
    for file in fd:lines() do
        local c= string.sub(file,-1)   -- last char
        if c=='*' then  -- executables
            executable = string.sub( file, 1,-2 )
            print("Awesome Autostart: Executing: " .. executable)
            os.execute(dir .. "/" .. executable .. " &") -- launch in bg
        elseif c=='@' then  -- symbolic links
            print("Awesome Autostart: Not handling symbolic links: " .. file)
        else
            print ("Awesome Autostart: Skipping file " .. file .. " not executable.")
        end
    end
    io.close(fd)
end

--定义自启动文件所在目录
autostart_dir = os.getenv("HOME") .. "/.config/awesome/autostart"
--设定自启动
autostart(autostart_dir)
然后就可以在上面定义的目录里新建一个startup.sh文件,往里面写自启动的程序就可以了,比如mldonkey

代码: 全选

exec mlnet &
用 xcompmgr增加透明

代码: 全选

exec xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &
稍微方便点。
2、关于输出需要的信息,比如查邮件阿,conky的cpu输出阿,等等……
在配置文件里写

代码: 全选

function execute_command(command)
   local fh = io.popen(command)
   local str = ""
   for i in fh:lines() do
      str = str .. i
   end
   io.close(fh)
   return str
end
然后就随便输出了,只要是终端下面能输出的都可以,比如

代码: 全选

mytextbox99.text = " " .. execute_command("amixer get Master | grep Mono: | cut -f 2 -d [ | cut -d% -f1") .. "% "
这样就可以输出总音量的数值,execute_command( )括号里也可以写查找邮件的脚本名就可以查找邮件了。
比如用以下脚本找gmail

代码: 全选

#!/usr/bin/env python
import urllib
import feedparser
import sys
_url = "https://mail.google.com/gmail/feed/atom"
_pwd = ""
_username = ""
class GmailRSSOpener(urllib.FancyURLopener):
	def prompt_user_passwd(self, host, realm):
		return (_username, _pwd)
def auth():
	opener = GmailRSSOpener()
	f = opener.open(_url)
	feed = f.read()
	return feed
def getUnreadMsgCount(feed):
    atom = feedparser.parse(feed)
    newmails = len(atom.entries)
    return newmails
if __name__ == "__main__":
    feed = auth()
    print getUnreadMsgCount(feed)
最后是检查频率。

代码: 全选

awful.hooks.timer.register(1, execute_command)
这是1秒一次。
头像
没头苍蝇
帖子: 38
注册时间: 2007-10-09 12:59
来自: BUAA
联系:

Re: Awesome3窗口管理

#12

帖子 没头苍蝇 » 2008-10-27 17:43

xzap很强大啊... 其实你要是有时间的话可以直接去编辑那个wiki页面的,应该比我写的要厉害 :em01
另外我在想干脆把awesome的配置文件另外新开一个wiki页面,这东西的内容实在是多
xzap 写了:继续…………
1、关于自启动程序
苍蝇在wiki里写的是直接写在rc.lua里。其实可以在lua里加一句

...
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: Awesome3窗口管理

#13

帖子 xzap » 2008-10-27 17:58

wiki不会写
整个帖子回帖的除了我只有一个,看来大家对awesome都没兴趣。
ryebread
帖子: 74
注册时间: 2005-10-23 23:06

Re: Awesome3窗口管理

#14

帖子 ryebread » 2008-10-27 23:54

看了下,很喜欢,不过资料很少,希望二位能够多整些中文资料
既然是效率为主,整个aubutun也是可以的 :em11 :em11
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

Re: Awesome3窗口管理

#15

帖子 想入非非 » 2008-10-28 0:16

支持一个。。。轻量级的窗口管理器还是比较喜欢的 :em09
Ubuntu User
回复