gears.shape.rounded_ect 사용법에서 "cr"은 무엇이며, 이것을 사용하여 naughty.notify의 모양을 변경하려면 어떻게 해야 합니까?

gears.shape.rounded_ect 사용법에서 "cr"은 무엇이며, 이것을 사용하여 naughty.notify의 모양을 변경하려면 어떻게 해야 합니까?

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",
}

관련 정보