免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2219 | 回复: 0
打印 上一主题 下一主题

fvwm 初试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-24 17:35 |只看该作者 |倒序浏览

                Fvwm 初试
   
Fvwm 资料比 Sawfish 的资料多得多。先对 Fvwm 下手,等 Emacs 弄熟之后再换 Sawfish。
设定全局变量
  • SetEnv fvwm_img $[FVWM_USERDIR]/images
  • SetEnv fvwm_icon $[FVWM_USERDIR]/icons
    注意用方括号把变量括起来

对于 Virtual Desktops 的设定
  • DeskTopSize NxN 桌面的个数
    (文档中还有一个设置是 DesktopName 0 Main,更改桌面名字)
  • EdgeScroll N N 分别切换到其他桌面的时候,当前桌面占N%。两个数,就代表左右和上下啦。

对于 Mouse and Focus Behavior 的设定
  • ClickTime 350 单位是毫秒,这个数字决定fvwm对于鼠标是点击还是按住的判定
  • MoveThreshold N 这个值决定 fvwm 对于鼠标真正移动还是微移的判定,可以改成100 和 1试试。
  • Style * SloppyFocus, MouseFocusClickRaises 这个*是通配符,代表把这些 style 用在所有的窗口中。后面的style用逗号分开。
  • SlppyFocus 悬停时聚焦
  • MouseFocusClickRaises 鼠标点击时上升到最上面
  • 其他 style 见文档(待补充)

关于启动Fvwm
在 Gnome 里面,我们的开机启动程序都是设定好的(当然自己也可以添加)。如果单单只用 Fvwm 窗口管理器,而不用 Gnome、KDE
这样的 window system,那么我们就只能自己来控制启动项咯。那是不是把启动项完全写进 .fvwm2rc
?不是的,并且这样是不明智的,因为如果就这样写进去,.fvwm2rc 自己还没有读完,就开启其他程序了,这也是我们不想看到的。fvwm
自己准备了两个函数,StartFunction 和 InitFunction, 它会在完全读取 .fvwm2rc
之后执行。嘿嘿,认真配置自己的启动项吧。
对于几个名词的解释
  • close:让窗口体面地关闭自己(gracefully)
  • delete:直接发送关闭信号给窗口
  • destroy:最粗暴的关闭方式。
  • Iconify: 把这个窗口图标化,图标化在什么地方是可以自己选的。
  • Maximize:最大化,这个“大”也是可以控制的。
  • Recapture:capture 窗口,让最近的 style 参数能够运行。
  • RecaptureWindow:Recapture 指定窗口。
  • Refresh:让窗口能够重新运用自己的style。
  • RefreshWindow:Refresh 指定窗口
  • Stick:让窗口在移动 viewport 的时候不移动。
  • WindowShade 在 shade 状态下的窗口只有一个titlebar。

关于聚焦的一些东西:
  • ClickToFocus 也就是点击聚焦
  • MouseFocus(or FocusFollowsMouse) 鼠标移动之后就聚焦
  • SloppyFocus 和上面的差不多,但上面的会聚焦到根窗口,这个不会。也就是你从一个窗口中把鼠标移动到根窗口中,这个窗口的聚焦不会消失,而上面的会。
  • NeverFocus 从名字看出来,从不聚焦。(有什么用?嘿嘿,FvwmButtons)
  • 当然,还有一些附带的参数。点击聚焦(ClickToFocus)有点麻烦,我用移动聚焦,但窗口层的提升怎么办?也就是几个窗口放在不同的层,彼此都有覆盖。我移动鼠标到下面的窗口时候,聚焦了,但有一部分被挡住了。这个时候可以用一些附加的选项来做到。

关于字体的设定
我们看到的字体,比如  Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*  是从哪里来的呢?当然这个只是一个命令的事情,但查找方法要学会,man 就是个不错的东西。我们可以输入
man -k font.*list
(再次提醒,man -k 是可以用正则表达式的)
可以看到,我们要的命令是
xlsfonts
当然,也可以用
fc-list  和一个图形界面的字体查看  xfontsel
FAQ
  • 什么是 ColormapFocus
  • 如何在 Gnome 的登录窗口增加一个 Fvwm 选项?
    登录窗口里面的会话选项(session),实际是在 /usr/share/xsessions 中的,可以参照里面的设置来增添一个选项,比如 Fvwm。
  • 在 Fvwm 中的 Modifier 如何表示 Super(Windows logo)键?
    这个和个人的键盘设置有关系。在 Fvwm 中,有 8 个键可以供用作
    modifier,分别是(SMC12345)。S-Shift,M-Meta,C-Control,1-mod1,2-mod2,3-mod3,4-
    mod4,5-mod5。而看着有点面生的 mod 是什么? 用命令可以查看:  xmodmap  。xmodmap 读的键盘设定文件是主目录下的 .Xmodmap 。我的 .Xmodmap 是
    keycode 37 = Caps_Lock
    keycode 66 = Control_L
    keycode 105 = Control_R
    clear lock
    add lock = Caps_Lock
    clear control
    add control = Control_L Control_R
    为了 Emacs 中的 Control 键,我交换了一下 Control_L 和 Caps_Lock。
    所以我的 xmodmap 是:
    xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        Caps_Lock (0x25)
    control     Control_L (0x42),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
    mod2        Num_Lock (0x4d)
    mod3      
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
    mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)
    而 keycode 是哪里来?输入命令  xev  再按下相应的按键就可以查看 keycode 。
    所以我的 Fvwm 中启动 Emacs 的快捷键定义是:
    Key e            A       4       Start-Emacs
    #start emacs funcition
    AddToFunc Start-Emacs  #为了在 ubuntu9.10 中使用英文环境,并且 Emacs 能用中文输入法,只能这么启动 Emacs 了。
    + I Exec LC_CTYPE=zh_CN.UTF-8 emacs -geometry 80x26+200+60
  • 窗口标题位置显示乱码
    其实捣鼓那么长时间电脑了,应该知道乱码其实是编码没有选对的问题,刚开的 xterm ,显示的部分中文依然是乱码就是这个原因。更改编码实际就是把
    Style *           Font "-adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*"
    改成一个支持中文的字体。哪里可以获取系统中字体信息?见上面。
  • 现在手头有些图标,想更改一下标题栏左右的图标,应该把这些图标放到哪里?
    Fvwm 中专门有一个变量 ImagePath 来表示图片的位置。设置方式是:
    ImagePath path
  • 一些 Focus Policy
    • 默认焦点策略的设置是 MouseFocus,也就是根据鼠标移动来聚焦。 而 SloppyFocus 是 MouseFocus 的一个改进--只有鼠标移动到非根窗口时才聚焦。
    • 如果要获得点击获取聚焦的效果加入下面这行代码
      Style * MouseFocusClickRaises
    • 如果焦点策略是 SloppyFocus(或者是 MouseFocus ),打开的新窗口不在鼠标之下,那么会得不到焦点,解决办法是加入下面一个 Style:
      Style * GrabFocus

  • 为什么我的窗口移动的时候仅仅是个轮廓?
    在 OpaqueMoveSize 中定义了窗口移动时候的样子,如果想要在移动时候保持窗口中的内容,就定义为:
    OpaqueMoveSize -1
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103801/showart_2185994.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP