Conky 에 d-day 표시하기

[attachment=2:391lmc8t]screenshot3.png[/attachment:391lmc8t]
[attachment=1:391lmc8t]screenshot4.png[/attachment:391lmc8t]
[attachment=0:391lmc8t]screenshot5.png[/attachment:391lmc8t]

conky 에 d-day 를 추가하고 싶어서 이리저리 찾다가
아무래도 없는 것 같아서 스크립트를 짜봤습니다
내용은 별거 없는데 쉘(셸?)스크립트 짜보는 게 처음이라서
하나부터 열까지 다 찾아보면서 했습니다;;
그래서 너무 허접하니까
간단하게 줄일 수 있는 부분이나
잘못 된 부분이 보이면 거침없이 지적해주시면 감사하겠습니다
(에러 처리 같은 부분은 귀찮아서 건너 뛰었습니다;)

사용은 아래 code 부분을 복사해다가
~/script/dday.sh 파일을 생성해서 저장하고
(물론 취향에 맞게 다른 데다 만드셔도;:wink:
.conkyrc 파일에 d-day 를 표시할 부분에
code 의 usage 중 맘에 드는 타입을 삽입하시면 되겠습니다

parameter $1 은 YYYYMMDD 타입의 해당날짜를 넣어주시구요
parameter $2 는 해당날짜가 과거이고 해당날짜를 포함해서 세는 경우
(여자친구랑 기념일이나 어떤 계획을 실행하고 있는 날짜 등 뭐 그럴 경우가 있다더라구요)
1 로 넣어주시면(사실은 0만 아니면 다 똑같지만;) +1 해주는 기능을 합니다
(그래서 해당날짜가 미래일 경우 parameter $2는 무시해버립니다, 필요없으면 안 넣어도 됩니다)

[code:391lmc8t]
#!/bin/sh

usage

${exec ~/scripts/dday.sh 20090209 1}(20090209)

${exec ~/scripts/dday.sh 20090214}

${execi 60 ~/scripts/dday.sh 20090201 0}

D${execi 1800 ~/scripts/dday.sh 20091225}(091225)

parameter $1

target day

YYYYMMDD

THEDAY=$1

parameter $2

mode

0 or 1

if the day is before whether include the day

0 : don’t include the day

1 : include the day

if [ $# -eq 1 ]; then
MODE=0
else
MODE=$2
fi

RESULT=$(expr ( $(date -d$(date --date=‘today’ +%Y%m%d) +%s) - $(date -d$THEDAY +%s) ) / 86400)

if [ $RESULT -lt 0 ]; then
echo $RESULT
elif [ $MODE -eq 0 ]; then
echo +$RESULT
else
echo +$(expr $RESULT + 1)
fi
[/code:391lmc8t]

저도 콘키 설치해 보려고 했는데 좀어렵더라구요.
그냥 스크린렛 쓰는데 나중에 내공이 쌓이면 꼭 써보고싶네요.^^

conky 별로 안 어려워요
그냥 설치하시고 viewtopic.php?f=13&t=1051 여기서
맘에 드는 .conkyrc 파일 복사해서 설정하신 담에
하나둘씩 바꿔보시면 돼요

D-day가 +(증가되기만) 되고
D-day가 미래의 어느 날이고
지금에서 얼마의 시간이 남아 있는지(D-1일 이라든가, D-10 일 이라든가)
는 할 수 없는 건가요?

[quote="느림보":2y1sfqpy]D-day가 +(증가되기만) 되고
D-day가 미래의 어느 날이고
지금에서 얼마의 시간이 남아 있는지(D-1일 이라든가, D-10 일 이라든가)
는 할 수 없는 건가요?[/quote:2y1sfqpy]

아니요
해당 날짜가 미래이면

  • day 로 나옵니다
    D-10 같은 표시를 원하시면 conky 파일에
    D${execi 1800 ~/scripts/dday.sh 20090223}(090223)
    이렇게 입력하시면
    D-10(090223)
    이렇게 나옵니다

스크립트 자체는
(부호와)숫자만 출력해줍니다
-315
+15
이런 식입니다
그러니 앞이나 뒤에 뭔가 더 표시되길 원하시면
그대로 conkyrc 파일에 추가해주시면 됩니다