我一直在努力寻找一种方法,让 conky 出现在桌面上所有其他窗口和文件夹的后面,但据我所知,到目前为止还没有人找到答案。
作为参考,我这两天大部分时间都在寻找解决方案!
我的操作系统是 Ubuntu 18.04(bionic beaver),带有 gdm3 窗口管理器。
这是我的 .conkyrc 文件中的代码。
conky.config = {
alignment = 'top_right',
background = false,
border_inner_margin = 0,
border_outer_margin = 0,
border_width = 1,
console_graph_ticks = ',_,-,=',
cpu_avg_samples = 12,
default_bar_height = 4,
default_bar_width = 0,
default_color = 'gold',
default_gauge_height = 25,
default_gauge_width = 40,
default_graph_height = 25,
default_graph_width = 0,
default_outline_color = 'white',
default_shade_color = 'black',
disable_auto_reload = false, --use this to stop updates when saving the config.
diskio_avg_samples = 2,
double_buffer = true,
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = true,
extra_newline = false,
font = 'DejaVu Sans Mono:size=12',
format_human_readable = true,
gap_x = 5,
gap_y = 60,
hddtemp_host = '127.0.0.1',
hddtemp_port = '7634',
if_up_strictness = 'up',
--imap = 'webmail.hostdw.com username password -i 60 -f INBOX -p 143 -r 5',
--lua_draw_hook_post = 'conky_my_overlay',
--lua_draw_hook_pre = 'conky_my_background',
lua_load = '~/home/lavar/Desktop/lua_scripts/temps.lua',
--lua_shutdown_hook = 'conky_my_cleanup',
--lua_startup_hook = 'conky_my_wakeup',
max_port_monitor_connections = 256,
max_text_width = 0,
max_user_text = 16384,
maximum_width = 1000,
minimum_height = 5,
minimum_width = 5,
--mpd_host = '127.0.0.1',
--mpd_password = 'password',
--mpd_port = 'port',
--mysql_host = 'default is localhost',
--mysql_port = 'default is mysql port',
--mysql_user = 'default is your username',
--mysql_password = 'if this is not set there is no password',
--mysql_db = 'default is mysql'
music_player_interval = 1,
net_avg_samples = 2,
no_buffers = true,
nvidia_display = dp,--so many questions...
--nvidia_gpu = '${color CC9900}GPU:$color $alignr ${execi 60 nvidia-settings -query GPUCoreTemp | perl -ne 'print $1 if /GPUCoreTemp.*?: (\d)./;'}'
--nvmem = '${nvidia memfreq}'
out_to_console = false,
out_to_stderr = false,
own_window = true,
own_window_argb_value = 50,
own_window_argb_visual = true,
own_window_class = 'Conky',
own_window_hints = 'above,undecorated,sticky,skip_taskbar,skip_pager',
own_window_type = 'desktop',--set to desktop for background, and normal for foreground.
show_graph_range = true,
show_graph_scale = true,
stippled_borders = 0,
temperature_unit = 'fahrenheit',
times_in_seconds = false,
top_cpu_separate = false,
update_interval = 1,
uppercase = false,
use_spacer = 'none',
use_xft = true,
}
conky.text = [[
${scroll 20 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar}
${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed enp1s0} ${color grey} - Down:$color ${downspeed enp1s0}
$hr
${color CC9900}GPU:$color $alignr ${execi 1 echo "`nvidia-settings -t --query [gpu:0]/GPUCoreTemp
` *9/5+32" | bc}°F
${color CC9900}VIDEO ${hr 2}$color
NVidia GeForce GPU ${alignr} ${nvidia gpufreq} Mhz
Memory ${alignr} ${nvidia memfreq} Mhz
Temperature $alignr ${nvidia temp}°C
$hr
${color grey}Name PID CPU% MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]
正如您所看到的,我已经对手册中的代码和论坛中的其他提要进行了大量实验,我尝试将“own_window_type”更改为桌面、覆盖等,但没有找到解决我的问题的单一方法。
主要问题是 conky 窗口后面的任何东西都无法点击,这很难理解,因为我看过的代码和论坛都说这是 Ubuntu 18.04 的一个错误,并且 conky 版本很难正确使用 override 和桌面变量。
请帮我找到解决方案,如果代码有任何其他错误,请通知我。XD
提前致谢!
答案1
我必须承认,这整件事是为了回答我昨天提出的问题,以便回答所有未来可能有同样问题的人的问题!
所以上面的代码和我现在使用的代码相同。
但就在我将这篇文章写入论坛之前,我正在摆弄设置中的键盘快捷键。
我很好奇这到底有什么用,因为我以前没用过。我使用了快捷方式,使所有窗口都消失了,然后再次使用它,将它们恢复。窗口一恢复,我就注意到原来在 conky 后面的文件夹更明显了。我确信这是心理戏法!但果然,文件夹现在在 conky 前面了!
无论出于什么原因,这个快捷方式解决了互联网无法解决的问题。
需要澄清的是,这绝不是一个永久性的解决方案。几乎每次 conky 启动时都必须这样做。如果你的计算机连续几天甚至几周运行,那么这很好。但它确实解决了一个以前看似不可能解决的问题。
我希望这对其他人有用,并且其他人可以轻松找到它。感谢您帮助我找到这个答案,因为我知道这对我们许多用户来说都是一个问题。
祝你今天过得愉快!
ps-如果您从终端运行 conky,它会删除与它的终端连接。
pps - 如果您编辑 .conkyrc 文件并且没有将“disable_auto_reload”设置为 true,那么 conky 将在文件夹前面重新加载。但可以使用快捷方式再次修复此问题。
答案2
对我来说,以下配置解决了类似的问题。
own_window_type = 'desktop'
own_window_argb_visual = false