Wie kann ich conky mit own_window_type=panel verwenden, um ein Conky-Fenster entlang der oberen Bildschirmkante zu erstellen, das sich nicht mit anderen Fenstern überschneidet?

Wie kann ich conky mit own_window_type=panel verwenden, um ein Conky-Fenster entlang der oberen Bildschirmkante zu erstellen, das sich nicht mit anderen Fenstern überschneidet?

Ich möchte ein Conky-Fenster erstellen, das sich am oberen Rand meines Bildschirms befindet und sich nicht mit maximierten oder nicht maximierten Fenstern überschneidet.

Meine Versuche, own_window mit own_window_type=panel zu verwenden, führen dazu, dass das Conky-Fenster über vorhandenen Fenstern sitzt (und diese überlappt).

Kann jemand Vorschläge machen?

Danke.


Ich verwende Conky (1.10.8) auf Debian Buster mit lxde, lxpanel (0.9.3) und Openbox (3.6.1). Am unteren Bildschirmrand läuft ein lxpanel, das sich gut beim Maximieren von Fenstern bedienen lässt.


Unten sehen Sie die Standard-Conky-Konfiguration beim Ausführen von conky -C:

conky.config = {
    alignment = 'top_left',
    background = false,
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'white',
    default_shade_color = 'white',
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    use_xft = true,
    font = 'DejaVu Sans Mono:size=12',
    gap_x = 5,
    gap_y = 60,
    minimum_height = 5,
    minimum_width = 5,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    use_spacer = 'none',
    show_graph_scale = false,
    show_graph_range = false
}

Unten ist meine Konfigurationsdatei:

conky.config = {

background = true,
update_interval = 10,
update_interval_on_battery = 10,
total_run_times = 0,

double_buffer = true,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'panel',
own_window_hints = 'undecorated,above,sticky,skip_taskbar,skip_pager',
own_window_transparent = false,
own_window_colour = '17171D',
own_window_argb_visual = false,
own_window_argb_value = 0,

alignment = 'top_middle',
gap_x = 0,
gap_y = 0,
minimum_height = 18,
minimum_width = 1366,
maximum_width = 1366,

draw_borders = false,
border_outer_margin = 0,
border_width = 0,
border_inner_margin = 0,

default_color = 'FFFFFF',
color0 = 'CCCCCC',
color1 = '999999',
color2 = 'FFC466',
color3 = 'C2A270',
color4 = 'FFFF66',
color5 = 'C2C270',
color6 = '00FF66',
color7 = '71C191',
color8 = '0066FF',
color9 = '7191C1',

use_xft = true,
xftalpha = 1.0,

font = 'Ubuntu:style=Medium:size=10',

draw_outline = false,
default_outline_color = '000000',
draw_shades = false,
default_shade_color = '333333',

max_text_width = 0,

uppercase = false,
format_human_readable = true,
short_units = true,

draw_graph_borders = false,
show_graph_range = false,
show_graph_scale = false,

temperature_unit='celsius',

cpu_avg_samples = 4,
net_avg_samples = 2,
diskio_avg_samples = 2,

if_up_strictness = 'address',

top_cpu_separate = false,
top_name_verbose = false,
top_name_width = 20,

out_to_console = false,
out_to_ncurses = false,
-- out_to_http = false,
out_to_stderr = false,

override_utf8_locale = true,

no_buffers = true,
text_buffer_size = 2048

}

conky.text = [[
Some text to display
]]

Die gleichen Ergebnisse erhalte ich, wenn ich meine Konfiguration auf ein absolutes Minimum reduziere:

conky.config = {

double_buffer = true,
own_window = true,
own_window_type = 'panel',
own_window_hints = 'undecorated,above,sticky,skip_taskbar,skip_pager',

}

conky.text = [[
Some text to display
]]

Unten ist die Ausgabe, wenn ich conky -D -c conky-panel-display.conf ausführe:

DEBUG(0) [/build/conky-2JSxht/conky-1.10.8/src/conky.cc:2740]: reading contents from config file 'conky-panel-display.conf'
DEBUG(0) [/build/conky-2JSxht/conky-1.10.8/src/x11.cc:494]: Fixed xinerama area to: 0 0 1366 768
DEBUG(0) [/build/conky-2JSxht/conky-1.10.8/src/x11.cc:494]: Fixed xinerama area to: 0 0 1366 768
conky: desktop window (e002af) is subwindow of root window (10e)
conky: window type - panel
conky: drawing to created window (0x2400001)
conky: drawing to double buffer
conky: forked to background, pid is 22113

Antwort1

In Conky hat alles wie oben angegeben funktioniert.

Ich habe dann einfach in der Datei ~/.config/openbox/lxde-rc.xml die Openbox so konfiguriert, dass keine Fenster an der oberen Kante platziert werden, wo mein Conky-Panel platziert war.

<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">

    ...

    <margins>
      <top>22</top>
      <bottom>0</bottom>
      <left>0</left>
      <right>0</right>
    </margins>

    ...

</openbox_config>

verwandte Informationen