all repos — openbox @ 474f689132d906a553bdc695d3c179652cbe8c53

openbox fork - make it a bit more like ryudo

c/obexport.c (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include "obexport.h"
#include <Python.h>
#include <glib.h>

static PyMethodDef obMethods[] = {
    { NULL, NULL, 0, NULL }
};

#define ADD_INT_CONST(n) (PyModule_AddIntConstant(ob, #n, n))

void obexport_startup()
{
    PyObject *ob, *obdict;

    Py_InitModule("ob", obMethods);

    /* get the ob module/dict */
    ob = PyImport_ImportModule("ob"); /* new */
    g_assert(ob != NULL);
    obdict = PyModule_GetDict(ob); /* borrowed */
    g_assert(obdict != NULL);

    /* define all the constants! */

    /* State */
    ADD_INT_CONST(State_Starting);
    ADD_INT_CONST(State_Exiting);
    ADD_INT_CONST(State_Running);

    /* Corner */
    ADD_INT_CONST(Corner_TopLeft);
    ADD_INT_CONST(Corner_TopRight);
    ADD_INT_CONST(Corner_BottomLeft);
    ADD_INT_CONST(Corner_BottomRight);

    /* Orientation */
    ADD_INT_CONST(Orientation_Horz);
    ADD_INT_CONST(Orientation_Vert);

    /* Gravity */
    ADD_INT_CONST(Gravity_Forget);
    ADD_INT_CONST(Gravity_NE);
    ADD_INT_CONST(Gravity_N);
    ADD_INT_CONST(Gravity_NW);
    ADD_INT_CONST(Gravity_W);
    ADD_INT_CONST(Gravity_SW);
    ADD_INT_CONST(Gravity_S);
    ADD_INT_CONST(Gravity_SE);
    ADD_INT_CONST(Gravity_E);
    ADD_INT_CONST(Gravity_Center);
    ADD_INT_CONST(Gravity_Static);

    /* WindowType */
    ADD_INT_CONST(Type_Desktop);
    ADD_INT_CONST(Type_Dock);
    ADD_INT_CONST(Type_Toolbar);
    ADD_INT_CONST(Type_Menu);
    ADD_INT_CONST(Type_Utility);
    ADD_INT_CONST(Type_Splash);
    ADD_INT_CONST(Type_Dialog);
    ADD_INT_CONST(Type_Normal);

    /* Function */
    ADD_INT_CONST(Func_Resize);
    ADD_INT_CONST(Func_Move);
    ADD_INT_CONST(Func_Iconify);
    ADD_INT_CONST(Func_Maximize);
    ADD_INT_CONST(Func_Shade);
    ADD_INT_CONST(Func_Fullscreen);
    ADD_INT_CONST(Func_Close);

    /* Decoration */
    ADD_INT_CONST(Decor_Titlebar);
    ADD_INT_CONST(Decor_Handle);
    ADD_INT_CONST(Decor_Border);
    ADD_INT_CONST(Decor_Icon);
    ADD_INT_CONST(Decor_Iconify);
    ADD_INT_CONST(Decor_Maximize);
    ADD_INT_CONST(Decor_AllDesktops);
    ADD_INT_CONST(Decor_Close);

    /* StackLayer */
    ADD_INT_CONST(Layer_Icon);
    ADD_INT_CONST(Layer_Desktop);
    ADD_INT_CONST(Layer_Below);
    ADD_INT_CONST(Layer_Normal);
    ADD_INT_CONST(Layer_Above);
    ADD_INT_CONST(Layer_Top);
    ADD_INT_CONST(Layer_Fullscreen);
    ADD_INT_CONST(Layer_Internal);

    /* EventType */
    ADD_INT_CONST(Logical_EnterWindow);
    ADD_INT_CONST(Logical_LeaveWindow);
    ADD_INT_CONST(Logical_NewWindow);
    ADD_INT_CONST(Logical_CloseWindow);
    ADD_INT_CONST(Logical_Startup);
    ADD_INT_CONST(Logical_Shutdown);
    ADD_INT_CONST(Logical_RequestActivate);
    ADD_INT_CONST(Logical_Focus);
    ADD_INT_CONST(Logical_Bell);
    ADD_INT_CONST(Logical_UrgentWindow);
    ADD_INT_CONST(Logical_WindowShow);
    ADD_INT_CONST(Logical_WindowHide);
    ADD_INT_CONST(Pointer_Press);
    ADD_INT_CONST(Pointer_Release);
    ADD_INT_CONST(Pointer_Motion);
    ADD_INT_CONST(Key_Press);
    ADD_INT_CONST(Key_Release);

    Py_DECREF(ob);
}

void obexport_shutdown()
{
}