Login
Immutable PageDiscussionInfoAttachments

Revision 3 as of 2012-05-01 01:01:44

Clear message
clear/note/2012-05

MMA

2012年5月

05/01

PeekMessageとXPeekEventは似てるけど違う

Windows APIのPeekMessage()はメッセージがない場合ただちに返ってくるが、XlibのXPeekEvent()はイベントが来るまでブロックするらしい。XlibでPeekMessage()相当のことをやりたい時はXPending()+XNextEvent()でできそう。

for (;;) {
    if (XPending(dpy)) {
        XNextEvent(dpy, &ev);
        /* ... */
    } else {
        /* イベントがないときの処理 */
    }
}