首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用X11访问自定义XResources颜色

使用X11访问自定义XResources颜色
EN

Stack Overflow用户
提问于 2015-07-16 11:57:52
回答 1查看 975关注 0票数 2

我正在使用X11库启动我的第一个程序。首先,我只是尝试访问用户在xrdb中定义的配色方案中的颜色。例如,在我的~/.Xresources中,我有这样的东西:

代码语言:javascript
复制
*color8:     #073642
*color0:     #002b36

我还验证了这些颜色在我运行xrdb -query时会显示出来。到目前为止,在我的C程序中,我有:

代码语言:javascript
复制
#include <X11/Xlib.h>
#include <X11/Xresource.h>

int main (int argc, char *argv[])
{
    Display* display = XOpenDisplay (0);
    XrmDatabase xrdb = XrmGetDatabase (display);
    XrmValue v;
    Colormap cmap = DefaultColormap (display, DefaultScreen (display));
    XColor screenColor;
    XColor exactColor;

    if (! XAllocNamedColor (display, cmap "color0", &screenColor, &exactColor))
        printf ("ERROR\n");

   printf ("%u %u %u\n", screenColor.red, screenColor.green, screenColor.blue);

   return 0;
}

但是这个错误。那么我错过了什么呢?有没有更好的方法来做我想做的事情?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-11-03 00:43:52

当您想要访问由xrdb加载的Xresource文件中设置的参数时,您需要

代码语言:javascript
复制
xrdb = XrmGetStringDatabase(XResourceManagerString(display));

而不是XrmGetDatabase(...)。希望这(最近)解决了你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31445141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档