LinuxSir.cn,穿越时空的Linuxsir!

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

fvwm里如何自动隐藏iconbuttom?

[复制链接]
发表于 2006-7-7 21:02:45 | 显示全部楼层 |阅读模式
我的iconbuttom放了8个常用的程序图标进去,作为启动器,而且左右分别有个pager和clock,作用跟panel差不多。默认情况下,其他窗口最大化时它会被覆盖,如果把它设成ontop的话,其他窗口最大化又会被它遮住一个角。现在我想把它自动隐藏,平时要显示,当其他窗口最大化可以将他覆盖,但是覆盖后把鼠标移到右下角或者按下win键,它又自动raise,如果再点击最大化的那个窗口,它又被覆盖,如此反复,说简单点就是我可以通过把鼠标移到有下角或者按下win键来获得iconbuttom的焦点并使他raise,点击其他窗口又使他失去焦点,请问该如何实现?
发表于 2006-7-7 23:21:39 | 显示全部楼层
这是我的设置,自己根据需要改吧, EdgeCommand 的使用见man fvwm.
工作方式, 鼠标在屏幕右边缘0.25秒后, FvwmButtons就会被提上来, 鼠标移开一定的时间就降回去.  设置它不能获取焦点, 这样原来的窗口就不会失去焦点.
  1. Style FvwmButtons HandleWidth 0, NoHandles, FixedPosition, Icon toolbox.xpm, CirculateHit,NeverFocus, WindowListSkip
  2. EdgeCommand Right Schedule 250 Test (EdgeHasPointer Right) TempRaise FvwmButtons
  3. DestroyFunc TempRaise
  4. AddToFunc TempRaise
  5. + I All ($0) Layer 0 6
  6. + I Schedule 1000 LowerTemp $0
  7. DestroyFunc LowerTemp
  8. AddToFunc LowerTemp
  9. + I All (HasPointer,$0) Schedule 500 1003 LowerTemp $0
  10. + I TestRc (Match) Break
  11. + I All ($0) Layer 0 4
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-11 09:13:16 | 显示全部楼层
谢谢,赶快去试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-12 15:56:27 | 显示全部楼层
试过了,效果不错,不过我想问问lastart,如何让fvwmbuttom自动raise之后能获得焦点而不是ontop,这样我点击其他窗口有可以让他“沉”下去,而不是现在这样在一定时间(上面的代码是1秒)以内一直在其他窗口前面?
回复 支持 反对

使用道具 举报

发表于 2006-7-12 16:33:21 | 显示全部楼层
可以那样其实更简单,
把NeverFocus去掉.
TempRaise方程改为
  1. DestroyFunc TempRaise
  2. AddToFunc TempRaise
  3. + I All ($0) Raise
复制代码
就可以了.

我的代码不是让它在其它窗口一秒后就下去, 而是只要鼠标在上面它就不会下去, 鼠标离开一定时间后就下去,  当然点小问题. 递归太多次后会溢出
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-12 18:07:28 | 显示全部楼层
原来如此。另外想问问上面那个函数里面 All ($0)和Layer 0 6是什么意思哦?
回复 支持 反对

使用道具 举报

发表于 2006-7-12 18:55:20 | 显示全部楼层

man fvwm
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-12 21:41:43 | 显示全部楼层
呵呵,就是想偷个懒才来请教的.......算了,还是自己看man算了。还是要谢谢lastart。
回复 支持 反对

使用道具 举报

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

本版积分规则

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