LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 539|回复: 5

spectrw平铺式窗口管理器

[复制链接]
发表于 2012-2-24 14:45:29 | 显示全部楼层 |阅读模式
基于http://www.linuxsir.cn/bbs/thread382559.html这个帖子有了想写一下自己使用spectrw的心得。目的是与大家交流,提高使用技巧。下面正文很多来自官方的man翻译过来的,水平很烂,英文不错的请直接到https://opensource.conformal.com/cgi-bin?spectrwm查看原文。

简介
spectrwm是一个简约的窗口管理器,它试图将宝贵的屏幕空间留给更多更重要的工作。它包含一个简单明了的默认配置,修改配置不需要学习任何语言。它是黑客为黑客而创作出来的,并且力图保持快速、简洁、凝练。

它的配置文件名字为spectrwm.conf,通常位于/etc目录。还有一个用户主目录下的配置文件.spectrwm.conf。一般使用我们修改后者。

下面以我使用的配置文件为例讲解:

#状态栏是否在底部,设置为1在底部,0在顶部
bar_at_bottom                =        1

#状态栏加载时调用的脚本或者程序
bar_action                        =        conky

#是否显示状态栏,0为不显示,可以用快捷键Mod+b切换
#这里顺便说下,这个bar可以用其他的东西扩展,我因为喜欢干净,根本没开状态栏,所以有兴趣研究的同学请参考英文网站
bar_enabled                        =        0

#是否在状态栏显示窗口标题
title_name_enabled        =        0

#状态栏不显示、且当前屏幕只有一个窗口时移除边框(相当于全屏了)
disable_border                =        1

#是否在状态栏显示窗口名字
window_name_enabled        =        1

#定义Mod键,Mod4是键盘上的Win键,Mod1是Alt键,默认是Mod1
modkey                                =        Mod4

#这两行定义term程序,我用的rxvt-unicode,可以是roxterm、xterm等等,term的快捷键是Mod+Shift+Enter
program[term]                =        urxvt
spawn_term                        =        urxvt

#重启快捷键及脚本,cqpc是我自己写的脚本,其实就一句:sudo reboot,这个地方直接写"sudo reboot"或者reboot貌似不起作用,和spectrwm的reboot功能冲突了
program[cqpc]        =        /usr/local/bin/cqpc
bind[cqpc]                =        Mod4+Control+r

#关机快捷键及脚本
program[poweroff]        =        pwoff
bind[poweroff]                =        Mod4+Control+p

#文件管理器的快捷键及脚本
program[pcmanfm]        =        pcmanfm
bind[pcmanfm]                =        Mod4+g

#浏览器的快捷键及脚本
program[firefox]        =        firefox
bind[firefox]                =        Mod4+f

#邮件客户端的快捷键及脚本
program[mail]                =        claws-mail
bind[mail]                        =        Mod4+e

#这里定义启动spectrwm时启动的程序,格式是
autorun =  屏幕ID:程序或脚本名字

#启动背景图
autorun                                =        ws[2]:fehbg
#输入法
autorun                                =        ws[2]:fcitx
#在屏幕1启动一个终端
autorun                                =        ws[1]:urxvt
#在屏幕8启动一个邮件客户端
autorun                                =        ws[8]:claws-mail
#在屏幕9启动一个浏览器
autorun                                =        ws[9]:firefox

#spectrwm默认是平铺的方式排列窗口,需要排列方式的用quirk定义,格式为
#quirk[<class>:<name>] = <quirk> [ + <quirk>...]
#下面这个是libreoffice的lowriter的定义,class和name可以从xprop程序得到,方法是启动lowriter,然后开一个终端,运行xprop |grep WM_CLASS,然后点击lowriter的主窗口就会得到xprop的输出如下:
WM_CLASS(STRING) = "VCLSalFrame.DocumentWindow", "libreoffice-writer"
把这两个颠倒顺序填入就OK了。=号后面的字段有下面这些:
FLOAT:允许窗口浮动
TRANSSZ:这个意思不太明白,貌似是调整那些太小的对话窗口的尺寸。
ANYWHERE:允许窗口自订位置,不居中
XTERM_FONTADJ:改变窗口大小时调整终端字体大小
FULLSCREEN:允许全屏,全屏时自动去掉窗口边框
FOCUSPREV:退出时强制焦点回到上一个焦点窗口。
quirk[libreoffice-writer:VCLSalFrame.DocumentWindow]        =        FLOAT + FULLSCREEN + FOCUSPREV

常用操作:
Mod+1~9:切换屏幕1~9
#下面这两条是和dwm最大的不同,dwm只能保留一个窗口布局,一个动了全动了,不爽
Mod+h,Mod+l:放大/缩小当前窗口,一个屏幕多个窗口时有用
Mod+Space:切换当前屏幕的窗口布局
#Mod+j,Mod+k:切换焦点
Mod+x:退出当前程序
Mod+q:退出specrtwm
Mod +<-, Mod+->:在屏幕1到屏幕9之间切换

#下面这些浮动窗口有用
Mod+-,Mod++:增加/缩减窗口宽度
Mod+Shift+-,Mod+Shift++:增加/缩减窗口高度
Mod+[,Mod+]:左/右移动窗口
Mod+Shift+[,Mod+Shift+]:上/下移动窗口

其他没用到的参数或者设置请参考开头的英文网页的说明。

顺便说说firefox的键盘操作,熟悉vi的可以安装firefox的vimperator附加组件,可以用vi的快捷键操作浏览器:D关闭当前页,ZZ退出浏览器,F会用数字标识当前页面上所有连接,按相应的数字进入该连接,等等……

最后,官方的源码在linux下编译后运行老是报libswmhack.so的警告,其实这个库在linux下是不需要的。附件是我改过的源码,只要进入解压后的spec目录,直接make ,然后把spectrwm文件拷贝到/usr/bin或者/usr/local/bin就可以了。
晕倒,附件只运行200K,我只上传了我改过的两个文件,其他源码请到官方网站用git下载。

我的.xinitrc如下:

  1. exec ck-launch-session dbus-launch --sh-syntax --exit-with-session spectrwm
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2012-2-24 14:54:13 | 显示全部楼层
^%@!...

虽然目前还不知道spectrw为何物,
友情支持一下!
回复 支持 反对

使用道具 举报

发表于 2012-2-24 16:11:14 | 显示全部楼层
Portage tree中有x11-wm/spectrwm,而且有makefile的patch了:/usr/portage/x11-wm/spectrwm/files/spectrwm-1.0.0-makefile.patch

个人对tiling window manager不太感兴趣(Windows惯的,习惯了stacking window manager了),不过还是支持一下。
回复 支持 反对

使用道具 举报

发表于 2012-2-24 16:38:39 | 显示全部楼层
不知道和 awesome 比起来有什么区别?
觉得awesome扩展性要强,虽然自己对lua没有了解,但准备有空希望自己可以更好的订制桌面。
回复 支持 反对

使用道具 举报

发表于 2012-3-12 15:20:16 | 显示全部楼层
这玩意把tint2看成一个窗口了。根本没有针对taskbar一类的软件做专门的设置。
回复 支持 反对

使用道具 举报

发表于 2012-3-13 12:34:46 | 显示全部楼层
spectrwm早装了,一直没来得及玩

Conformal上还有个xxxterm也不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表