To trudne do zdobycia jakiegokolwiek rodzaju „oficjalnej” -looking standardzie lub takie, ale _MOTIF_WM_HINTS nieruchomość wydaje się pochodzić z zestawu narzędzi ... Motif (ok, domyślić, że :-)). Zobacz the MotifZone site.
Ostrzeżenie: co następuje jest niepełne, ale powinien rzucić trochę światła, mam nadzieję.
Dokumentacja dla XmNmwmDecorations, XmNmwmFunctions i XmNmwmInputMode funkcje zestawu narzędzi wskazuje, że nieruchomość jest maską bitową różnych wartości używanych do sterowania wygląd, funkcje (zmiana rozmiaru, przenoszenie, ...) i wejścia w tryb że Menedżer okien powinien dostarczyć/podać okno. Patrz man vendorshell lub Oreilly Motif reference books, Vol6a chapter 16.
Właściwości są częścią całej rzeczy X11. Okno może mieć dowolną liczbę zdefiniowanych na nim właściwości . Właściwości mają nazwę, ale ustawienie/uzyskanie właściwości odbywa się za pomocą "atomu" (identyfikator sortowania), aby uniknąć wysyłania całego ciągu na drucie dla każdego wywołania get/set. Zobacz Properties and Atoms
Aktualnie menedżer okien (jeśli w ogóle) może reagować na właściwości window zmian poprzez ustawienie odpowiedniego filtra zdarzeń i działając na PropertyNotify zdarzeń, lub po prostu kontrolowanie właściwości okno ma kiedy zostanie odwzorowany (lub przeniesiony , lub cokolwiek). Jeśli menedżer okien zna właściwość _MOTIF_WM_HINT, będzie interpretował te wartości i (miejmy nadzieję) robił to, co chcesz. (Uwaga:.. Nie jestem entierly pewien, czy to przywilej jest przekazywane do kierownika okno , lub jeśli inne okna może słuchać tych wydarzeń „PropertyNotify” Nie pewność, że rzeczywiście pasuje do Twojego pytania)
Tak kod, który masz działa dobrze, o ile twój menedżer okien zna o właściwości _MOTIF_WM_HINTS.
zacząć od uzyskania atom (identyfikator/skrótu) za to XInternAtom i ustawienie jego wartości poprzez XChangeProperty() zanim okno jest rzeczywiście wyciągnąć poprzez MapWindow() (nie wiem, czy to będzie działać, jeśli zrób to po MapWindow(), które może zależeć od twojego menadżera okna: ).
[Edit. Ustawiania część .decorations zero usuwa wszystkie bity dekoracji, więc wnioskuje, że menedżer okien zostawić swoje granice piekło sam, zasadniczo]
nie mogę wymyślić czegoś " urzędowy "z definicją tej struktury. Jest zdefiniowany w lib/X11/MwmUtils.h dystrybucji openmotif-2.3.3. Nie jestem pewien, w jaki sposób użyto wpisu .flags (nie mogę znaleźć kodu dla mojego życia: - /), ale podejrzewam, że jest on używany do wskazania, które z pod-właściwości {decoration, function, inputMode} "jesteś działając na. (Nie wierz mi na słowo.)
Na marginesie, używanie _MOTIF_WM_HINTS może nie być teraz najlepszą opcją teraz . Czy spojrzałeś na Extended Window Manager hints specification i inne informacje/standardy/wersje robocze na freedesktop? Założę się, że większość "nowoczesnych" menedżerów okien/środowisk graficznych/zlewozmywaków kuchennych będzie raczej trzymała się tego, niż zachowuje kompatybilność wsteczną z Motifem. Wszystko zależy od tego, co kodujesz.
Dzięki za przeczytanie :-)
To jest Twoje źródło lub miejsce docelowe? http://tonyobryan.com/index.php?article=9 – xanatos
To jest mały fragment mojego źródła. Struktura podpowiedzi jest zadeklarowana w innym miejscu, ale jest tu pokazana dla jasności. I przeczytałem ten artykuł, nie wyjaśnia on struktury podpowiedzi ("Myślę, że ta struktura pochodziła z Motif, ale nie jestem pewna" ...) – Ell
Tak, to nie jest moje źródło, dobry punkt. – Ell