libx11 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/bin/generate-constants +92 -0
  3. data/bin/generate-functions +64 -0
  4. data/bin/generate-structs +103 -0
  5. data/bin/typesym.rb +50 -0
  6. data/example/window_manager.rb +10 -14
  7. data/lib/libx11/version.rb +1 -1
  8. data/lib/libx11/x.rb +573 -132
  9. data/lib/libx11/xlib.rb +463 -28
  10. data/lib/libx11/xlib/depth.rb +11 -0
  11. data/lib/libx11/xlib/screen.rb +28 -0
  12. data/lib/libx11/xlib/screen_format.rb +12 -0
  13. data/lib/libx11/xlib/visual.rb +16 -0
  14. data/lib/libx11/xlib/{xany_event.rb → x_any_event.rb} +1 -1
  15. data/lib/libx11/xlib/x_arc.rb +14 -0
  16. data/lib/libx11/xlib/{xbutton_event.rb → x_button_event.rb} +2 -2
  17. data/lib/libx11/xlib/x_char2b.rb +10 -0
  18. data/lib/libx11/xlib/x_char_struct.rb +14 -0
  19. data/lib/libx11/xlib/{xcirculate_event.rb → x_circulate_event.rb} +1 -1
  20. data/lib/libx11/xlib/{xcirculate_request_event.rb → x_circulate_request_event.rb} +2 -2
  21. data/lib/libx11/xlib/{xclient_message_event.rb → x_client_message_event.rb} +0 -0
  22. data/lib/libx11/xlib/x_color.rb +14 -0
  23. data/lib/libx11/xlib/{xcolormap_event.rb → x_colormap_event.rb} +2 -2
  24. data/lib/libx11/xlib/{xconfigure_event.rb → x_configure_event.rb} +2 -2
  25. data/lib/libx11/xlib/{xconfigure_request_event.rb → x_configure_request_event.rb} +2 -2
  26. data/lib/libx11/xlib/{xcreate_window_event.rb → x_create_window_event.rb} +2 -2
  27. data/lib/libx11/xlib/{xcrossing_event.rb → x_crossing_event.rb} +4 -4
  28. data/lib/libx11/xlib/{xdestroy_window_event.rb → x_destroy_window_event.rb} +1 -1
  29. data/lib/libx11/xlib/x_edata_object.rb +14 -0
  30. data/lib/libx11/xlib/{xerror_event.rb → x_error_event.rb} +0 -0
  31. data/lib/libx11/xlib/{xevent.rb → x_event.rb} +34 -34
  32. data/lib/libx11/xlib/{xexpose_event.rb → x_expose_event.rb} +1 -1
  33. data/lib/libx11/xlib/x_ext_codes.rb +12 -0
  34. data/lib/libx11/xlib/{xfocus_change_event.rb → x_focus_change_event.rb} +2 -2
  35. data/lib/libx11/xlib/x_font_prop.rb +10 -0
  36. data/lib/libx11/xlib/x_font_set_extents.rb +10 -0
  37. data/lib/libx11/xlib/x_font_struct.rb +24 -0
  38. data/lib/libx11/xlib/{xgeneric_event.rb → x_generic_event.rb} +0 -0
  39. data/lib/libx11/xlib/{xgeneric_event_cookie.rb → x_generic_event_cookie.rb} +1 -1
  40. data/lib/libx11/xlib/{xgraphics_expose_event.rb → x_graphics_expose_event.rb} +1 -2
  41. data/lib/libx11/xlib/{xgravity_event.rb → x_gravity_event.rb} +1 -1
  42. data/lib/libx11/xlib/x_host_address.rb +11 -0
  43. data/lib/libx11/xlib/x_key_event.rb +23 -0
  44. data/lib/libx11/xlib/x_keyboard_control.rb +16 -0
  45. data/lib/libx11/xlib/x_keyboard_state.rb +15 -0
  46. data/lib/libx11/xlib/{xkeymap_event.rb → x_keymap_event.rb} +1 -1
  47. data/lib/libx11/xlib/{xmap_event.rb → x_map_event.rb} +2 -2
  48. data/lib/libx11/xlib/x_map_request_event.rb +14 -0
  49. data/lib/libx11/xlib/{xmapping_event.rb → x_mapping_event.rb} +1 -1
  50. data/lib/libx11/xlib/x_modifier_keymap.rb +10 -0
  51. data/lib/libx11/xlib/{xmotion_event.rb → x_motion_event.rb} +2 -2
  52. data/lib/libx11/xlib/{xno_expose_event.rb → x_no_expose_event.rb} +1 -1
  53. data/lib/libx11/xlib/x_pixmap_format_values.rb +11 -0
  54. data/lib/libx11/xlib/x_point.rb +10 -0
  55. data/lib/libx11/xlib/{xproperty_event.rb → x_property_event.rb} +1 -1
  56. data/lib/libx11/xlib/x_rectangle.rb +12 -0
  57. data/lib/libx11/xlib/{xreparent_event.rb → x_reparent_event.rb} +2 -2
  58. data/lib/libx11/xlib/{xresize_request_event.rb → x_resize_request_event.rb} +1 -1
  59. data/lib/libx11/xlib/x_segment.rb +12 -0
  60. data/lib/libx11/xlib/{xselection_clear_event.rb → x_selection_clear_event.rb} +1 -1
  61. data/lib/libx11/xlib/{xselection_event.rb → x_selection_event.rb} +1 -1
  62. data/lib/libx11/xlib/{xselection_request_event.rb → x_selection_request_event.rb} +1 -1
  63. data/lib/libx11/xlib/x_server_interpreted_address.rb +12 -0
  64. data/lib/libx11/xlib/x_set_window_attributes.rb +23 -0
  65. data/lib/libx11/xlib/x_text_item.rb +12 -0
  66. data/lib/libx11/xlib/x_text_item16.rb +12 -0
  67. data/lib/libx11/xlib/x_time_coord.rb +11 -0
  68. data/lib/libx11/xlib/{xunmap_event.rb → x_unmap_event.rb} +2 -2
  69. data/lib/libx11/xlib/{xvisibility_event.rb → x_visibility_event.rb} +1 -1
  70. data/lib/libx11/xlib/x_window_attributes.rb +31 -0
  71. data/lib/libx11/xlib/x_window_changes.rb +15 -0
  72. data/lib/libx11/xlib/xgc_values.rb +31 -0
  73. data/lib/libx11/xlib/xic_callback.rb +10 -0
  74. data/lib/libx11/xlib/xim_callback.rb +10 -0
  75. data/lib/libx11/xlib/xim_styles.rb +10 -0
  76. data/lib/libx11/xlib/xim_values_list.rb +10 -0
  77. data/lib/libx11/xlib/xmb_text_item.rb +12 -0
  78. data/lib/libx11/xlib/xom_char_set_list.rb +10 -0
  79. data/lib/libx11/xlib/xom_font_info.rb +11 -0
  80. data/lib/libx11/xlib/xom_orientation.rb +10 -0
  81. data/lib/libx11/xlib/xwc_text_item.rb +12 -0
  82. data/libx11.gemspec +2 -1
  83. metadata +105 -49
  84. data/lib/libx11/xlib/xkey_event.rb +0 -23
  85. data/lib/libx11/xlib/xmap_request_event.rb +0 -18
