Dunst: ์ž ๊ธˆ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” Dunst ์•Œ๋ฆผ (betterlockscreen, xtrlock)

์— ๋งŒ๋“  2020๋…„ 03์›” 27์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dunst-project/dunst

์„ค์น˜ ์ •๋ณด

๋ฒ„์ „์ด 1.2 ์ด์ „ ์ธ ๊ฒฝ์šฐ ๋™์ž‘์ด ์ด๋ฏธ ๋งˆ์Šคํ„ฐ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Œ์„ ์ œ์™ธํ•˜์‹ญ์‹œ์˜ค.
  • ๋ฒ„์ „ : Dunst - A customizable and lightweight notification-daemon 1.4.1 (2019-07-03)
  • ์„ค์น˜ ์œ ํ˜• : ๊ณต์‹ Arch ์ €์žฅ์†Œ์˜ dunst
  • ๋ฐฐํฌํŒ ๋ฐ ๋ฒ„์ „ : Arch Linux

์›๋ž˜ ๋ฌธ์ œ : https://github.com/pavanjadhaw/betterlockscreen/issues/160

๋ฌธ์ œ๊ฐ€ betterlockscreen ๋ฐ xtrlock ๋ชจ๋‘์—์„œ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค.


๋‹ค์Œ ํŒจํ‚ค์ง€์™€ ํ•จ๊ป˜ Arch Linux๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ฌธ์ œ๋Š” dunst ์•Œ๋ฆผ์ด ์—ฌ์ „ํžˆ ์ž ๊ธˆ ํ™”๋ฉด์— ํ‘œ์‹œ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์„œ๋น„์Šค๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด systemctl enable betterlockscreen@$USER ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ฉด systemd ์‚ฌ์šฉ์ž ์„œ๋น„์Šค๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, betterlockscreen๋Š” ์•Š์Šต๋‹ˆ๋‹ค ๋‹ค์Œ ์ž ๊ธˆ ์ „์—, ๊ทธ๋ฆฌ๊ณ  ์ด ์ž ๊ธˆ ํ•ด์ œ ํ›„.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ผ๋ฐ˜ betterlockscreen -l -t "" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์ด๋Ÿฌํ•œ ๋ช…๋ น์„ ๋ณต์ œํ•˜๋Š” ์ž ๊ธˆ ํ™”๋ฉด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ( dunst ์•Œ๋ฆผ์ด ๊ณ„์† ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์—) ๋ถˆํ–‰ํžˆ๋„ ์•„๋ฌด๋Ÿฐ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

  • lockscreen.sh
#!/bin/bash

pkill -u "$USER" -USR1 dunst
betterlockscreen -l -t ""
pkill -u "$USER" -USR2 dunst

_ ์ฐธ๊ณ  : Arch Wiki ์— ์ œ์•ˆ ๋œ๋Œ€๋กœ killall -SIGUSR1 dunst ๋ฐ killall -SIGUSR2 dunst ๋„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค ._

xidlehook AUR ์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ~/.xinitrc
#!/bin/bash

dunst &
xset s on &
xset s 600 &
xidlehook \
--not-when-fullscreen \
--not-when-audio \
--timer 300 '~/scripts/lockscreen.sh' '' &

๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™”๋ฉด์€ 5๋ถ„ ํ›„์— ์ž ๊ธฐ๊ณ  ์ถ”๊ฐ€๋กœ 5๋ถ„ ํ›„์— ๊บผ์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ๋‚ด ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” dunst ์•Œ๋ฆผ์ด ์—ฌ์ „ํžˆ ์ž ๊ธˆ ํ™”๋ฉด์— ํ‘œ์‹œ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์ƒ๋‹นํžˆ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํŽธ์ง‘ : picom.conf ์—์„œ ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ picom ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


picom.conf

backend = "glx";

glx-no-stencil = true;
glx-copy-from-front = false;

shadow = false;
shadow-radius = 5;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 1;

shadow-ignore-shaped = false;

inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;

detect-client-opacity = true;

blur-background = false;
blur-background-frame = false;
blur-background-fixed = false;

fading = true;
fade-delta = 4;
fade-in-step = 0.03;
fade-out-step = 0.03;

fade-exclude = [ ];

