class XTabbedWindow
Attributes
tabs[R]
window[R]
Public Class Methods
new(name, new_tab: "Ctrl+t", scan_tabs: true, next_tab: "Ctrl+Tab", location_key: 'Ctrl+l')
click to toggle source
next_tab
values e.g. Ctrl+Tab (default), Ctrl+Alt+Page_Up
# File lib/xtabbedwindow.rb, line 16 def initialize(name, new_tab: "Ctrl+t", scan_tabs: true, next_tab: "Ctrl+Tab", location_key: 'Ctrl+l') @new_tab, @next_tab, @location_key = new_tab, next_tab, location_key a = WMCtrl.instance.windows @window = a.detect {|x| x.title =~ /#{name}/i} if @window sleep 0.3 @window.activate end @tabs = [] read_tabs() if scan_tabs end
Public Instance Methods
goto_tab(pattern) { |: return| ... }
click to toggle source
# File lib/xtabbedwindow.rb, line 34 def goto_tab(pattern) regex = pattern.is_a?(String) ? /^#{pattern}/i : pattern return true if title() =~ regex read_tabs if @tabs.empty? a = @tabs r = a.grep(regex) if r.empty? and pattern.is_a? String then regex = /#{pattern}/i r = a.grep(regex) end if r.empty? then new_tab() # open the document XDo::Keyboard.char(@location_key) block_given? ? yield : return else i = a.index(r.first) @window.activate sleep 0.1 XDo::Keyboard.char("Alt+1") sleep 0.1 i.times { XDo::Keyboard.char(@next_tab) } true end end
new_tab()
click to toggle source
# File lib/xtabbedwindow.rb, line 76 def new_tab() @window.activate sleep 0.05 XDo::Keyboard.char(@new_tab) sleep 0.3 end
next_tab()
click to toggle source
# File lib/xtabbedwindow.rb, line 83 def next_tab() sleep 0.05 XDo::Keyboard.char(@next_tab) end
read_tabs()
click to toggle source
# File lib/xtabbedwindow.rb, line 88 def read_tabs() @window.activate XDo::Keyboard.char("Alt+1") start_tab_title = title() @tabs = [start_tab_title] next_tab() window_title = title() while window_title != start_tab_title do @tabs << window_title next_tab() window_title = title() end @tabs end
tab?(obj)
click to toggle source
# File lib/xtabbedwindow.rb, line 111 def tab?(obj) read_tabs if @tabs.empty? regex = obj.is_a?(String) ? /^#{obj}|#{obj}/ : obj @tabs.grep(regex).any? end
Also aliased as: include?
title()
click to toggle source
# File lib/xtabbedwindow.rb, line 121 def title() sleep 0.05 XDo::XWindow.from_active.title end