libXm 从小部件获取显示编号
libXm get display number from widget
我正在使用 libXm4.0.3。我想从小部件中获取小部件正在显示的显示编号。
直接转到 xlib 会导致段错误。 Xt 似乎也有段错误。
我开始使用一些 XmGetXmDisplay 或 XmGetXmScreen 函数,但我看到 "Could not find per display information" 并且我不知道如何克服这个问题。
如何从 libXm 小部件获取当前显示编号?
这是我当前的代码:
int get_disp_num_from_widget(Widget w) {
Screen* xs = w->core.screen; //Xlib screen
if (xs) {
Display* xd = w->core.screen->display; //Xlib display
if (xd) {
XmDisplay d = XmGetXmDisplay(xd); // causes "Couldn't find per display information"
if (d) {
char* string = d->display.bindingsString;
if (string) {
printf("Display binding string: %s", string);
}
}
}
}
return -1;
}
您可以使用 XtDisplay(Widget *) 函数获取任何小部件的 Display *。
我正在使用 libXm4.0.3。我想从小部件中获取小部件正在显示的显示编号。
直接转到 xlib 会导致段错误。 Xt 似乎也有段错误。
我开始使用一些 XmGetXmDisplay 或 XmGetXmScreen 函数,但我看到 "Could not find per display information" 并且我不知道如何克服这个问题。
如何从 libXm 小部件获取当前显示编号?
这是我当前的代码:
int get_disp_num_from_widget(Widget w) {
Screen* xs = w->core.screen; //Xlib screen
if (xs) {
Display* xd = w->core.screen->display; //Xlib display
if (xd) {
XmDisplay d = XmGetXmDisplay(xd); // causes "Couldn't find per display information"
if (d) {
char* string = d->display.bindingsString;
if (string) {
printf("Display binding string: %s", string);
}
}
}
}
return -1;
}
您可以使用 XtDisplay(Widget *) 函数获取任何小部件的 Display *。