问题描述
我不太熟悉xorg和xlib libraray。我不是C程序员。我安装了st-simple终端。听到这样的事实:我们只能在没有窗口管理器的xorg服务器中运行终端或浏览器在在线文章中,并在Arch Wiki上进行了确认。 因此,我尝试了。
startx /usr/local/bin/st
st确实开始了,但是它没有焦点。尽管我可以写它。我只想要一个解决方案,该解决方案告诉我如何在没有焦点的光标使我离开时给予st焦点。
预先感谢
解决方法
st
可能不相信PointerRoot
和关注焦点鼠标。尝试使用XSetInputFocus(3)
明确指定焦点。
如果您具有C编译器并安装了xorg -dev或-devel软件包,请尝试在您的st
终端中运行 内部:
echo '
#include <X11/Xlib.h>
#include <stdlib.h>
int main(){
Display *dpy; char *ws; Window w;
if((dpy = XOpenDisplay(0)) && (ws = getenv("WINDOWID")) && (w = strtoul(ws,0))){
XSetInputFocus(dpy,w,RevertToPointerRoot,0); XSync(dpy,False);
}
}' | cc -Wall -lX11 -x c - -o getfocus && ./getfocus
可能有诸如xdotool
之类的实用程序可以执行此操作,但据我所知,默认情况下未安装它们。
更好的办法是修复该“ suckless”终端仿真器,使其吸取更少的东西,而不使用窗口管理器和点对点接口。