@@ -0,0 +1,11 @@
1
+ module LibX11
2
+ module Xlib
3
+ class Depth < FFI::Struct
4
+ layout(
5
+ :depth, :int,
6
+ :nvisuals, :int,
7
+ :visuals, :pointer,
8
+ )
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ module LibX11
2
+ module Xlib
3
+ class Screen < FFI::Struct
4
+ layout(
5
+ :ext_data, :pointer,
6
+ :display, Display.ptr,
7
+ :root, :Window,
8
+ :width, :int,
9
+ :height, :int,
10
+ :mwidth, :int,
11
+ :mheight, :int,
12
+ :ndepths, :int,
13
+ :depths, Depth.ptr,
14
+ :root_depth, :int,
15
+ :root_visual, :pointer,
16
+ :default_gc, :GC,
17
+ :cmap, :Colormap,
18
+ :white_pixel, :ulong,
19
+ :black_pixel, :ulong,
20
+ :max_maps, :int,
21
+ :min_maps, :int,
22
+ :backing_store, :int,
23
+ :save_unders, :bool,
24
+ :root_input_mask, :long,
25
+ )
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ module LibX11
2
+ module Xlib
3
+ class ScreenFormat < FFI::Struct
4
+ layout(
5
+ :ext_data, :pointer,
6
+ :depth, :int,
7
+ :bits_per_pixel, :int,
8
+ :scanline_pad, :int,
9
+ )
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ module LibX11
2
+ module Xlib
3
+ class Visual < FFI::Struct
4
+ layout(
5
+ :ext_data, :pointer,
6
+ :visualid, :VisualID,
7
+ :class, :int,
8
+ :red_mask, :ulong,
9
+ :green_mask, :ulong,
10
+ :blue_mask, :ulong,
11
+ :bits_per_rgb, :int,
12
+ :map_entries, :int,
13
+ )
14
+ end
15
+ end
16
+ end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  )
@@ -0,0 +1,14 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XArc < FFI::Struct
4
+ layout(
5
+ :x, :short,
6
+ :y, :short,
7
+ :width, :ushort,
8
+ :height, :ushort,
9
+ :angle1, :short,
10
+ :angle2, :short,
11
+ )
12
+ end
13
+ end
14
+ end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  :root, :Window,
@@ -16,7 +16,7 @@ module LibX11
16
16
  :y_root, :int,
