- 金錢
- 7346
- 威望
- 577
- 貢獻值
- 0
- 推廣值
- 0
- 在線時間
- 156 小時
- 最後登錄
- 2024-10-27
- 主題
- 86
- 精華
- 0
- 閱讀權限
- 30
- 註冊時間
- 2011-3-5
- 帖子
- 139
TA的每日心情 | 開心 2024-10-15 21:32 |
---|
簽到天數: 1627 天 [LV.Master]伴壇終老 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 7346
- 威望
- 577
- 主題
- 86
|
樓主
發表於 2014-11-15 20:27:34
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
|
|