xautolock 코너가 있는 i3lock

여기 dev.to의 첫 번째 게시물이 있으므로 친절하고 관대하십시오.

컨텍스트에 대한 추가 정보:



최근에 화면 보호기 설정에 어려움을 겪고 있습니다. 나는 웹 conf에 있는 동안 종종 화면 보호기에 직면했습니다.

세션을 "활성"으로 유지하기 위해 마우스나 키보드를 사용하지 않기 때문에 단순히 듣거나 말할 때 발생합니다.

초기 설정



다음은 Arch Linux wiki에 문서화되어 있는 매우 기본적인 설정입니다.

xautolock -time 10 -locker "i3lock -i background_image.png"


그래서 i3 conf에서 다음과 같이 보입니다.

exec_always --no-startup-id xautolock -time 5 -locker "~/bin/lockscreen.sh" -detectsleep


여기서 ~/bin/lockscreen.shi3lock를 호출하여 화면을 잠그는 간단한 스크립트입니다.

#!/bin/sh

set -e

# enable the lock screen
i3lock -c 272d2d -i ~/Documents/wallpaper-lockscreen.png


왜 스크립트인가? 내 구성이 그보다 훨씬 더 복잡하고 공유하기 위해 코드를 단순화했기 때문입니다.
xautolock를 호출하는 i3lock가 있습니다.
--detectsleep 매개변수는 덮개를 닫을 때 i3lock이 활성화되지 않도록 지시하기 위한 것입니다.

       -detectsleep    Instructs  xautolock  to detect that computer has been put to sleep.  This is done by detecting that time has jumped by more than 3 seconds.  When this occurs, the lock timer is reset
                       and locker program is not launched even if primary timeout has been reached. This  option is typically used to prevent the locker program from being launched  when  awaking  a  laptop
                       computer.


내 문제를 해결하는 방법



당연히 RTFM 기술입니다.

매뉴얼 페이지를 읽고 ... xautolock에 모서리 기능이 있음을 발견했습니다. 다음은 문서에서 발췌한 내용입니다.

 You can tell xautolock to take special actions when you move the mouse into one of the corners of the display and leave it there, by using the -corners, -cornerdelay, -cornerredelay  and  -cornersize
       options. This works as follows:

       The xxxx argument to the -corners option must consist of exactly 4 characters from the following set: '0', '+', '-'. Each one of these specifies what xautolock should do when the mouse enters a small
       square area located in each of the corners of the screen. The corners are considered in the following order: top left, top right, bottom left, bottom right.  A '0' indicates that xautolock should ig‐
       nore  the  corner. A '+' indicates that xautolock should start the locker after secs or altsecs seconds (see below for the difference between both), unless the mouse is moved or keyboard input is re‐
       ceived. A '-' indicates that xautolock should not start the locker at all. The pixels argument specifies the size in pixels of the corner areas.

       Most users of the -corners option want the locker to activate within a very short time interval after they move the mouse into a '+' corner.  This can be achieved by specifying a small value for  the
       -cornerdelay option. However, if the mouse is subsequently left where it is, xautolock will almost immediately start a new locker right after the user quits the current one. To prevent this from hap‐
       pening, the -cornerredelay option can be used to specify the time-out interval to be used if and only if the mouse is sitting in a `+' corner and has not been moved since the previous locker exited


따라서 --corners '++--'와 같은 것을 추가하여 xautolock 내 필요에 맞는 방식으로 작동하도록 합니다.

xautolock -time 5 -locker "~/bin/lockscreen.sh" -detectsleep -corners '++--' -cornerdelay 5


팁: i3 구성을 다시 로드하기 전에 죽이기xautolock를 확인하십시오. 그렇지 않으면 아무것도 변경되지 않습니다.

그래서 여기에서 적어도 5초 동안 마우스를 두 개의 상단 모서리 중 하나에 놓으면 사물함이 호출됩니다.
--++-- 부분은 xautolock에 마우스를 이 모서리에 놓았을 때 화면을 잠그지 않도록 하여 전체 화면으로 동영상을 보거나 웹 회의에 참석할 때 유용합니다.

추가 변경 사항



좋습니다. 하지만 충분하지 않았습니다. 화면이 잠기려는 것을 알 수 없었기 때문입니다.

그래서 여기서는 단순히 --notify 매개변수를 사용했습니다.

여기서 다시 매뉴얼 페이지를 살펴보십시오.


       -notify         Warn the user margin seconds before locking. The default is to not warn the user. If used in conjunction with -cornerdelay or -cornerredelay, the notification margin iused is the min‐
                       imum of margin, secs and/or altsecs.

       -notifier       Specifies  the  notifier to be used. The default is none. This option is only useful in conjunction with -notify. Notice that if notifier contains multiple words, it must be specified
                       between quotes.


그래서 스크립트~/bin/lockscreen-notify.sh를 만들어 내xautolock에 추가했습니다.

전용 페이지에 대한 자세한 정보

좋은 웹페이지 즐겨찾기