基本上,它xclock
是一个很棒的工具,每个基本的 X 设置都会“内置”它。但是,在保持活动状态的同时配置 xclock
(模拟)绝对不适合胆小的人。特别是,初学者将没有机会在不深入研究领域的情况下配置模拟时钟,因为您在命令行中设置的所有内容都将仅用于非渲染模式(需要 option )并且默认情况下会被忽略(这意味着,即正在使用)。另外,关于它的文档非常糟糕,而这实际上例子处理与比较少见,因为母鸡的牙齿。因此,我决定开始我自己的方法。XRender
.Xresource
-norender
XRender
XRender
我希望有一种更简单的方法来完成这一切,但显然没有。首先,这个问题可能会帮助新用户指导如何为“他们的”进行设置xclock
;另一方面,我也想问你们是否有任何方法可以改进我的“配置文件”(注意引号)。奇怪的是,它.Xresources
被广泛认为是“过时的”和“上个世纪”,但是如果您使用的应用程序确实依赖于老式的方式,使用xrdb
,.Xresources
以及整个堆?
我个人喜欢“夜间设计”,因为它非常适合我的桌面风格。所以这就是我所做的:
$ touch ~/.Xresources
$ vi ~/.Xresources
XClock*foreground: #fbfbfb
XClock*background: #000018
XClock*update: 1
XClock*geometry: 210x210+1020+12
XClock.Clock.majorColor: rgba:f0/f0/19/7b
XClock.Clock.minorColor: rgba:a0/c0/f0/c0
XClock.Clock.hourColor: rgba:c9/66/11/72
XClock.Clock.minuteColor: rgba:00/82/9f/72
XClock.Clock.secondColor: rgba:50/93/30/6f
Run Code Online (Sandbox Code Playgroud)
rgba
代表“红色、绿色、蓝色、alpha” - 其中第四个参数 alpha将以十六进制表示法表示不透明度级别:a00
将使时钟指针或刻度线不可见;aff
将关闭任何不透明度。
到现在为止还挺好。由于我们不想重新启动X
服务器以使这些事情生效,我们将简单地将我们的设置合并到那些可能(或者像往常一样,可能不存在)已经存在的设置中:
$ xrdb -merge ~/.Xresources && xclock &
Run Code Online (Sandbox Code Playgroud)
虽然我不想吹牛,老实说,我认为它看起来方式比枯燥的设计,为默认我的桌面上更好。
但是在我努力让它按照我想要的方式工作的过程中,我身边也出现了一个问题:我实际上XClock.Clock.<parameter>
从以下资源文件中“窃取”了语法:
/etc/X11/app-defaults/XClock-color
有趣的是,所有以 结尾的参数都...Color
需要与 ; 中相同的XClock.
时钟.<parameter>
语法app-defaults
。例如XClock*hourColor: rgba:ff/ff/ff/80
不会使时针变白,也不会将不透明度设置为0x80
。
为什么呢?
到现在为止,我认为*
只是一个通配符的意思XClock<whatever><parameter>
。
Dra*_*oan 11
你的假设是正确的。使用的资源规范*
是通配符。您的问题是因为您当前加载的资源数据库中可能同时具有 anXClock*
和 anXClock.Clock
规范。在这种情况下,它更喜欢显式条目而不是通配符条目。您可以使用以下命令查看您目前在资源数据库中为 XClock 设置的内容appres XClock
:
appres XClock
XClock.input: false
Run Code Online (Sandbox Code Playgroud)
如果我使用通配符资源创建资源文件:
XClock*foreground: #fbfbfb
XClock*background: #000018
XClock*update: 1
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock*hourColor: rgba:c9/66/11/72
XClock*minuteColor: rgba:00/82/9f/72
XClock*secondColor: rgba:50/93/30/6f
Run Code Online (Sandbox Code Playgroud)
然后用一个加载它们的xrdb -merge xclock
操作,appres XClock
现在显示:
$ appres XClock
XClock*secondColor: rgba:50/93/30/6f
XClock*foreground: #fbfbfb
XClock*hourColor: rgba:c9/66/11/72
XClock*update: 1
XClock*background: #000018
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock.input: false
XClock*minuteColor: rgba:00/82/9f/72
Run Code Online (Sandbox Code Playgroud)
如果我启动 xclock,我会得到你漂亮闪亮的“夜间”主题。现在,如果我要编辑该资源文件并将通配符资源替换为显式资源(注意!
是注释行):
XClock*foreground: #fbfbfb
XClock*background: #000018
XClock*update: 1
XClock*geometry: 210x210+1020+12
XClock.Clock.majorColor: rgba:f0/f0/19/ff
XClock.Clock.minorColor: rgba:a0/c0/f0/ff
XClock.Clock.hourColor: rgba:c9/66/11/ff
XClock.Clock.minuteColor: rgba:00/82/9f/ff
XClock.Clock.secondColor: rgba:50/93/30/ff
!XClock*majorColor: rgba:f0/f0/19/7b
!XClock*minorColor: rgba:a0/c0/f0/c0
!XClock*hourColor: rgba:c9/66/11/72
!XClock*minuteColor: rgba:00/82/9f/72
!XClock*secondColor: rgba:50/93/30/6f
Run Code Online (Sandbox Code Playgroud)
并再次使用 合并资源文件xrdb -merge xclock
,appres XClock
现在显示:
XClock.Clock.secondColor: rgba:50/93/30/ff
XClock.Clock.minorColor: rgba:a0/c0/f0/ff
XClock.Clock.hourColor: rgba:c9/66/11/ff
XClock.Clock.minuteColor: rgba:00/82/9f/ff
XClock.Clock.majorColor: rgba:f0/f0/19/ff
XClock*secondColor: rgba:50/93/30/6f
XClock*foreground: #fbfbfb
XClock*hourColor: rgba:c9/66/11/72
XClock*update: 1
XClock*background: #000018
XClock*geometry: 210x210+1020+12
XClock*majorColor: rgba:f0/f0/19/7b
XClock*minorColor: rgba:a0/c0/f0/c0
XClock*minuteColor: rgba:00/82/9f/72
XClock.input: false
Run Code Online (Sandbox Code Playgroud)
注意如何既明确和通配符资源对XCLOCK类上市。在这种情况下,xclock
将更喜欢显式资源而不是通配符资源,并且我得到了带有非 alpha 颜色的时钟。
要解决此问题,请使用-load
操作而不是-merge
操作(-load
如果您不提供任何选项,则xrdb 默认为,即xrdb file
与 相同xrdb -load file
)。
这会有效地清除您的资源数据库,加载系统默认值,然后在该文件中添加您的 XClock 资源设置。要知道的一个好技巧是,您可以使用xrdb /dev/null
. 您可以获得现有资源数据库(包括系统默认值)的副本:xrdb -query -all
可以将其重定向到文件,然后根据您的喜好进行编辑。
在大多数系统上,将它们放在 .Xresources 或 .Xdefaults 中意味着它们将在创建 X 会话时加载,因此您不必从 X 会话手动加载它们到 X 会话。
我使用通配符将大多数应用程序设置为黑底白字(我不喜欢白底黑字):
*background: #000000
*foreground: #ffffff
Run Code Online (Sandbox Code Playgroud)
至于您可以为 xclock 设置哪些资源,它们在手册页中有介绍(大多数 X11 命令在手册页中介绍了它们的资源)。
另一件需要了解(但不经常记录)的事情是,大多数 X11 命令都可以传递-name
参数,这允许您拥有与默认应用程序设置分开的资源,例如,如果我有:
Leary*background: #ff0000
Run Code Online (Sandbox Code Playgroud)
作为资源设置,然后使用 xclock 运行xclock -name Leary
我会得到一个带有强烈红色背景的 xclock。加载任何显式/通配符 XClock 资源设置,然后它们会被Leary
类设置的内容覆盖。然后我可以使用它来应用相同的设置来说xterm
,与xterm -name Leary
.
大多数 X11 命令使用许多这些“标准”命令行选项:
-display host:n
Location of the X server.
-geometry wxh+x+y
Window size and location.
-bg color
Window background color.
-fg color
Text and graphics color.
-fn font
Text font.
-iconic
Initial window to be started iconized.
-title strings
Window header title.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4742 次 |
最近记录: |