17
17
  :state, :uint,
18
18
  :button, :uint,
19
- :same_screen, :Bool,
19
+ :same_screen, :bool,
20
20
  )
21
21
  end
22
22
  end
@@ -0,0 +1,10 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XChar2b < FFI::Struct
4
+ layout(
5
+ :byte1, :uchar,
6
+ :byte2, :uchar,
7
+ )
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XCharStruct < FFI::Struct
4
+ layout(
5
+ :lbearing, :short,
6
+ :rbearing, :short,
7
+ :width, :short,
8
+ :ascent, :short,
9
+ :descent, :short,
10
+ :attributes, :ushort,
11
+ )
12
+ end
13
+ end
14
+ end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :event, :Window,
10
10
  :window, :Window,
@@ -4,9 +4,9 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
- :event, :Window,
9
+ :parent, :Window,
10
10
  :window, :Window,
11
11
  :place, :int,
12
12
  )
@@ -0,0 +1,14 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XColor < FFI::Struct
4
+ layout(
5
+ :pixel, :ulong,
6
+ :red, :ushort,
7
+ :green, :ushort,
8
+ :blue, :ushort,
9
+ :flags, :char,
10
+ :pad, :char,
11
+ )
12
+ end
13
+ end
14
+ end
@@ -4,11 +4,11 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  :colormap, :Colormap,
11
- :new, :Bool,
11
+ :new, :bool,
12
12
  :state, :int,
13
13
  )
14
14
  end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :event, :Window,
10
10
  :window, :Window,
@@ -14,7 +14,7 @@ module LibX11
14
14
  :height, :int,
15
15
  :border_width, :int,
16
16
  :above, :Window,
17
- :override_redirect, :Bool,
17
+ :override_redirect, :bool,
18
18
  )
19
19
  end
20
20
  end
@@ -4,9 +4,9 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
- :event, :Window,
9
+ :parent, :Window,
10
10
  :window, :Window,
11
11
  :x, :int,
12
12
  :y, :int,
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :parent, :Window,
10
10
  :window, :Window,
@@ -13,7 +13,7 @@ module LibX11
13
13
  :width, :int,
14
14
  :height, :int,
15
15
  :border_width, :int,
16
- :override_redirect, :Bool,
16
+ :override_redirect, :bool,
17
17
  )
18
18
  end
19
19
  end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  :root, :Window,
@@ -16,9 +16,9 @@ module LibX11
16
16
  :y_root, :int,
17
17
  :mode, :int,
18
18
  :detail, :int,
19
- :same_screen, :Bool,
20
- :focus, :Bool,
21
- :state, :uint
19
+ :same_screen, :bool,
20
+ :focus, :bool,
21
+ :state, :uint,
22
22
  )
23
23
  end
24
24
  end
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :event, :Window,
10
10
  :window, :Window,
