naughty.notify 알림의 모양을 직사각형에서 모서리가 둥근 직사각형으로 바꾸려고 합니다.여기나는 Shape 인수가 gears.shape
인수를 취한다고 들었습니다. 그래서 나는 다음을 봅니다.여기사용 방법을 보려면 gears.shape.rounded_rect
. 모든 예는 다음과 같은 내용을 보여줍니다. 그러나 "cr: A cairo content" shape.rounded_rect(cr, 70, 70, 10
에 대한 정보를 제공하는 유일한 곳은 다음과 같습니다 .cr
카이로 콘텐츠란 무엇인가요?
이것은 내가 사용하는 코드입니다:
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
. ( 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",
}