Module: Wasko

Defined in:
lib/wasko.rb,
lib/wasko/iterm.rb,
lib/wasko/palette.rb,
lib/wasko/version.rb,
lib/wasko/terminal.rb,
lib/wasko/applescript.rb,
lib/wasko/configuration.rb,
bin/wasko,
lib/wasko/color.rb

Defined Under Namespace

Modules: Palette Classes: Applescript, CLI, Color, Configuration, Iterm, Terminal

Constant Summary collapse

VERSION =
"0.2.1"

Class Method Summary collapse

Class Method Details

.advanced_typing_apparatusObject

Currently this only returns Apple’s ‘Terminal.app`, in the future this could be used to support other Terminals as well.



22
23
24
25
26
27
# File 'lib/wasko.rb', line 22

def advanced_typing_apparatus
  return Wasko::Terminal if current_application =~ /Terminal.app/
  return Wasko::Iterm if current_application =~ /iTerm.app/
  # Fall back to Terminal for CI
  return Wasko::Terminal
end

.background_colorObject

## Set/Get fonts and colors

These all call the ‘advanced_typing_apparatus` and do exactly what they say on the tin.



41
42
43
# File 'lib/wasko.rb', line 41

def background_color
  ::Color::RGB.from_applescript(advanced_typing_apparatus.background_color).html
end

.bold_colorObject



66
67
68
# File 'lib/wasko.rb', line 66

def bold_color
  ::Color::RGB.from_applescript(advanced_typing_apparatus.bold_text_color).html
end

.current_applicationObject

Gets the current active application



30
31
32
33
34
# File 'lib/wasko.rb', line 30

def current_application
  Wasko::Applescript.run do
    "get name of (info for (path to frontmost application))"
  end
end

.cursor_colorObject



74
75
76
# File 'lib/wasko.rb', line 74

def cursor_color
  ::Color::RGB.from_applescript(advanced_typing_apparatus.cursor_color).html
end

.fontObject



106
107
108
# File 'lib/wasko.rb', line 106

def font
  "#{advanced_typing_apparatus.font_name}, #{advanced_typing_apparatus.font_size}"
end

.font_nameObject



90
91
92
# File 'lib/wasko.rb', line 90

def font_name
  advanced_typing_apparatus.font_name
end

.font_sizeObject



98
99
100
# File 'lib/wasko.rb', line 98

def font_size
  advanced_typing_apparatus.font_size
end

.foreground_colorObject



58
59
60
# File 'lib/wasko.rb', line 58

def foreground_color
  ::Color::RGB.from_applescript(advanced_typing_apparatus.normal_text_color).html
end

.paletteObject

## Palette

Returns a string representation of the current settings



153
154
155
156
157
158
159
160
161
# File 'lib/wasko.rb', line 153

def palette
  [
   "Background: #{background_color}",
   "Foreground: #{foreground_color}",
   "Bold Text : #{bold_color}",
   "Cursor    : #{cursor_color}",
   "Font      : #{font}"
  ].join("\n")
end

.set_ansi_black_color(color) ⇒ Object

### Ansi Colors



118
119
120
# File 'lib/wasko.rb', line 118

def set_ansi_black_color(color)
  advanced_typing_apparatus.set_ansi_black_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_blue_color(color) ⇒ Object



134
135
136
# File 'lib/wasko.rb', line 134

def set_ansi_blue_color(color)
  advanced_typing_apparatus.set_ansi_blue_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_cyan_color(color) ⇒ Object



142
143
144
# File 'lib/wasko.rb', line 142

def set_ansi_cyan_color(color)
  advanced_typing_apparatus.set_ansi_cyan_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_green_color(color) ⇒ Object



126
127
128
# File 'lib/wasko.rb', line 126

def set_ansi_green_color(color)
  advanced_typing_apparatus.set_ansi_green_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_magenta_color(color) ⇒ Object



138
139
140
# File 'lib/wasko.rb', line 138

def set_ansi_magenta_color(color)
  advanced_typing_apparatus.set_ansi_magenta_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_red_color(color) ⇒ Object



122
123
124
# File 'lib/wasko.rb', line 122

def set_ansi_red_color(color)
  advanced_typing_apparatus.set_ansi_red_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_white_color(color) ⇒ Object



146
147
148
# File 'lib/wasko.rb', line 146

def set_ansi_white_color(color)
  advanced_typing_apparatus.set_ansi_white_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_ansi_yellow_color(color) ⇒ Object



130
131
132
# File 'lib/wasko.rb', line 130

def set_ansi_yellow_color(color)
  advanced_typing_apparatus.set_ansi_yellow_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_background_color(color) ⇒ Object

Takes a color and mixes it with the original background color, so the newly generated color should look kinda like the other.

color - A string with a css or hex color

Sets the background color



51
52
53
54
55
56
# File 'lib/wasko.rb', line 51

def set_background_color(color)
  original_background = ::Color::RGB.from_applescript(advanced_typing_apparatus.startup_background_color).html
  palette = Wasko::Palette::TheOriginal.new(original_background)
  new_color = palette.base_color_with_tint(color)
  advanced_typing_apparatus.set_background_color(new_color.to_applescript)
end

.set_bold_color(color) ⇒ Object



70
71
72
# File 'lib/wasko.rb', line 70

def set_bold_color(color)
  advanced_typing_apparatus.set_bold_text_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_cursor_color(color) ⇒ Object



78
79
80
# File 'lib/wasko.rb', line 78

def set_cursor_color(color)
  advanced_typing_apparatus.set_cursor_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_font(font_size = 14, name = nil) ⇒ Object



110
111
112
113
114
# File 'lib/wasko.rb', line 110

def set_font(font_size = 14, name = nil)
  name = font_name if name.empty?
  set_font_size font_size
  set_font_name name
end

.set_font_name(name) ⇒ Object



94
95
96
# File 'lib/wasko.rb', line 94

def set_font_name(name)
  advanced_typing_apparatus.set_font_name name
end

.set_font_size(size) ⇒ Object



102
103
104
# File 'lib/wasko.rb', line 102

def set_font_size(size)
   advanced_typing_apparatus.set_font_size size
end

.set_foreground_color(color) ⇒ Object



62
63
64
# File 'lib/wasko.rb', line 62

def set_foreground_color(color)
  advanced_typing_apparatus.set_normal_text_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_palette(color_string) ⇒ Object

Try to set a sensible palette from a base color



164
165
166
167
168
169
170
171
172
173
# File 'lib/wasko.rb', line 164

def set_palette(color_string)
  p = Wasko::Palette::TheOriginal.new(color_string)

  set_background_color p.colors[:base].html
  set_foreground_color p.colors[:foreground].html
  set_bold_color p.colors[:bold].html
  set_cursor_color p.colors[:cursor].html
  set_selected_text_color p.colors[:selected].html
  set_selection_color p.colors[:selection].html
end

.set_selected_text_color(color) ⇒ Object



82
83
84
# File 'lib/wasko.rb', line 82

def set_selected_text_color(color)
  advanced_typing_apparatus.set_selected_text_color(Wasko::Color.color_from_string(color).to_applescript)
end

.set_selection_color(color) ⇒ Object



86
87
88
# File 'lib/wasko.rb', line 86

def set_selection_color(color)
  advanced_typing_apparatus.set_selection_color(Wasko::Color.color_from_string(color).to_applescript)
end