【问题标题】:Color discrepancy between Emacs 22 and Emacs 23Emacs 22 和 Emacs 23 之间的颜色差异
【发布时间】:2011-04-10 07:30:59
【问题描述】:

如果 .emacs 包含以下两行

(set-face-foreground 'modeline "#000000") 
(set-face-background 'modeline "#00FFFF") 

然后 Emacs 22 正确使用颜色 #00FFFF(青色),但 Emacs 23 使用不同的蓝色 (#90FBFE)。

发生了什么?

图片可以说明问题,但因为我是这里的新用户,stackoverflow 不会让我保存图片。 同时,这是在其他地方托管的图像: http://postimage.org/image/1j2ya1ddw/

【问题讨论】:

  • 您能否发布您观察到的差异的屏幕截图?
  • 我不确定这是否能解决您的问题,但这些天来设置模式线的批准方式是M-x customize-face mode-line
  • 使用自定义会产生相同的结果。 “红”不是红; “青色”不是青色;等
  • 我看到了差异。 html-color-codes.com 是我在 Google 上获得的彩色十六进制代码的最高热门。您是指一些标准的颜色表示吗?我不是色彩专家。在我的 Emacs23(在 Debian Linux 上)上,“#00FFFF”和“#90FBFE”是不同的颜色。我没有方便的 emacs22 来查看自己的差异。它可能与颜色表示标准有关。
  • 此外,(color-values "cyan") 在我的 Debian Linux 上的 emacs23 中提供了 (0 65535 65535)。也就是说,它认为“#00FFFF”是青色,而“#90FBFE”不是。

标签: emacs emacs-faces


【解决方案1】:

OS X 上的版本 23 使用新的 Cocoa 前端,并且在该版本和当前的开发 Emacs 中颜色呈现不正确。我打开a bug for this last week,一直在使用精确选择的颜色开发颜色主题,开发人员似乎正在接受错误的有效性。

【讨论】:

  • 就是这样。 Emacs 23 似乎将某些功能从请求的颜色应用到提供的颜色。结果是有点洗掉了颜色。我们可以把这个问题放在这里,如果 stackoverflow 上的界面允许我们,稍后附加一个注释来说明解决方案。
  • @user700648 是的。只需将此标记为正确答案,我们中的任何一个都可以稍后在修复错误后发表评论。
  • 如果你现在想修复它,我很幸运地做了一点小改动并重新编译了 Emacs。见this comment on the bug
  • @erik 感谢您确认该补丁有效。我希望它会被提交给官方的 emacs 树。
【解决方案2】:

对我来说,这两行代码各司其职,但如果我将 alpha 参数设置为 选定的框架然后颜色变化相似。我看过 emacs 22.3 手册,并没有发现任何关于 alpha 参数的信息。但如果 你看看23.3 manual 你可以在'alpha'中找到这个短语 参数部分:

它也可以有一个 `nil' 值,它 告诉 Emacs 不要设置框架 不透明度(将其留在窗口中 经理)。

也许您的窗口管理器会更改框架的颜色?如果是这样,这行代码可以帮助你:

 (set-frame-parameter (selected-frame) 'alpha 100)

【讨论】:

  • 不错的建议,但这并不能解决问题。将 alpha 设置为 100 后的颜色请参见 postimage.org/image/2hnpry8v8
  • @user700648 在附加的屏幕截图中有“#FFOOFFFF”值,也许你想使用“#00FFFF”。我已经看到类似于 "#FF00FFFFFF" [here] (emacswiki.org/emacs/TransparentEmacs) 的值的用法,但它们没有在 23 emacs 中使用。 22 emacs手册中没有一个frame的alpha参数这样的参数,所以不需要在22 emacs中指定。
  • "#FFOOFFFF" 是我尝试过的变体之一。使用“#OOFFFF”时颜色也是错误的。
猜你喜欢
  • 2013-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 2012-06-02
  • 2010-09-14
相关资源
最近更新 更多