The i3 FAQ has migrated to https://github.com/i3/i3/discussions. All content here is read-only.
Ask Your Question
1

How to align conky panel to bottom of screen instead of top?

asked 2012-12-30 03:24:50 +0000

Mike gravatar image

I just started using conky (with its own window so I can display graphs), and I want it to dock at the bottom of the screen instead of the top.

In my conky config, I set:

alignment bottom_middle
own_window yes
own_window_class Conky
own_window_type panel
out_to_console no
out_to_stderr no

Conky's man page says:

Panel windows reserve space along a desktop edge, just like panels and taskbars, preventing maximized windows from overlapping them. The edge is chosen based on the alignment option.

The i3 User's Guide says:

Regardless of which application you use to display the status line, you want to make sure that it registers as a dock window using EWMH hints. i3 will position the window either at the top or at the bottom of the screen, depending on which hint the application sets. With i3bar, you can configure its position, see [i3bar_position].

No matter what alignment I use, it sticks to the top of the screen. I would like to have conky at the bottom of my screen (which worked fine with gnome-panel).

Here is the output of xprop for conky:

_NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 1920, 3840
_NET_WM_STRUT(CARDINAL) = 0, 0, 0, 84
XKLAVIER_STATE(INTEGER) = 0, 0
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
WM_PROTOCOLS(ATOM): protocols  
WM_NAME(STRING) = "Conky (ecliptic)"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "Conky", "Conky"
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Don't Care State.
WM_CLIENT_MACHINE(STRING) = "ecliptic"
WM_COMMAND(STRING) = { "conky", "-c", "/home/mike/.i3/conky1", "-a", "bottom_right" }

And here's the xprop output for the i3bar (correctly at the bottom of the screen):

XKLAVIER_STATE(INTEGER) = 0, 0
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
_NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 1920
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
WM_NAME(STRING) = "i3bar for output DP-2"
WM_CLASS(STRING) = "i3bar", "i3bar"

Am I doing something wrong, is it a bug in conky, is it a bug in i3, or something else?

Is there a way I can force conky to dock to the bottom of the screen?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2013-01-02 19:04:51 +0000

Michael gravatar image

IMO, this is a bug in conky. It sets its _NET_WM_WINDOW_TYPE to _NET_WM_WINDOW_TYPE_DOCK, but only after actually mapping the window (= making it visual) it adds the _NET_WM_STRUT_PARTIAL property.

Fixing this in conky is probably straight-forward and lots of people will be thankful, so please go ahead ;-).

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-12-30 03:24:50 +0000

Seen: 1,824 times

Last updated: Jan 02 '13