add support for title changes, cursor config, and dnd

This commit is contained in:
Colin Davidson
2024-06-06 02:39:48 -07:00
parent fcfc1cb97f
commit 70592630a4
2 changed files with 29 additions and 6 deletions
+5
View File
@@ -17,6 +17,11 @@ AllTemporary :: 0
CurrentTime :: 0 CurrentTime :: 0
NoSymbol :: 0 NoSymbol :: 0
PropModeReplace :: 0
PropModePrepend :: 1
PropModeAppend :: 2
XA_ATOM :: Atom(4)
XA_WM_CLASS :: Atom(67) XA_WM_CLASS :: Atom(67)
XA_WM_CLIENT_MACHINE :: Atom(36) XA_WM_CLIENT_MACHINE :: Atom(36)
XA_WM_COMMAND :: Atom(34) XA_WM_COMMAND :: Atom(34)
+24 -6
View File
@@ -6,6 +6,16 @@ foreign xlib {
@(link_name="_Xdebug") _Xdebug: i32 @(link_name="_Xdebug") _Xdebug: i32
} }
foreign import xcursor "system:Xcursor"
@(default_calling_convention="c", link_prefix="X")
foreign xcursor {
cursorGetTheme :: proc(display: ^Display) -> cstring ---
cursorGetDefaultSize :: proc(display: ^Display) -> i32 ---
cursorLibraryLoadImage :: proc(name: cstring, theme: cstring, size: i32) -> rawptr ---
cursorImageLoadCursor :: proc(display: ^Display, img: rawptr) -> Cursor ---
cursorImageDestroy :: proc(img: rawptr) ---
}
/* ---- X11/Xlib.h ---------------------------------------------------------*/ /* ---- X11/Xlib.h ---------------------------------------------------------*/
@(default_calling_convention="c", link_prefix="X") @(default_calling_convention="c", link_prefix="X")
@@ -20,11 +30,9 @@ foreign xlib {
NoOp :: proc(display: ^Display) --- NoOp :: proc(display: ^Display) ---
// Display macros (connection) // Display macros (connection)
ConnectionNumber :: proc(display: ^Display) -> i32 --- ConnectionNumber :: proc(display: ^Display) -> i32 ---
ExtendedMaxRequestSize :: ExtendedMaxRequestSize :: proc(display: ^Display) -> int ---
proc(display: ^Display) -> int ---
MaxRequestSize :: proc(display: ^Display) -> int --- MaxRequestSize :: proc(display: ^Display) -> int ---
LastKnownRequestProcessed :: LastKnownRequestProcessed :: proc(display: ^Display) -> uint ---
proc(display: ^Display) -> uint ---
NextRequest :: proc(display: ^Display) -> uint --- NextRequest :: proc(display: ^Display) -> uint ---
ProtocolVersion :: proc(display: ^Display) -> i32 --- ProtocolVersion :: proc(display: ^Display) -> i32 ---
ProtocolRevision :: proc(display: ^Display) -> i32 --- ProtocolRevision :: proc(display: ^Display) -> i32 ---
@@ -46,8 +54,7 @@ foreign xlib {
DefaultRootWindow :: proc(display: ^Display) -> Window --- DefaultRootWindow :: proc(display: ^Display) -> Window ---
DefaultScreen :: proc(display: ^Display) -> i32 --- DefaultScreen :: proc(display: ^Display) -> i32 ---
DefaultVisual :: proc(display: ^Display, screen_no: i32) -> ^Visual --- DefaultVisual :: proc(display: ^Display, screen_no: i32) -> ^Visual ---
DefaultScreenOfDisplay :: DefaultScreenOfDisplay :: proc(display: ^Display) -> ^Screen ---
proc(display: ^Display) -> ^Screen ---
// Display macros (other) // Display macros (other)
RootWindow :: proc(display: ^Display, screen_no: i32) -> Window --- RootWindow :: proc(display: ^Display, screen_no: i32) -> Window ---
ScreenCount :: proc(display: ^Display) -> i32 --- ScreenCount :: proc(display: ^Display) -> i32 ---
@@ -1619,6 +1626,17 @@ foreign xlib {
) -> b32 --- ) -> b32 ---
DestroyImage :: proc(image: ^XImage) --- DestroyImage :: proc(image: ^XImage) ---
ResourceManagerString :: proc(display: ^Display) -> cstring --- ResourceManagerString :: proc(display: ^Display) -> cstring ---
utf8SetWMProperties :: proc(
display: ^Display,
window: Window,
window_name: cstring,
icon_name: cstring,
argv: ^cstring,
argc: i32,
normal_hints: ^XSizeHints,
wm_hints: ^XWMHints,
class_hints: ^XClassHint,
) ---
} }
@(default_calling_convention="c") @(default_calling_convention="c")