|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 654|回復: 0
打印 上一主題 下一主題

fvwm 初试

[複製鏈接]

86

主題

3

好友

577

積分

中學生

Rank: 3Rank: 3

  • 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
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-1 07:02 , Processed in 1.244747 second(s), 17 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部