2

我想为linux制作一个文本替换程序。即,我键入类似 .alog 的内容,然后将其替换为 /usr/local/apache/logs/。我知道我可以用 alaises 做到这一点,但我经常远程登录没有这种 alaises 的机器。

我也有兴趣这样做以用于学习目的。

我在网上看到一些关于在 X 中为我制作的窗口抓取和发送击键的信息,但找不到有关为工作区中的所有窗口执行此操作的信息。

任何有关如何执行此操作的建议将不胜感激。

4

1 回答 1

1

您可能希望以窗口管理器的代码为起点;无论窗口如何,窗口管理器都会绑定键来工作,这可能是一个好的开始。dwm被广泛认为拥有漂亮的代码。

setup()似乎直接将其事件掩码添加到根窗口:

    screen = DefaultScreen(dpy);
    root = RootWindow(dpy, screen);
    /* ... */
    /* select for events */
    wa.cursor = cursor[CurNormal];
    wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask|ButtonPressMask|PointerMotionMask
                    |EnterWindowMask|LeaveWindowMask|StructureNotifyMask|PropertyChangeMask;
    XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa);
    XSelectInput(dpy, root, wa.event_mask);
    grabkeys();
于 2012-05-29T01:19:59.113 回答