osdclock - 有什么方法可以将其置于屏幕中央吗?

osdclock - 有什么方法可以将其置于屏幕中央吗?

我正在运行 Linux Mint 20.Cinnamon 版本。

我安装了osdclock。当我运行 osd_clock 时,它会将其显示在左下角。

如果我运行 osd_clock -t 它会在左上角运行。

我可以在所有 4 个角落运行它。我也可以使用 -o 来偏移它,但它只能在垂直线上移动它。我似乎无法沿着水平线移动它......

但是,有什么办法可以让它在屏幕中央运行吗?

这是手册页 https://manpages.debian.org/testing/osdclock/osd_clock.1.en.html

有人熟悉那个程序吗?

干杯。

答案1

您在问题中链接了 osdclock 手册,它说“否”。该程序是古老的。我认为您的功能不在“即将实施”列表中。

所以这就是你的答案。 ...但是话虽如此...:

可能有一种解决方法,您可以在-F格式参数中指定前导空格,以便用空格“左填充”。仅当您的桌面背景至少在屏幕左半部分的高度部分(您计划显示时钟的位置)具有相同的颜色时,才能以视觉上令人愉悦的方式起作用。

编辑:在玩弄-F参数后,OP @IP 发现,“空格”不起作用,但有一种方法可以告诉时间垫使用".%_100c".

答案2

您可以使用xdotool

osd_clockXOSD这样的名字:

xdotool search --name "XOSD" windowmove X Y

其中XY是坐标。

如果需要,您可以通过 检查窗口大小getwindowgeometry以及通过 检查监视器大小xrandr --listmonitors


如果你有或者大小相同+方向相同监视器你也许可以做这样的事情:

#! /bin/sh -

win_name=$1
x=${2:-0}
y=${3:-0}

eval "$(xdotool search --onlyvisible --limit 1 --all --name "$win_name" getwindowgeometry --shell)"
wmctrl -d | \
    awk \
    -v x="$x" \
    -v y="$y" \
    -v win_w="$WIDTH" \
    -v win_h="$HEIGHT" \
    -F "[ x]*" '
    $2 == "*" {
        x += $4 / 2 - win_w / 2
        y += $5 / 2 - win_h / 2
        print x, y
    }
' | xargs xdotool windowmove "$WINDOW"

./script <WINDOW-NAME> x y在这种情况下使用 as和/是<WINDOW-NAME>可选的微调参数。XOSDxy

使用不同尺寸的显示器,也许还有倾斜的显示器等,人们仍然可以编写脚本 - (也有其中之一) - 但更多的工作,也许不值得。

相关内容