Compiz에서 dzen2/스크립트 활용하기

atie의 이미지

제 글 중에 dwm/dzen에 대한 글과 compiz에서 dmenu 단축키 사용하기에 대한 글에 이어지는 글입니다.

전자의 글에 있는 dict 스크립트를 조금 수정을 했습니다.

~$ cat bin/dzendict.sh 
#!/bin/sh
# simple popup dictionary, (c) 2007 by Robert Manea
#                               Mod by atie H. 
 
LOOKUP=`sselp`
 
x=962
y=278
l=32
w=708
 
(echo "$LOOKUP"; dict "$LOOKUP") | \
 dzen2 -l $l -p -w $w -bg black -fg grey75 -x $x -y $y \
 -fn '-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-iso8859' \
 -e 'onstart=scrollhome,uncollapse;button4=scrollup;button5=scrolldown;button3=exit'

그리고, compiz에 단축키 (제 경우는 Alt+Super+D)를 부여하고 화면에서 마우스로 단어를 긁은 후 단축키를 누르면 dict를 검색한 창이 뜹니다. 그런데 데비안과 우분투의 패키지로 제공되는 dzen2_0.8.5-1으로는 dwm과 awesome에서는 문제가 없는 scroll과 exit가 compiz에서는 안 먹습니다. 그래서 compiz의 screen.c를 참조하여 dzen의 main.c를 다음처럼 한 줄 패치했습니다. (패치는 저자에게 메일 보냈습니다.)
~$ cat dzen_compiz.diff 
--- main.old.c  2008-01-15 10:26:24.000000000 -0600
+++ main.c      2008-01-15 10:16:13.000000000 -0600
@@ -347,7 +347,7 @@
        /* window attributes */
        wa.override_redirect = 1;
        wa.background_pixmap = ParentRelative;
-       wa.event_mask = ExposureMask | ButtonReleaseMask | EnterWindowMask | LeaveWindowMask | KeyPressMask;
+       wa.event_mask = ExposureMask | ButtonReleaseMask | ButtonPressMask | ButtonMotionMask | EnterWindowMask | LeaveWindowMask | KeyPressMask;
 
 #ifdef DZEN_XINERAMA
        queryscreeninfo(dzen.dpy, &si, dzen.xinescreen);

스크롤과 오른쪽 마우스버튼으로 창을 종료하는 것 둘 다 잘 작동을 합니다.

그리고, 다음의 스크립트들도 compiz 단축키로 등록을 했습니다.

달력:

~$ cat bin/dzencaly.sh 
#!/bin/sh
# simple year calendar, by atie H.
 
x=1188
y=278
l=34
w=484
 
(cal `date | awk '{print $6}'`) | \
 dzen2 -l $l -p -w $w -bg black -fg grey75 -x $x -y $y \
 -fn '-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-iso8859' \
 -e 'onstart=scrollhome,uncollapse;button4=scrollup;button5=scrolldown;button3=exit'

프로세스 트리:

~$ cat bin/dzentree.sh 
#!/bin/sh
# simple process tree, by atie H.
 
x=762
y=138
l=50
w=908
 
(pstree -ap) | \
 dzen2 -l $l -p -w $w -bg black -fg grey75 -x $x -y $y \
 -fn '-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-iso8859' \
 -e 'onstart=scrollhome,uncollapse;button4=scrollup;button5=scrolldown;button3=exit'

알림:

~$ cat bin/dzenrmdr.sh 
#!/bin/sh
# simple reminders, by atie H.
 
x=1110
y=158
l=44
w=560
 
(echo "reminders" && remind -z -c+5) | \
 dzen2 -l $l -p -w $w -bg black -fg grey75 -x $x -y $y \
 -fn '-misc-fixed-medium-r-normal-*-14-*-*-*-*-*-iso8859' \
 -e 'onstart=scrollhome,uncollapse;button4=scrollup;button5=scrolldown;button3=exit'

Manage your time with Remind

빠질 수 없는 스크린샷 첨부합니다. 아직 예닐곱 개 단축키를 더 지정할 수 있는 여유가 있으니 단축키로 화면에 보이면 유용한 스크립트를 답글로 부탁합니다. ^^;

File attachments: 
첨부파일 크기
Image icon ss20080116.jpg1.05 MB

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.