File: dsl.rb

package info (click to toggle)
mikutter 5.0.4%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,700 kB
  • sloc: ruby: 21,307; sh: 181; makefile: 19
file content (33 lines) | stat: -rw-r--r-- 1,099 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# -*- coding: utf-8 -*-
# GUI定義用のDSLを宣言する

module Plugin::GUI
  class << self
    def ui_setting
      UserConfig[:ui_tab_order] || {
        default: {
          default: [:activity] } } end

    # 設定されているタブの位置を返す
    # ==== Args
    # [find_slug] タブのスラッグ
    # ==== Return
    # [ウィンドウスラッグ, ペインスラッグ, タブのインデックス] の配列。
    # 見つからない場合はnil
    def get_tab_order(find_slug)
      ui_setting.each{ |window_slug, panes|
        panes.each{ |pane_slug, tabs|
          return [window_slug, pane_slug, tabs] if tabs.include?(find_slug) } }
      nil end

    # キー _key_ がウィジェット _widget_ の上で押された時に呼び出す
    # ==== Args
    # [key] 押されたキーの名前
    # [widget] キーが押されたウィジェット
    # ==== Return
    # 何かmikutterコマンドが実行されたなら真
    def keypress(key, widget)
      result = Plugin.filtering(:keypress, key, widget, false)
      result && result.last end
  end
end