TODO: timelineからコピペで作ったからリファクタリングしてモジュールを作る
Web上の画像をレンダリングできる。 レンダリング中は読み込み中の代替イメージが表示され、ロードが終了したら指定された画像が表示される。 メモリキャッシュ、ストレージキャッシュがついてる。
# File core/mui/gtk_extension.rb, line 60 def self.keyname(key) type_strict key => Array if key.empty? or key[0] == 0 or not key.all?(&ret_nth) return '(割り当てなし)' else r = "" r << 'Control + ' if (key[1] & Gdk::Window::CONTROL_MASK) != 0 r << 'Shift + ' if (key[1] & Gdk::Window::SHIFT_MASK) != 0 r << 'Alt + ' if (key[1] & Gdk::Window::MOD1_MASK) != 0 r << 'Super + ' if (key[1] & Gdk::Window::SUPER_MASK) != 0 r << 'Hyper + ' if (key[1] & Gdk::Window::HYPER_MASK) != 0 return r + Gdk::Keyval.to_name(key[0]) end end
# File core/mui/gtk_extension.rb, line 194 def openurl(url) command = nil if UserConfig[:url_open_specified_command] command = UserConfig[:url_open_command] bg_system(command, url) elsif(defined? Win32API) then shellExecuteA = Win32API.new('shell32.dll','ShellExecuteA',%w(p p p p p i),'i') shellExecuteA.call(0, 'open', url, 0, 0, 1) else command = Gtk::url_open_command if(command) bg_system(command, url) else Plugin.activity :system, "この環境で、URLを開くためのコマンドが判別できませんでした。設定の「表示→URLを開く方法」で、URLを開く方法を設定してください。" end end rescue => e Plugin.activity :system, "コマンド \"#{command}\" でURLを開こうとしましたが、開けませんでした。設定の「表示→URLを開く方法」で、URLを開く方法を設定してください。" end
URLを開くことができるコマンドを返す。
# File core/mui/gtk_extension.rb, line 212 def url_open_command openable_commands = %w{xdg-open open /etc/alternatives/x-www-browser} wellknown_browsers = %w{firefox chromium opera} command = nil catch(:urlopen) do openable_commands.each{ |o| if command_exist?(o) command = o throw :urlopen end } wellknown_browsers.each{ |o| if command_exist?(o) Plugin.activity :system, "この環境で、URLを開くためのコマンドが判別できなかったので、\"#{command}\"を使用します。設定の「表示→URLを開く方法」で、URLを開く方法を設定してください。" command = o throw :urlopen end } end command end