naughty.notify 通知を長方形から角の丸い長方形に変更しようとしています。ここ形状の議論にはgears.shape
議論が必要だと聞いているので、ここの使用方法を確認するには、 を参照してくださいgears.shape.rounded_rect
。すべての例で のようなものが表示されますshape.rounded_rect(cr, 70, 70, 10
が、 が何であるかに関する情報を提供している唯一の場所は、cr
「cr: cairo コンテンツ」です。
カイロコンテンツとは何ですか?
私が使用しているコードは次のとおりです:
naughty.notify({ text = "Monitor Test", ontop = true, position = "bottom_left",
shape = gears.shape.rounded_rect(cr, 70, 20, 5),
opacity = .95})
当然、Awesome を再起動するとエラーが発生しますcr
。何もないからです。数字から cr:fill まであらゆることを試しましたが、何を入力すればよいのかわかりません。
誰かいますか?
答え1
CairoはAwesomeが使用する2Dグラフィックライブラリです。ぜひご覧ください。ここ
答え2
私はこれについてかなり検索しましたが、簡単に使用できる答えは見つかりませんでした。ploth のリンクは本当に読みやすいです。簡単な答えは、設定できる場所ならどこでもshape
関数を渡して、必要なシェイプを呼び出すことができるということです。渡した関数は をshape
受け取り(cr, width, height)
、それを必要なシェイプに渡すことができます。たとえば、次のようになります。
wibox.container.background(widget, "#000", function(cr, width, height)
gears.shape.partially_rounded_rect(cr, width, height, false, true, true, false, 30)
end)
お役に立てれば。
答え3
答えは、次のような関数を定義するcr
プレースホルダーとして以下を使用します:
例:
local new_shape = function(cr, width, height)
gears.shape.rounded_rect(cr, width, height, 2)
end
次に、new_shape
as shape を使用します。 ( はcr
上記の関数シグネチャの 1 行目に定義されているため、 2 行目に既に定義されており、 がnew_shape
呼び出されたときにコールバックによって正しい値が入力されます。 自分で定義するのではなくrc.lua
、空のままにしておきます。)
new_shape を次のように使用します。
local noti = naughty.notify {
position = "top_middle",
height = 20,
width = 70,
timeout = 1,
shape = new_shape, --SEE HERE
bg="#333333",
fg="#ffffff",
text = "TEST",
}