module Vigilem::X11
Constants
- NotifyNonlinearVirtual
- VERSION
Public Instance Methods
get_input_focus(display, focus_return, revert_to_return=nil)
click to toggle source
@param [#to_ptr] display @param [Integer || ::FFI::Pointer] focus_return @param [Integer || ::FFI::Pointer] revert_to_return @return [Array<Fixnum, Integer, Fixnum>] exit_code, xwindow id, revert_to_return
# File lib/vigilem/x11.rb, line 44 def get_input_focus(display, focus_return, revert_to_return=nil) display = Vigilem::X11::Display.wrap(display) if not focus_return.is_a? ::FFI::MemoryPointer fr = focus_return focus_return = ::FFI::MemoryPointer.new(:int) focus_return.write_int(fr) end if not revert_to_return.is_a? ::FFI::MemoryPointer rtr = revert_to_return revert_to_return = ::FFI::MemoryPointer.new(:int) revert_to_return.write_int(rtr || 0) end raise_nil_arg_error('display', display) raise_nil_arg_error('focus_return', focus_return) [Xlib.XGetInputFocus(display, focus_return, revert_to_return), focus_return.read_int, revert_to_return.read_int] end
query_tree(display, w, opts={})
click to toggle source
XQueryTree(Display
*display, Window w, Window *root_return,
Window *parent_return, Window **children_return, unsigned int *nchildren_return);
@see man xquerytree @param [#to_ptr] display @param [Integer] w @param [Hash] @option :root_return [::FFI::Pointer<:ulong>] @option :parent_return [::FFI::Pointer<:ulong>] @option :children_return [::FFI::Pointer] @option :nchildren_return [::FFI::Pointer<:uint> || Integer] @return [Fixnum] status
# File lib/vigilem/x11.rb, line 22 def query_tree(display, w, opts={}) opts[:root_return] ||= ::FFI::MemoryPointer.new(:ulong, 1) opts[:parent_return] ||= ::FFI::MemoryPointer.new(:ulong, 1) opts[:children_return] ||= ::FFI::MemoryPointer.new(:ulong) opts[:nchildren_return] ||= ::FFI::MemoryPointer.new(:uint, 1) raise_nil_arg_error('display', display) raise_nil_arg_error('w', w) Xlib::XQueryTree(display, w, opts[:root_return], opts[:parent_return], opts[:children_return], opts[:nchildren_return]) opts[:nchildren_return] = opts[:nchildren_return].read_uint opts.each do |k,v| opts[k] = v.read_ulong if opts[k].respond_to? :read_ulong end end
raise_nil_arg_error(name, val)
click to toggle source
# File lib/vigilem/x11.rb, line 62 def raise_nil_arg_error(name, val) raise ArgumentError, "#{name} is #{val.inspect}" if val.nil? end