포트 및 필터 메시지를 수신하고 이에 따라 동작을 취하거나 이벤트를 무시하도록 제안하는 Perl 스크립트가 있습니다.Linux의 버튼이있는 알림 창
나는 '조치 취하기'와 '무시'버튼이있는 알림 창 (대화 창이 아님)을 보여주고 싶습니다. 이는 특정 시간 초과 후 갈 것입니다.
은 지금까지 나는 이런 일이 :
my @react = ("somecommand", "someoptions); # based on what regex a message matched
my $cmd = "xmessage";
my $cmd_args = "-print -timeout 7 -buttons React,Dismiss $message"; # raw message from port
open XMSG, "$cmd $cmd_args |";
while (<XMSG>) {
if ($_ eq "React\n") {
do something...
}
}
을하지만 한 번에 하나의 통지를 처리 할 것이며, 이전이 기각 될 때까지 다음 메시지가 표시되지 것입니다, 그래서,에 반응 또는 시간 초과 그것은 아주 나쁜 결정입니다. xmessage에서 리턴 코드를 얻을 때까지는 아무 것도 할 수 없으며 xmessage 명령을 실행할 수 없습니다. 아마도 이벤트 ID를 소개하고 xmessage가 인쇄하는 소켓을 청취하면 너무 복잡해 질 수 있습니다.
그래서 리눅스가 명령을 트리거하는 버튼이있는 알림 창을 그리는 라이브러리 또는 유틸리티가 있습니까?
포크를하거나 다른 스크립트를 호출하여 창을 제어 할 수 있습니다. – kjprice
예. 그러나 모든 상호 작용을 창에 전달하고 싶습니다. 나는. 스크립트는'mywindowlib -buttons foo -command $ bar -timeout 3'을 호출하고 더 작동합니다. 문제는 'mywindowlib'입니다. –
http://search.cpan.org/~kck/UI-Dialog/lib/UI/Dialog.pod 사용할 수 있습니다. – kjprice