Я конвертирую этот тест для заставки из кода linux в js-ctypes.Функции перечисления меню в X11?
Он сильно использует X11, но я не могу найти никаких функций меню.
Это код, который я пытаюсь конвертировать:
1012 XMenuList::GetInstance()->InsertMenuWindowXIDs(&windows);
1013 // Enumerate the menus first.
1014 for (iter = windows.begin(); iter != windows.end(); iter++) {
1015 if (delegate->ShouldStopIterating(*iter))
1016 return true;
1017 }
1018 windows.clear();
этот код здесь: http://mxr.mozilla.org/chromium/source/src/ui/base/x/x11_util.cc#1012
В основном им пытаются перечислить через окно, но они проверяют меню тоже при поиске заставки.
Я наткнулся на эту записку:
X11, само по себе не делает меню. Вот почему были созданы инструментальные средства, такие как GTK, Qt, Motif и т. Д.
http://www.linuxquestions.org/questions/programming-9/x11-menus-how-to-839904/
ли это означает, что я должен ctypes.open
другую библиотеку, другой тогда X11, кто-нибудь знает, какой из них? Я не могу найти.
Благодаря
Это мой код выполняется: https://github.com/Noitidart/_scratchpad/blob/master/ScreensaverWindowExists.js#L365
Это страница freedocs им с помощью для x11 функций: http://www.xfree86.org/4.4.0/manindex3.html
Непонятно, какие меню вы имеете в виду. X11 не имеет понятия меню, как правильно говорится в примечании, которое вы цитируете. Инструментарий может помочь * вашей программе * реализовать меню, он не вводит меню на X-сервер, и не может помочь вам обнаруживать меню, реализованные другими программами. Что значит «перечислять меню в X11»? –
ОК, если вы посмотрите [здесь] (http://mxr.mozilla.org/chromium/source/src/ui/base/x/x11_menu_list.h#39), вы можете увидеть, что меню для Mozilla - это просто которое имеет свойство '_NET_WM_WINDOW_TYPE', заданное' _NET_WM_WINDOW_TYPE_MENU'. Это меню «оторвано» от основного приложения и закреплено на рабочем столе. Вам не нужна специальная библиотека, чтобы обнаружить это, просто используйте обычные функции манипуляции свойствами. Я не совсем понимаю, почему это потребует скринсейвер. –
Спасибо @ н.м. !! другие, если вы знаете, почему google chrome делает код выше «enum menus 1st» plz, дайте мне знать :) – Noitidart