karabiner 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6223024f8b78b87a4cbd11281079f7a5d6db04e
4
- data.tar.gz: ccf5792596a2e20b69251d8b63f53e305651b98a
3
+ metadata.gz: b8622ef8f018f0acdd26c162ea8215c2b54c7fb4
4
+ data.tar.gz: bf3b45645ec16cc19559d8315f8463c5387721ca
5
5
  SHA512:
6
- metadata.gz: 06936969d2a768b44d5e778b99ec1d06685aae82c56568e57a436cdc9578bf586e8c1d2e3c3662bbb7fe1d701c15fa60520c71bd9bfb01c681c6f07dacb4761f
7
- data.tar.gz: 659c1acc3a4cb3b4e7bb39e00ea7268952c4bc650132fcb0020ad51d3f5c7e38e74bcd36016ae73f05db0b3820fa8ad872509984a500e4e7ae7d8482de2e8b87
6
+ metadata.gz: 9f8f1ff12777f5b3b1ebb8745c99bf27c78622c151513c35d4ca988f588a971360b7bf6e37f506dcd12ac9a5c77d7322a7ef6244c9022fb57a3939c4057df9b3
7
+ data.tar.gz: 68c4176643b0912e7ed92921188a0efd907409b38c822d7a5b510ef56e4f5c5777fa0ae1e03bc666dc2f834b5735b6e8cf8d6def059b45f8d2b964362703de3e
data/README.md CHANGED
@@ -122,6 +122,10 @@ item "Application shortcuts" do
122
122
  remap "C-h", to: invoke("iTerm")
123
123
  end
124
124
 
125
+ item "Copy date" do
126
+ remap "Cmd-d", to: execute("date|pbcopy")
127
+ end
128
+
125
129
  item "Control+PNBF to Up/Down/Left/Right" do
126
130
  remap "C-p", to: "Up"
127
131
  remap "C-n", to: "Down"
data/lib/karabiner.rb CHANGED
@@ -10,7 +10,7 @@ class Karabiner
10
10
 
11
11
  def initialize(config_path)
12
12
  @config_path = config_path
13
- Karabiner::InvokeHistory.clear_histroy
13
+ Karabiner::History.clear_histroy
14
14
  end
15
15
  attr_reader :config_path
16
16
 
@@ -3,11 +3,11 @@ require "karabiner/xml_tree"
3
3
  class Karabiner::Appdef
4
4
  include Karabiner::XmlTree
5
5
 
6
- AVAILABLE_OPTIONS = %i(
6
+ AVAILABLE_OPTIONS = %i[
7
7
  equal
8
8
  prefix
9
9
  suffix
10
- ).freeze
10
+ ].freeze
11
11
 
12
12
  def initialize(appname, options)
13
13
  property = Karabiner::Property.new("appname", appname)
@@ -1,14 +1,15 @@
1
+ require "karabiner/history"
1
2
  require "karabiner/namespace"
2
3
  require "karabiner/property"
3
4
  require "karabiner/remap"
4
- require "karabiner/invoke_history"
5
+ require "karabiner/vkopenurldef"
5
6
 
6
7
  module Karabiner::DSL::Item
7
- AVAILABLE_PROPERTIES = %i(
8
+ AVAILABLE_PROPERTIES = %i[
8
9
  name
9
10
  identifier
10
11
  autogen
11
- ).freeze
12
+ ].freeze
12
13
 
13
14
  def remap(target, options = {})
14
15
  remap = Karabiner::Remap.new(target, options[:to])
@@ -21,8 +22,13 @@ module Karabiner::DSL::Item
21
22
  end
22
23
 
23
24
  def invoke(application)
24
- Karabiner::InvokeHistory.register(application)
25
- "VK_OPEN_URL_APP_#{application.gsub(/ /, '_')}"
25
+ Karabiner::History.register_application(application)
26
+ Karabiner::Vkopenurldef.application_keycode(application)
27
+ end
28
+
29
+ def execute(script)
30
+ Karabiner::History.register_script(script)
31
+ Karabiner::Vkopenurldef.script_keycode(script)
26
32
  end
27
33
 
28
34
  private
@@ -0,0 +1,24 @@
1
+ require "set"
2
+
3
+ module Karabiner::History
4
+ def self.clear_histroy
5
+ registered_applications.clear
6
+ registered_scripts.clear
7
+ end
8
+
9
+ def self.register_application(application)
10
+ registered_applications.add(application)
11
+ end
12
+
13
+ def self.register_script(script)
14
+ registered_scripts.add(script)
15
+ end
16
+
17
+ def self.registered_applications
18
+ @@registered_applications ||= Set.new
19
+ end
20
+
21
+ def self.registered_scripts
22
+ @@registered_scripts ||= Set.new
23
+ end
24
+ end
@@ -5,12 +5,12 @@ class Karabiner::Item
5
5
  include Karabiner::XmlTree
