Я закончил тем, что использовал XDefineCursor как упомянутый ephemient. Приложение управления изменило корневой курсор окна по умолчанию и другие приложения (которые находятся под моим контролем), наследовал его.
специфические особенности Кода похожи:
// Hide the cursor
if (NULL==(display=XOpenDisplay(NULL)))
{
printf("Unable to open NULL display\n");
exit(1);
}
window = DefaultRootWindow(display);
Cursor invisibleCursor;
Pixmap bitmapNoData;
XColor black;
static char noData[] = { 0,0,0,0,0,0,0,0 };
black.red = black.green = black.blue = 0;
bitmapNoData = XCreateBitmapFromData(display, window, noData, 8, 8);
invisibleCursor = XCreatePixmapCursor(display, bitmapNoData, bitmapNoData,
&black, &black, 0, 0);
XDefineCursor(display,window, invisibleCursor);
XFreeCursor(display, invisibleCursor);
XFreePixmap(display, bitmapNoData);
для сокрытия курсора и затем после того, как я сделан
// Restore the X left facing cursor
Cursor cursor;
cursor=XCreateFontCursor(display,XC_left_ptr);
XDefineCursor(display, window, cursor);
XFreeCursor(display, cursor);
Для восстановления X предназначенный для левой руки курсор (Так как это - корневое окно и я не хочу, чтобы он остался невидимым. Я не уверен, но я мог бы также быть в состоянии использовать
XUndefineCursor(display, window);
I just posted the following link to another question (What does OSGi solve), but I think here it is an even better fit. Hal Hildebrand wrote a blog about why and when he thinks OSGi is helping your development/product.
The core essence of the (pretty long) post is that it helps especially when dealing with long running, complex enterprise projects. In particular in the long run, the benefit of having an enforced structure will pay out, but read for yourselves
EDIT: fixed broken link.
Используйте OSGI, если хотите: