Emacs GUI如何切换到文本UI元素(小部件)

时间:2017-02-08 06:33:12

标签: emacs

我从命令提示符切换到Emacs GUI模式,我删除了恼人的菜单/工具/滚动条,我希望在GUI版本上有更流畅的颜色。

问题是,当我看到常规按钮插入文本(ui小部件)时,我的眼睛正在流血,而且我想要它们的文本版本。我想使用Emacs GUI作为"更好的cmd来运行emacs -nw"。我尝试在我的主计算机上切换到Linux失败(因为其他人运行Linux),但此时我并不觉得双启动。

TL; DR:图形UI小部件(按钮,复选框) - >文本版本(如emacs -nw)

2 个答案:

答案 0 :(得分:1)

尝试设置(setq custom-raised-buttons nil)。这将使自定义缓冲区中的按钮看起来更像平面文本。您可以通过将光标放在您认为丑陋且执行M-x customize-face RET的事物上来更改其他属性。最后,您可能想尝试一些主题; Melpa中有几十个(搜索" -theme")。

答案 1 :(得分:0)

你看到的'按钮'实际上只是带有一些字体技巧的文字,使它们看起来很高或“装箱”。完全摆脱它们可能有点棘手,但你应该能够删除它们中的大多数。

Emacs使用(在某些地方)继承方法来定义“faces”,这意味着有时你可能需要找到父面来修复它的外观。这些面具有下划线和框等属性。例如,这是我系统上“按钮”面的定义。

Hide Button face: [sample]
    State : THEMED.
   Default face used for buttons.
   [ ] Font Family: --
   [ ] Font Foundry: --
   [ ] Width: --
   [ ] Height: --
   [ ] Weight: --
   [ ] Slant: --
   [X] Underline: Value Menu On:
       Color: Value Menu Foreground Color
       Style: Value Menu Line
   [ ] Overline: --
   [ ] Strike-through: --
   [ ] Box around text: --
   [ ] Inverse-video: --
   [ ] Foreground: --
   [ ] Distant Foreground: --
   [ ] Background: --
   [ ] Stipple: --
   [ ] Inherit: --
   Hide Unused Attributes

这是

的定义
Hide Custom Button face: [sample]
    State : THEMED.
   Face for custom buffer buttons if ‘custom-raised-buttons’ is non-nil.
   [ ] Font Family: --
   [ ] Font Foundry: --
   [ ] Width: --
   [ ] Height: --
   [ ] Weight: --
   [ ] Slant: --
   [ ] Underline: --
   [ ] Overline: --
   [ ] Strike-through: --
   [X] Box around text: Value Menu Box:
       Width: 2
       Color: Value Menu *
       Style: Value Menu Raised
   [ ] Inverse-video: --
   [X] Foreground: #93a1a1     Choose   (sample)
   [ ] Distant Foreground: --
   [X] Background: #073642     Choose   (sample)
   [ ] Stipple: --
   [ ] Inherit: --
   Hide Unused Attributes

请注意这两个面使用的下划线和框属性。

您需要做的是更改属性,使脸部不会让您的眼睛流血。有两种方法(行为更多,但有两种很容易描述!)你可以这样做。

M-x list-faces-display

  

list-faces-display是一个交互式编译的Lisp函数   “faces.el”。

     

它必然会,。

     

(list-faces-display& optional REGEXP)

     

列出所有面孔,每个面孔使用相同的示例文字。示例文本是   来自变量'list-faces-sample-text'的字符串。

     

如果REGEXP为非零,则仅列出名称与此匹配的面   正则表达式。当使用前缀参数以交互方式调用时,   使用'read-regexp'提示正则表达式。

和M-x customize-face(点需要在您想要自定义的面上,或者您需要知道它的名称)

  

customize-face是一个交互式自动加载编译的Lisp函数   “CUS-edit.el”。

     

它必然会。

     

(custom-face& optional FACE OTHER-WINDOW)

     

自定义FACE,应该是面名或零。如果FACE为零,   自定义所有面孔。如果FACE实际上是面部别名,请自定义   面对它是别名。

     

如果OTHER-WINDOW为非零,则显示在另一个窗口中。

     

交互式地,当点在具有指定面部的文本上时,   建议自定义该面部,如果它是可定制的。

我的建议是使用list-faces-display并浏览列表以识别您不喜欢的那些面孔,然后将它们更改为可接受的面孔。这应该得到大部分。然后,当你使用emacs时,当你找到另一个你不喜欢的“按钮”时,把光标放在它上面并使用customize-face来改变它。

请注意,加载主题也可以更改面部设置,因此您可能需要获得正确的序列才能获得一致的行为。