08 May
实话说是依依弄起的,这个东西,虽然以前看过,但是一直没有尝试,看到依依尝试失败了,才想起来玩下。简单的编译安装了,试了下,还是比较好玩的。下面给几个截图。。
1.透明效果
嘿嘿,还是真透明。。。
2. 窗口排列效果
窗口可以在任意位置任意角度的摆放,虽然看起来有点乱。。
3. 窗口变形
rxvt,变成圆形的了…
4. 卷起
为了不把 rxvt 挡住,firefox 和 xterm 自觉的卷起了一小部分
5. 窗口平铺
默认的9个pager,可以看到当前的 root window 和在活动窗口上的一些子窗口。
当然还有一些问题,虽然这个是用的 fvwm 的配置,不过我原来的配置还没有弄过来,看了下,比较繁琐,
因此使用也不很顺手,权当玩下,有空了再来研究细节了…
Posted in fvwm, linux by: zhan
4 Comments
29 Mar
玩 gentoo, 懒得编译 gnome/kde 这样的大家伙, kde4 虽然也试了下,不过日
常使用还是不习惯,之前使用 sawfish, 因为喜欢它的 jump-or-exec 插件的功能,之
前也没有仔细研究过 fvwm 有没有这个功能。一直认为是没有。好了也说一下这个
jump-or-exec 是个什么东西。简单的说就是这样,如果你要打开一个程序,而这
个程序已经打开了,但是目前在后台,那么这个此时的动作就将它调到前台,聚焦。
如果这个程序没有打开,就将其打开送到前台。这样在任何时候将保持一个运行实
例。这个功能初看不怎么样,不过设想一下下面一个场景,先开了一个 term,比
如是 urxvt,然后开了一个 firefox,全屏了,盖住了 urxvt, 然后看了会网页,又
要回去 urxvt,有了这个功能,只要一个快捷件,就回去了,比所谓的鼠标去找
taskbar 然后点击来的快多了。因此 taskbar 也显得多余了。。当然,这个例子
不是很恰当,因为当前的 wm 对 pager 的支持都是不错的,完全可以放在不同的
pager 里面来管理。不过类似这样的管理方式,应该是一个优秀的 wm 必备的。
说起来还是 ee 提示的结果,不过 ee 简单的将这个功能理解为单运行实例,个人
觉得不太准确,原因如上所述。在 irc 讨论一番之后, weakish 给了一个链接
[1]。找到了一个思路,很简单,因为 wm 当前打开的每一个窗口的信息都是知道
的,而对于一个程序来说,它的信息中有一些是固定的,比如一个窗口所属的类别
等等,因此可以简单的维护一个列表,将程序的运行命令与这个特定属性加以联
系,这样当运行这个命令的时候,就去搜索这个属性,若存在,就将那个匹配上的
窗口拿到前台来,否则就运行这个实例。拿到前台可能要考虑几个情况的操作,比
如聚集,提升,或解除图标化,一个简单的函数 EWMHActivateWindowFunc 可以完
全做到这些(话说,还是 ee 发现的。。。)。于是最后的代码如下:
DestroyFunc JOE
AddToFunc JOE
+ I All ($0) EWMHActivateWindowFunc
+ I TestRc (NoMatch) Exec exec [...]
Posted in fvwm by: zhan
5 Comments