mark-wmwin-focused = true;
mark-ovredir-focused = true;

use-ewmh-active-win = true;
detect-rounded-corners = true;
refresh-rate = 0;
vsync = true;
dbe = false;
unredir-if-possible = false;

focus-exclude = [ ];

detect-transient = true;
detect-client-leader = true;

wintypes:
{
    tooltip =
    {
        # fade: Fade the particular type of windows.
        fade = true;
        # shadow: Give those windows shadow
        shadow = false;
        # opacity: Default opacity for the type of windows.
        opacity = 1;
        # focus: Whether to always consider windows of this type focused.
        focus = true;
    };
    popup_menu = { opacity = 1; };
};

xrender-sync-fence = true;

Bug graphics help wanted

๋ชจ๋“  5 ๋Œ“๊ธ€

๊ธ€์Ž„, ๋‚˜๋Š” ์ด๊ฒƒ์˜ ๊ด€๋ฆฌ์ž์ด๊ณ  ์‹ฌ์ง€์–ด ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. : see_no_evil : i3lock์„ ์ž ๊ธˆ ํ™”๋ฉด์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ปด ํฌ์ง€ ํŒ… ๊ด€๋ฆฌ์ž๋กœ compton์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ์—์„œ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์ด ์‹œ์Šคํ…œ์˜ ํ•ฉ์„ฑ๊ธฐ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ƒˆ๊ณ , ์ด๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์ƒํ•œ ๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.... :confused: Ref: i3/i3lock#204 #553

ํ•ฉ์„ฑ๊ธฐ ๋ฌธ์ œ ์™ธ์— ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ผ์‹œ ์ค‘์ง€/์ผ์‹œ ์ค‘์ง€ ํ•ด์ œ ์†”๋ฃจ์…˜์ด ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๋ฉฐ ์ œ ๊ฒฝ์šฐ์—๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” --nofork ์—†์ด i3lock์„ ํ˜ธ์ถœํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ๋น ๋ฅธ ์ฝ๊ธฐ์—์„œ betterscreenlock ์˜ ๋ฒ„๊ทธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. unpause ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ์—์„œ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์ด ์‹œ์Šคํ…œ์˜ ํ•ฉ์„ฑ๊ธฐ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.

์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ picom ๋ฅผ) ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ฉ์„ฑ๊ธฐ ๋ฌธ์ œ ์™ธ์— ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ผ์‹œ ์ค‘์ง€/์ผ์‹œ ์ค‘์ง€ ํ•ด์ œ ์†”๋ฃจ์…˜์ด ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๋ฉฐ ์ œ ๊ฒฝ์šฐ์—๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ์ด๊ฒƒ์ด --nofork์—†์ด i3lock์„ ํ˜ธ์ถœํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ๋น ๋ฅธ ์ฝ๊ธฐ๋ฅผ ํ†ตํ•ด betterscreenlock์˜ ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด,์ด ๋ฌธ์ œ๋„ ๋ฐœ์ƒ xtrlock (์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” i3lock ๋‚ด๊ฐ€ ํ‹€๋ฆฌ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ), ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ ํ˜ธ์ถœ :

lockscreen.sh :

#!/bin/bash

pkill -u "$USER" -USR1 dunst       # or killall -SIGUSR1 dunst  
xtrlock -b
pkill -u "$USER" -USR2 dunst       # or killall -SIGUSR2 dunst

๊ทธ๋ž˜์„œ picom ๋น„ํ™œ์„ฑํ™”ํ–ˆ๊ณ  ์ง€๋‚œ ~15์‹œ๊ฐ„ ๋™์•ˆ ๋‚ด ์ž ๊ธˆ ํ™”๋ฉด(ํ˜„์žฌ betterlockscreen )์— ๋‹จ์ผ ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž ๊ธˆ์„ ํ•ด์ œ ํ•œ ํ›„ ๋ชจ๋‘ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

picom์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฌธ์ œ๋„ ํ•ด๊ฒฐ๋˜์ง€๋งŒ ์•ˆํƒ€๊น๊ฒŒ๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๊ฒƒ์„ picom์— ๊ฐ€์ ธ๊ฐ€์•ผ ํ• ๊นŒ์š”?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