分页: 1 / 1

[问题]启动Emacs时可不可以根据是否在X下而执行不同的脚本?

发表于 : 2007-07-24 2:10
bearscafe
想在tty下运行Emacs时,执行与X下运行时不同的脚本,不知可行否?

发表于 : 2007-07-24 9:28
herberteuler
你可以利用 window-system 这个变量来识别 Emacs 在哪个窗口管理器里运行。它的值有下面几种可能:

`x' - Emacs 在 X 中运行
`pc' - Emacs 在 DOS 中运行
`w32' - Emacs 在 Windows 中运行
`mac' - Emacs 在 Macintosh 中运行
`nil' - Emacs 在基于字符的终端中运行

发表于 : 2007-07-24 14:29
bearscafe
herberteuler 写了:你可以利用 window-system 这个变量来识别 Emacs 在哪个窗口管理器里运行。它的值有下面几种可能:

`x' - Emacs 在 X 中运行
`pc' - Emacs 在 DOS 中运行
`w32' - Emacs 在 Windows 中运行
`mac' - Emacs 在 Macintosh 中运行
`nil' - Emacs 在基于字符的终端中运行
是否是说,可以用类似if的判断语句来选择执行?我对lisp语言不太了解,能不能给个简单示例?谢谢!

发表于 : 2007-07-24 14:54
herberteuler

代码: 全选

(cond ((eq window-system 'x)
       (message "In X"))
      ((eq window-system 'pc)
       (message "In DOS"))
      ((eq window-system 'w32)
       (message "In Windows"))
      ((eq window-system 'mac)
       (message "In Macintosh"))
      (t
       (message "In character-based terminal")))

发表于 : 2007-07-24 16:38
bearscafe
成功。太感谢了! :D