@@ -0,0 +1,14 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XEDataObject < FFI::Union
4
+ layout(
5
+ :display, Display.ptr,
6
+ :gc, :GC,
7
+ :visual, :pointer,
8
+ :screen, :pointer,
9
+ :pixmap_format, :pointer,
10
+ :font, :pointer,
11
+ )
12
+ end
13
+ end
14
+ end
@@ -1,40 +1,40 @@
1
- require 'libx11/xlib/xany_event'
2
- require 'libx11/xlib/xbutton_event'
3
- require 'libx11/xlib/xcirculate_event'
4
- require 'libx11/xlib/xcirculate_request_event'
5
- require 'libx11/xlib/xclient_message_event'
6
- require 'libx11/xlib/xcolormap_event'
7
- require 'libx11/xlib/xconfigure_event'
8
- require 'libx11/xlib/xconfigure_request_event'
9
- require 'libx11/xlib/xcreate_window_event'
10
- require 'libx11/xlib/xcrossing_event'
11
- require 'libx11/xlib/xdestroy_window_event'
12
- require 'libx11/xlib/xerror_event'
13
- require 'libx11/xlib/xexpose_event'
14
- require 'libx11/xlib/xfocus_change_event'
15
- require 'libx11/xlib/xgeneric_event'
16
- require 'libx11/xlib/xgeneric_event_cookie'
17
- require 'libx11/xlib/xgraphics_expose_event'
18
- require 'libx11/xlib/xgravity_event'
19
- require 'libx11/xlib/xkey_event'
20
- require 'libx11/xlib/xkeymap_event'
21
- require 'libx11/xlib/xmap_event'
22
- require 'libx11/xlib/xmap_request_event'
23
- require 'libx11/xlib/xmapping_event'
24
- require 'libx11/xlib/xmotion_event'
25
- require 'libx11/xlib/xno_expose_event'
26
- require 'libx11/xlib/xproperty_event'
27
- require 'libx11/xlib/xreparent_event'
28
- require 'libx11/xlib/xresize_request_event'
29
- require 'libx11/xlib/xselection_clear_event'
30
- require 'libx11/xlib/xselection_event'
31
- require 'libx11/xlib/xselection_request_event'
32
- require 'libx11/xlib/xunmap_event'
33
- require 'libx11/xlib/xvisibility_event'
1
+ require 'libx11/xlib/x_any_event'
2
+ require 'libx11/xlib/x_button_event'
3
+ require 'libx11/xlib/x_circulate_event'
4
+ require 'libx11/xlib/x_circulate_request_event'
5
+ require 'libx11/xlib/x_client_message_event'
6
+ require 'libx11/xlib/x_colormap_event'
7
+ require 'libx11/xlib/x_configure_event'
8
+ require 'libx11/xlib/x_configure_request_event'
9
+ require 'libx11/xlib/x_create_window_event'
10
+ require 'libx11/xlib/x_crossing_event'
11
+ require 'libx11/xlib/x_destroy_window_event'
12
+ require 'libx11/xlib/x_error_event'
13
+ require 'libx11/xlib/x_expose_event'
14
+ require 'libx11/xlib/x_focus_change_event'
15
+ require 'libx11/xlib/x_generic_event'
16
+ require 'libx11/xlib/x_generic_event_cookie'
17
+ require 'libx11/xlib/x_graphics_expose_event'
18
+ require 'libx11/xlib/x_gravity_event'
19
+ require 'libx11/xlib/x_key_event'
20
+ require 'libx11/xlib/x_keymap_event'
21
+ require 'libx11/xlib/x_map_event'
22
+ require 'libx11/xlib/x_map_request_event'
23
+ require 'libx11/xlib/x_mapping_event'
24
+ require 'libx11/xlib/x_motion_event'
25
+ require 'libx11/xlib/x_no_expose_event'
26
+ require 'libx11/xlib/x_property_event'
27
+ require 'libx11/xlib/x_reparent_event'
28
+ require 'libx11/xlib/x_resize_request_event'
29
+ require 'libx11/xlib/x_selection_clear_event'
30
+ require 'libx11/xlib/x_selection_event'
31
+ require 'libx11/xlib/x_selection_request_event'
32
+ require 'libx11/xlib/x_unmap_event'
33
+ require 'libx11/xlib/x_visibility_event'
34
34
 
35
35
  module LibX11
36
36
  module Xlib
37
- class XEvent < FFI::Struct
37
+ class XEvent < FFI::Union
38
38
  layout(
39
39
  :type, :int,
40
40
  :xany, XAnyEvent,
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  :x, :int,
@@ -0,0 +1,12 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XExtCodes < FFI::Struct
4
+ layout(
5
+ :extension, :int,
6
+ :major_opcode, :int,
7
+ :first_event, :int,
8
+ :first_error, :int,
9
+ )
10
+ end
11
+ end
12
+ end
@@ -4,11 +4,11 @@ module LibX11
4
4
  layout(
5
5
  :type, :int,
6
6
  :serial, :ulong,
7
- :send_event, :Bool,
7
+ :send_event, :bool,
8
8
  :display, Display.ptr,
9
9
  :window, :Window,
10
10
  :mode, :int,
11
- :detail, :int
11
+ :detail, :int,
12
12
  )
13
13
  end
14
14
  end
@@ -0,0 +1,10 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XFontProp < FFI::Struct
4
+ layout(
5
+ :name, :Atom,
6
+ :card32, :ulong,
7
+ )
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XFontSetExtents < FFI::Struct
4
+ layout(
5
+ :max_ink_extent, XRectangle,
6
+ :max_logical_extent, XRectangle,
7
+ )
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,24 @@
1
+ module LibX11
2
+ module Xlib
3
+ class XFontStruct < FFI::Struct
4
+ layout(
5
+ :ext_data, :pointer,
6
+ :fid, :Font,
7
+ :direction, :uchar,
8
+ :min_char_or_byte2, :uchar,
9
+ :max_char_or_byte2, :uchar,
10
+ :min_byte1, :uchar,
11
+ :max_byte1, :uchar,
12
+ :all_chars_exist, :bool,
13
+ :default_char, :uchar,
14
+ :n_properties, :int,
15
+ :properties, XFontProp.ptr,
16
+ :min_bounds, XCharStruct,
17
+ :max_bounds, XCharStruct,
18
+ :per_char, :pointer,
19
+ :ascent, :int,
20
+ :descent, :int,
21
+ )
22
+ end
23
+ end
24
+ end