Module: LibX11
- Defined in:
- lib/libx11/version.rb,
ext/libx11_ruby/libx11_ruby.c
Defined Under Namespace
Classes: Display, XErrorEvent, XEvent, XKeyEvent
Constant Summary collapse
- VERSION =
'0.0.4'- NONE =
reserved resource and constant definitions
LONG2NUM(None)
- PARENT_RELATIVE =
LONG2NUM(ParentRelative)
- COPY_FROM_PARENT =
LONG2NUM(CopyFromParent)
- POINTER_WINDOW =
LONG2NUM(PointerWindow)
- INPUT_FOCUS =
LONG2NUM(InputFocus)
- POINTER_ROOT =
LONG2NUM(PointerRoot)
- ANY_PROPERTY_TYPE =
LONG2NUM(AnyPropertyType)
- ANY_KEY =
LONG2NUM(AnyKey)
- ANY_BUTTON =
LONG2NUM(AnyButton)
- ALL_TEMPORARY =
LONG2NUM(AllTemporary)
- CURRENT_TIME =
LONG2NUM(CurrentTime)
- NO_SYMBOL =
LONG2NUM(NoSymbol)
- NO_EVENT_MASK =
input event masks
LONG2NUM(NoEventMask)
- KEY_PRESS_MASK =
LONG2NUM(KeyPressMask)
- KEY_RELEASE_MASK =
LONG2NUM(KeyReleaseMask)
- BUTTON_PRESS_MASK =
LONG2NUM(ButtonPressMask)
- BUTTON_RELEASE_MASK =
LONG2NUM(ButtonReleaseMask)
- ENTER_WINDOW_MASK =
LONG2NUM(EnterWindowMask)
- LEAVE_WINDOW_MASK =
LONG2NUM(LeaveWindowMask)
- POINTER_MOTION_MASK =
LONG2NUM(PointerMotionMask)
- POINTER_MOTION_HINT_MASK =
LONG2NUM(PointerMotionHintMask)
- BUTTON1_MOTION_MASK =
LONG2NUM(Button1MotionMask)
- BUTTON2_MOTION_MASK =
LONG2NUM(Button2MotionMask)
- BUTTON3_MOTION_MASK =
LONG2NUM(Button3MotionMask)
- BUTTON4_MOTION_MASK =
LONG2NUM(Button4MotionMask)
- BUTTON5_MOTION_MASK =
LONG2NUM(Button5MotionMask)
- BUTTON_MOTION_MASK =
LONG2NUM(ButtonMotionMask)
- KEYMAP_STATE_MASK =
LONG2NUM(KeymapStateMask)
- EXPOSURE_MASK =
LONG2NUM(ExposureMask)
- VISIBILITY_CHANGE_MASK =
LONG2NUM(VisibilityChangeMask)
- STRUCTURE_NOTIFY_MASK =
LONG2NUM(StructureNotifyMask)
- RESIZE_REDIRECT_MASK =
LONG2NUM(ResizeRedirectMask)
- SUBSTRUCTURE_NOTIFY_MASK =
LONG2NUM(SubstructureNotifyMask)
- SUBSTRUCTURE_REDIRECT_MASK =
LONG2NUM(SubstructureRedirectMask)
- FOCUS_CHANGE_MASK =
LONG2NUM(FocusChangeMask)
- PROPERTY_CHANGE_MASK =
LONG2NUM(PropertyChangeMask)
- COLORMAP_CHANGE_MASK =
LONG2NUM(ColormapChangeMask)
- OWNER_GRAB_BUTTON_MASK =
LONG2NUM(OwnerGrabButtonMask)
- BUTTON1_MASK =
button masks
LONG2NUM(Button1Mask)
- BUTTON2_MASK =
LONG2NUM(Button2Mask)
- BUTTON3_MASK =
LONG2NUM(Button3Mask)
- BUTTON4_MASK =
LONG2NUM(Button4Mask)
- BUTTON5_MASK =
LONG2NUM(Button5Mask)
- ANY_MODIFIER =
LONG2NUM(AnyModifier)
- XK_BackSpace =
tty functions keys
LONG2NUM(XK_BackSpace)
- XK_Tab =
LONG2NUM(XK_Tab)
- XK_Linefeed =
LONG2NUM(XK_Linefeed)
- XK_Clear =
LONG2NUM(XK_Clear)
- XK_Return =
LONG2NUM(XK_Return)
- XK_Pause =
LONG2NUM(XK_Pause)
- XK_Scroll_Lock =
LONG2NUM(XK_Scroll_Lock)
- XK_Sys_Req =
LONG2NUM(XK_Sys_Req)
- XK_Escape =
LONG2NUM(XK_Escape)
- XK_Delete =
LONG2NUM(XK_Delete)
- XK_space =
latin 1
LONG2NUM(XK_space)
- XK_exclam =
LONG2NUM(XK_exclam)
- XK_quotedbl =
LONG2NUM(XK_quotedbl)
- XK_numbersign =
LONG2NUM(XK_numbersign)
- XK_dollar =
LONG2NUM(XK_dollar)
- XK_percent =
LONG2NUM(XK_percent)
- XK_ampersand =
LONG2NUM(XK_ampersand)
- XK_apostrophe =
LONG2NUM(XK_apostrophe)
- XK_quoteright =
LONG2NUM(XK_quoteright)
- XK_parenleft =
LONG2NUM(XK_parenleft)
- XK_parenright =
LONG2NUM(XK_parenright)
- XK_asterisk =
LONG2NUM(XK_asterisk)
- XK_plus =
LONG2NUM(XK_plus)
- XK_comma =
LONG2NUM(XK_comma)
- XK_minus =
LONG2NUM(XK_minus)
- XK_period =
LONG2NUM(XK_period)
- XK_slash =
LONG2NUM(XK_slash)
- XK_0 =
LONG2NUM(XK_0)
- XK_1 =
LONG2NUM(XK_1)
- XK_2 =
LONG2NUM(XK_2)
- XK_3 =
LONG2NUM(XK_3)
- XK_4 =
LONG2NUM(XK_4)
- XK_5 =
LONG2NUM(XK_5)
- XK_6 =
LONG2NUM(XK_6)
- XK_7 =
LONG2NUM(XK_7)
- XK_8 =
LONG2NUM(XK_8)
- XK_9 =
LONG2NUM(XK_9)
- XK_colon =
LONG2NUM(XK_colon)
- XK_semicolon =
LONG2NUM(XK_semicolon)
- XK_less =
LONG2NUM(XK_less)
- XK_equal =
LONG2NUM(XK_equal)
- XK_greater =
LONG2NUM(XK_greater)
- XK_question =
LONG2NUM(XK_question)
- XK_at =
LONG2NUM(XK_at)
- XK_A =
LONG2NUM(XK_A)
- XK_B =
LONG2NUM(XK_B)
- XK_C =
LONG2NUM(XK_C)
- XK_D =
LONG2NUM(XK_D)
- XK_E =
LONG2NUM(XK_E)
- XK_F =
LONG2NUM(XK_F)
- XK_G =
LONG2NUM(XK_G)
- XK_H =
LONG2NUM(XK_H)
- XK_I =
LONG2NUM(XK_I)
- XK_J =
LONG2NUM(XK_J)
- XK_K =
LONG2NUM(XK_K)
- XK_L =
LONG2NUM(XK_L)
- XK_M =
LONG2NUM(XK_M)
- XK_N =
LONG2NUM(XK_N)
- XK_O =
LONG2NUM(XK_O)
- XK_P =
LONG2NUM(XK_P)
- XK_Q =
LONG2NUM(XK_Q)
- XK_R =
LONG2NUM(XK_R)
- XK_S =
LONG2NUM(XK_S)
- XK_T =
LONG2NUM(XK_T)
- XK_U =
LONG2NUM(XK_U)
- XK_V =
LONG2NUM(XK_V)
- XK_W =
LONG2NUM(XK_W)
- XK_X =
LONG2NUM(XK_X)
- XK_Y =
LONG2NUM(XK_Y)
- XK_Z =
LONG2NUM(XK_Z)
- XK_bracketleft =
LONG2NUM(XK_bracketleft)
- XK_backslash =
LONG2NUM(XK_backslash)
- XK_bracketright =
LONG2NUM(XK_bracketright)
- XK_asciicircum =
LONG2NUM(XK_asciicircum)
- XK_underscore =
LONG2NUM(XK_underscore)
- XK_grave =
LONG2NUM(XK_grave)
- XK_quoteleft =
LONG2NUM(XK_quoteleft)
- XK_a =
LONG2NUM(XK_a)
- XK_b =
LONG2NUM(XK_b)
- XK_c =
LONG2NUM(XK_c)
- XK_d =
LONG2NUM(XK_d)
- XK_e =
LONG2NUM(XK_e)
- XK_f =
LONG2NUM(XK_f)
- XK_g =
LONG2NUM(XK_g)
- XK_h =
LONG2NUM(XK_h)
- XK_i =
LONG2NUM(XK_i)
- XK_j =
LONG2NUM(XK_j)
- XK_k =
LONG2NUM(XK_k)
- XK_l =
LONG2NUM(XK_l)
- XK_m =
LONG2NUM(XK_m)
- XK_n =
LONG2NUM(XK_n)
- XK_o =
LONG2NUM(XK_o)
- XK_p =
LONG2NUM(XK_p)
- XK_q =
LONG2NUM(XK_q)
- XK_r =
LONG2NUM(XK_r)
- XK_s =
LONG2NUM(XK_s)
- XK_t =
LONG2NUM(XK_t)
- XK_u =
LONG2NUM(XK_u)
- XK_v =
LONG2NUM(XK_v)
- XK_w =
LONG2NUM(XK_w)
- XK_x =
LONG2NUM(XK_x)
- XK_y =
LONG2NUM(XK_y)
- XK_z =
LONG2NUM(XK_z)
- XK_braceleft =
LONG2NUM(XK_braceleft)
- XK_bar =
LONG2NUM()
- XK_braceright =
LONG2NUM(XK_braceright)
- XK_asciitilde =
LONG2NUM(XK_asciitilde)
- GRAB_MODE_SYNC =
GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes
INT2FIX(GrabModeSync)
- GRAB_MODE_ASYNC =
INT2FIX(GrabModeAsync)
- SHIFT_MASK =
Key masks
LONG2NUM(ShiftMask)
- LOCK_MASK =
LONG2NUM(LockMask)
- CONTROL_MASK =
LONG2NUM(ControlMask)
- MOD1_MASK =
LONG2NUM(Mod1Mask)
- MOD2_MASK =
LONG2NUM(Mod2Mask)
- MOD3_MASK =
LONG2NUM(Mod3Mask)
- MOD4_MASK =
LONG2NUM(Mod4Mask)
- MOD5_MASK =
LONG2NUM(Mod5Mask)
Class Method Summary collapse
-
.xclose_display(obj) ⇒ Object
Xlib XCloseDisplay.
-
.xcreate_simple_window(display_obj, parent_window, x, y, width, height, border_width, border_color, background_color) ⇒ Object
Xlib XCreateSimpleWindow.
-
.xdestroy_window(display_obj, window) ⇒ Object
Xlib XDestroyWindow.
-
.xlookup_keysym(event_obj, index) ⇒ Object
KeySym XLookupKeysym( XKeyEvent* key_event, int index );.
-
.xnext_event(obj) ⇒ Object
Xlib XNextEvent.
-
.xopen_display ⇒ Object
Xlib XOpenDisplay.
-
.xset_error_handler(*args) ⇒ Object
Xlib XSetErrorHandler.
Class Method Details
.xclose_display(obj) ⇒ Object
Xlib XCloseDisplay
59 60 61 62 63 |
# File 'ext/libx11_ruby/display.c', line 59 static VALUE rb_libx11_xclose_display(VALUE self, VALUE obj) { return INT2FIX(XCloseDisplay(get_display_struct(obj))); } |
.xcreate_simple_window(display_obj, parent_window, x, y, width, height, border_width, border_color, background_color) ⇒ Object
Xlib XCreateSimpleWindow
9 10 11 12 13 14 15 16 |
# File 'ext/libx11_ruby/window.c', line 9 static VALUE rb_libx11_xcreate_simple_window(VALUE self, VALUE display_obj, VALUE parent_window, VALUE x, VALUE y, VALUE width, VALUE height, VALUE border_width, VALUE border_color, VALUE background_color) { Window ret = XCreateSimpleWindow(get_display_struct(display_obj), NUM2ULONG(parent_window), NUM2INT(x), NUM2INT(y), NUM2UINT(width), NUM2UINT(height), FIX2UINT(border_width), NUM2ULONG(border_color), NUM2ULONG(background_color)); return ULONG2NUM(ret); } |
.xdestroy_window(display_obj, window) ⇒ Object
Xlib XDestroyWindow
21 22 23 24 25 26 |
# File 'ext/libx11_ruby/window.c', line 21 static VALUE rb_libx11_xdestroy_window(VALUE self, VALUE display_obj, VALUE window) { int ret = XDestroyWindow(get_display_struct(display_obj), NUM2ULONG(window)); return INT2NUM(ret); } |
.xlookup_keysym(event_obj, index) ⇒ Object
KeySym XLookupKeysym(
XKeyEvent* key_event,
int index
);
75 76 77 78 79 80 81 82 83 84 |
# File 'ext/libx11_ruby/xevent.c', line 75 static VALUE rb_libx11_xlookup_keysym(VALUE self, VALUE event_obj, VALUE index) { XEvent *event; unsigned long keysym; TypedData_Get_Struct(event_obj, XEvent, &xevent_type, event); keysym = XLookupKeysym(&event->xkey, NUM2INT(index)); return ULONG2NUM(keysym); } |
.xnext_event(obj) ⇒ Object
Xlib XNextEvent
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'ext/libx11_ruby/xevent.c', line 38 static VALUE rb_libx11_xnext_event(VALUE self, VALUE obj) { XEvent *event = (XEvent *)malloc(sizeof(XEvent)); XNextEvent(get_display_struct(obj), event); switch (event->type) { case KeyPress: return TypedData_Wrap_Struct(rb_cXKeyEvent, &xevent_type, event); default: return TypedData_Wrap_Struct(rb_cXEvent, &xevent_type, event); } } |
.xopen_display ⇒ Object
Xlib XOpenDisplay
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'ext/libx11_ruby/display.c', line 37 static VALUE rb_libx11_xopen_display(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self)) { Display *display; if (argc == 0) { display = XOpenDisplay(NULL); } else { VALUE display_name; rb_check_arity(argc, 1, 1); rb_scan_args(argc, argv, "10", &display_name); Check_Type(display_name, T_STRING); display = XOpenDisplay(RSTRING_PTR(display_name)); } if (display == NULL) return Qnil; return TypedData_Wrap_Struct(rb_cDisplay, &display_type, display); } |
.xset_error_handler(*args) ⇒ Object
Xlib XSetErrorHandler
48 49 50 51 52 53 54 55 56 |
# File 'ext/libx11_ruby/xerror_event.c', line 48 static VALUE rb_libx11_xset_error_handler(int argc, VALUE *argv, VALUE self) { rb_check_arity(argc, 0, 0); rb_scan_args(argc, argv, "00&", &error_handler_proc); XSetErrorHandler(error_handler_func); return Qnil; } |