module Gtk

TODO: timelineからコピペで作ったからリファクタリングしてモジュールを作る

Web上の画像をレンダリングできる。 レンダリング中は読み込み中の代替イメージが表示され、ロードが終了したら指定された画像が表示される。 メモリキャッシュ、ストレージキャッシュがついてる。

Attributes

exception[RW]

Public Class Methods

keyname(key) click to toggle source
# 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
openurl(url) click to toggle source
# 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_open_command() click to toggle source

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