Module: Wasko

Defined in:
lib/wasko.rb,
lib/wasko/iterm.rb,
lib/wasko/palette.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

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
# 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/
  nil
end

.background_colorObject

## Set/Get fonts and colors

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



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

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

.bold_colorObject



56
57
58
# File 'lib/wasko.rb', line 56

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

.current_applicationObject

Gets the current active application



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

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

.cursor_colorObject



64
65
66
# File 'lib/wasko.rb', line 64

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

.fontObject



96
97
98
# File 'lib/wasko.rb', line 96

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

.font_nameObject



80
81
82
# File 'lib/wasko.rb', line 80

def font_name
  advanced_typing_apparatus.font_name
end

.font_sizeObject



88
89
90
# File 'lib/wasko.rb', line 88

def font_size
  advanced_typing_apparatus.font_size
end

.foreground_colorObject



48
49
50
# File 'lib/wasko.rb', line 48

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



143
144
145
146
147
148
149
150
151
# File 'lib/wasko.rb', line 143

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



108
109
110
# File 'lib/wasko.rb', line 108

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



124
125
126
# File 'lib/wasko.rb', line 124

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



132
133
134
# File 'lib/wasko.rb', line 132

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



116
117
118
# File 'lib/wasko.rb', line 116

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



128
129
130
# File 'lib/wasko.rb', line 128

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



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

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



136
137
138
# File 'lib/wasko.rb', line 136

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



120
121
122
# File 'lib/wasko.rb', line 120

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



44
45
46
# File 'lib/wasko.rb', line 44

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

.set_bold_color(color) ⇒ Object



60
61
62
# File 'lib/wasko.rb', line 60

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



68
69
70
# File 'lib/wasko.rb', line 68

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



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

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



84
85
86
# File 'lib/wasko.rb', line 84

def set_font_name(name)
  advanced_typing_apparatus.set_font_name name
end

.set_font_size(size) ⇒ Object



92
93
94
# File 'lib/wasko.rb', line 92

def set_font_size(size)
   advanced_typing_apparatus.set_font_size size
end

.set_foreground_color(color) ⇒ Object



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

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



154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/wasko.rb', line 154

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

  %w(black red green yellow blue magenta cyan white).each do |color|
    eval "set_ansi_#{color}_color p.colors[:#{color}].html"
  end
end

.set_selected_text_color(color) ⇒ Object



72
73
74
# File 'lib/wasko.rb', line 72

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



76
77
78
# File 'lib/wasko.rb', line 76

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