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スペースで「左が埋められるように」フォーマットパラメータに先行スペースを指定するための回避策があるかもしれません。デスクトップの背景が少なくとも画面の左半分(時計を表示したい場所)の高さに対して同じ色である場合にのみ、視覚的に見やすい方法で機能します。

編集:パラメータで遊ぶと、-FOP @ IPは「空白」が機能しないことを発見しましたが、それを知る方法があります。時間パッドを使う".%_100c"

答え2

あなたはそれを使用することができますxdotool

osd_clock次の名前がありますXOSD

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

他のサイズのモニター、傾斜したモニターなどを使用すると、まだスクリプトを書くことができますが(そのうちの1つでも)、より多くの作業が必要なので、それは価値がないかもしれません。

関連情報