6
6
  include Karabiner::DSL::Item
7
7
 
8
- AVAILABLE_OPTIONS = %i(
8
+ AVAILABLE_OPTIONS = %i[
9
9
  not
10
10
  only
11
11
  config_not
12
12
  config_only
13
- ).freeze
13
+ ].freeze
14
14
 
15
15
  def initialize(name, options = {})
16
16
  @skip_identifier = options.delete(:skip_identifier)
@@ -1,6 +1,6 @@
1
- require "karabiner/invoke_history"
2
- require "karabiner/vkopenurldef"
3
1
  require "karabiner/dsl/root"
2
+ require "karabiner/history"
3
+ require "karabiner/vkopenurldef"
4
4
 
5
5
  class Karabiner::Root
6
6
  include Karabiner::XmlTree
@@ -11,10 +11,8 @@ class Karabiner::Root
11
11
  end
12
12
 
13
13
  def to_xml
14
- Karabiner::InvokeHistory.registered_applications.each do |application|
15
- vkopenurldef = Karabiner::Vkopenurldef.new(application)
16
- add_child(vkopenurldef)
17
- end
14
+ add_registered_applications
15
+ add_registered_scripts
18
16
 
19
17
  [
20
18
  "<?xml version=\"1.0\"?>",
@@ -24,6 +22,20 @@ class Karabiner::Root
24
22
 
25
23
  private
26
24
 
25
+ def add_registered_applications
26
+ Karabiner::History.registered_applications.each do |application|
27
+ vkopenurldef = Karabiner::Vkopenurldef.for_application(application)
28
+ add_child(vkopenurldef)
29
+ end
30
+ end
31
+
32
+ def add_registered_scripts
33
+ Karabiner::History.registered_scripts.each do |script|
34
+ vkopenurldef = Karabiner::Vkopenurldef.for_script(script)
35
+ add_child(vkopenurldef)
36
+ end
37
+ end
38
+
27
39
  def add_config(config)
28
40
  @configs << config
29
41
  end
@@ -1,3 +1,3 @@
1
1
  class Karabiner
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -3,9 +3,27 @@ require "karabiner/xml_tree"
3
3
  class Karabiner::Vkopenurldef
4
4
  include Karabiner::XmlTree
5
5
 
6
- def initialize(application)
7
- name = Karabiner::Property.new("name", "KeyCode::VK_OPEN_URL_APP_#{application.gsub(/ /, "_")}")
8
- url = Karabiner::Property.new("url", "/Applications/#{application}.app", type: "file")
9
- add_child(name, url)
6
+ def self.application_keycode(application)
7
+ "VK_OPEN_URL_APP_#{application.gsub(/ /, "_")}"
8
+ end
9
+
10
+ def self.script_keycode(script)
11
+ "VK_OPEN_URL_SHELL_#{script.gsub(/[^a-zA-Z]/, "_")}"
12
+ end
13
+
14
+ def self.for_application(application)
15
+ self.new.tap do |definition|
16
+ name = Karabiner::Property.new("name", "KeyCode::#{application_keycode(application)}")
17
+ url = Karabiner::Property.new("url", "/Applications/#{application}.app", type: "file")
18
+ definition.add_child(name, url)
19
+ end
20
+ end
21
+
22
+ def self.for_script(script)
23
+ self.new.tap do |definition|
24
+ name = Karabiner::Property.new("name", "KeyCode::#{script_keycode(script)}")
25
+ url = Karabiner::Property.new("url", "<![CDATA[ #{script} ]]>", type: "shell")
26
+ definition.add_child(name, url)
27
+ end
10
28
  end
11
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karabiner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-21 00:00:00.000000000 Z
11
+ date: 2015-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,7 +109,7 @@ files:
109
109
  - lib/karabiner/dsl/item.rb
110
110
  - lib/karabiner/dsl/root.rb
111
111
  - lib/karabiner/group.rb
112
- - lib/karabiner/invoke_history.rb
112
+ - lib/karabiner/history.rb
113
113
  - lib/karabiner/item.rb
114
114
  - lib/karabiner/key.rb
115
115
  - lib/karabiner/namespace.rb
@@ -1,16 +0,0 @@
1
- require "set"
2
- require "karabiner/vkopenurldef"
3
-
4
- module Karabiner::InvokeHistory
5
- def self.clear_histroy
6
- @@registered_applications = Set.new
7
- end
8
-
9
- def self.register(application)
10
- registered_applications.add(application)
11
- end
12
-
13
- def self.registered_applications
14
- @@registered_applications ||= Set.new
15
- end
16
- end