topinambour 1.0.13 → 1.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -2
- data/lib/font_selector.rb +2 -3
- data/lib/notebook.rb +1 -1
- data/lib/terminal.rb +16 -5
- data/lib/terminal_chooser.rb +173 -170
- data/lib/window.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0096f33f7deda14242cf4d17ff738edcd8596a7
|
4
|
+
data.tar.gz: 3495922b871cf7a0b9bacab870c34452cafb21c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82c72cf7a2ddbe9ded6b50c657587565752b0ee0647fc19be298e7b6b2176a755d93d7a7c910341ba1d1eb0c65dd0f143e0fa2afbbb966757a57741531aa74e5
|
7
|
+
data.tar.gz: aa040c19ca5f66c91a3d43be69e15bf7f7f876b5a8c7ebf712ef3bbb45a8fdc0213eb69de618affc1a59ce68a703f9a843127f8deeabef3eb97ba46a310d2568
|
data/README.md
CHANGED
@@ -135,8 +135,10 @@ the ruby gem binaries (for example).
|
|
135
135
|
|
136
136
|
export PATH="${PATH}:/home/${USER}/bin:${HOME}/gem/ruby/2.3.0/bin"
|
137
137
|
|
138
|
-
|
139
|
-
|
138
|
+
## TODOs
|
139
|
+
* find out why there is the warning message related to the Vte::Regex.
|
140
|
+
* http://www.pcre.org/current/doc/html/pcre2.html
|
141
|
+
* https://www.regexbuddy.com/pcre.html
|
140
142
|
## Old version (before 1.0.11)
|
141
143
|
|
142
144
|
<a href="https://raw.github.com/cedlemo/topinambour/master/terminal_selector_screen.gif"><img src="https://raw.github.com/cedlemo/topinambour/master/terminal_selector_screen.gif" style="width:576px;height:324px;" alt="Color selection gif"></a>
|
data/lib/font_selector.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2015-
|
1
|
+
# Copyright 2015-2017 Cedric LE MOIGNE, cedlemo@gmx.com
|
2
2
|
# This file is part of Topinambour.
|
3
3
|
#
|
4
4
|
# Topinambour is free software: you can redistribute it and/or modify
|
@@ -33,8 +33,7 @@ class TopinambourFontSelector < Gtk::Box
|
|
33
33
|
font_button.use_font = true
|
34
34
|
font_button.use_size = false
|
35
35
|
font_button.signal_connect "font-set" do
|
36
|
-
|
37
|
-
@window.notebook.current.term.font = font_desc
|
36
|
+
@window.notebook.current.term.font = font_button.font_name
|
38
37
|
end
|
39
38
|
pack_start(font_button, :expand => false, :fill => false, :padding => 0)
|
40
39
|
|
data/lib/notebook.rb
CHANGED
@@ -86,7 +86,7 @@ class TopinambourNotebook < Gtk::Notebook
|
|
86
86
|
w, h)
|
87
87
|
cr = Cairo::Context.new(surface)
|
88
88
|
current.term.draw(cr)
|
89
|
-
pix = surface.to_pixbuf(0, 0, w, h)
|
89
|
+
pix = surface.to_pixbuf(:src_x => 0, :src_y => 0, :width => w, :height => h)
|
90
90
|
current.term.preview = pix if pix
|
91
91
|
end
|
92
92
|
|
data/lib/terminal.rb
CHANGED
@@ -91,7 +91,8 @@ class TopinambourTerminal < Vte::Terminal
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def font=(font_str)
|
94
|
-
application.settings["font"] =
|
94
|
+
application.settings["font"] = font_str
|
95
|
+
font = Pango::FontDescription.new(font_str)
|
95
96
|
set_font(font)
|
96
97
|
@font = font
|
97
98
|
end
|
@@ -152,10 +153,20 @@ class TopinambourTerminal < Vte::Terminal
|
|
152
153
|
:CSS_COLORS]
|
153
154
|
@regexes.each do |name|
|
154
155
|
regex_name = TopinambourRegex.const_get(name)
|
155
|
-
flags = [
|
156
|
-
|
157
|
-
|
158
|
-
|
156
|
+
flags = [:optimize,
|
157
|
+
:multiline]
|
158
|
+
if Vte::Regex
|
159
|
+
# PCRE2_UTF | PCRE2_NO_UTF_CHECK | PCRE2_MULTILINE
|
160
|
+
pcre2_utf = "0x00080000".to_i(16)
|
161
|
+
pcre2_no_utf_check = "0x40000000".to_i(16)
|
162
|
+
pcre2_multiline = "0x00000400".to_i(16)
|
163
|
+
flags = pcre2_utf | pcre2_no_utf_check | pcre2_multiline
|
164
|
+
regex = Vte::Regex.new(regex_name, flags, :for_match => true)
|
165
|
+
match_add_regex(regex, 0)
|
166
|
+
else
|
167
|
+
regex = GLib::Regex.new(regex_name, :compile_options => flags)
|
168
|
+
match_add_gregex(regex, 0)
|
169
|
+
end
|
159
170
|
end
|
160
171
|
end
|
161
172
|
|
data/lib/terminal_chooser.rb
CHANGED
@@ -94,6 +94,9 @@ class TopinambourTermChooser < Gtk::ScrolledWindow
|
|
94
94
|
@notebook.children.each_with_index do |child, i|
|
95
95
|
row = generate_list_box_row(child.term, i)
|
96
96
|
@listbox.insert(row, i)
|
97
|
+
row.close_button.signal_connect "clicked" do |widget|
|
98
|
+
close_button_action(widget)
|
99
|
+
end
|
97
100
|
end
|
98
101
|
current_row = @listbox.get_row_at_index(@notebook.current_page)
|
99
102
|
@listbox.select_row(current_row)
|
@@ -104,217 +107,147 @@ class TopinambourTermChooser < Gtk::ScrolledWindow
|
|
104
107
|
@notebook.hidden.each_with_index do |child, i|
|
105
108
|
row = generate_hidden_list_box_row(child.term, i)
|
106
109
|
@listbox_hidden.insert(row, i)
|
110
|
+
row.close_button.signal_connect "clicked" do |widget|
|
111
|
+
close_button_action(widget)
|
112
|
+
end
|
107
113
|
end
|
108
114
|
end
|
109
115
|
|
110
|
-
def
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
hbox.pack_start(button, :expand => false, :fill => false, :padding => 6)
|
123
|
-
list_box_row.add(hbox)
|
124
|
-
end
|
125
|
-
|
126
|
-
def _generate_hbox_list_box_row(list_box_row, term, index)
|
127
|
-
hbox = Gtk::Box.new(:horizontal, 6)
|
128
|
-
label = leaning_label(index)
|
129
|
-
hbox.pack_start(label, :expand => false, :fill => false, :padding => 6)
|
130
|
-
button = generate_preview_button(term, list_box_row)
|
131
|
-
add_drag_and_drop_functionalities(button)
|
132
|
-
hbox.pack_start(button, :expand => false, :fill => false, :padding => 6)
|
133
|
-
label = generate_label(term)
|
134
|
-
hbox.pack_start(label, :expand => true, :fill => false, :padding => 6)
|
135
|
-
button = generate_hidden_list_box_row_close(list_box_row)
|
136
|
-
hbox.pack_start(button, :expand => false, :fill => false, :padding => 6)
|
137
|
-
hbox
|
138
|
-
end
|
139
|
-
|
140
|
-
def generate_hidden_list_box_row_close(list_box_row)
|
141
|
-
button = Gtk::Button.new(:icon_name => "window-close-symbolic",
|
142
|
-
:size => :button)
|
143
|
-
button.relief = :none
|
144
|
-
button.signal_connect "clicked" do
|
145
|
-
@notebook.hidden.delete_at(list_box_row.index)
|
146
|
-
list_box_row.destroy
|
116
|
+
def close_button_action(button)
|
117
|
+
row = button.parent.parent
|
118
|
+
listbox = row.parent
|
119
|
+
if listbox == @listbox
|
120
|
+
tab = @notebook.get_nth_page(row.index)
|
121
|
+
@notebook.n_pages == 1 ? @window.quit_gracefully : @notebook.remove(tab)
|
122
|
+
row.destroy
|
123
|
+
update_tabs_num_labels
|
124
|
+
elsif listbox == @listbox_hidden
|
125
|
+
@notebook.hidden.delete_at(row.index)
|
126
|
+
row.destroy
|
127
|
+
update_tabs_num_labels
|
147
128
|
end
|
148
|
-
button
|
149
129
|
end
|
150
130
|
|
151
|
-
def
|
152
|
-
|
153
|
-
|
154
|
-
label
|
131
|
+
def generate_list_box_row(term, index)
|
132
|
+
list_box_row = ChooserListRow.new(term, index, @notebook)
|
133
|
+
generate_hide_button(list_box_row)
|
155
134
|
end
|
156
135
|
|
157
|
-
def
|
158
|
-
|
159
|
-
|
160
|
-
button.signal_connect("clicked") do
|
161
|
-
if list_box_row.parent == @listbox
|
162
|
-
@notebook.current_page = list_box_row.index
|
163
|
-
end
|
164
|
-
end
|
165
|
-
button
|
136
|
+
def generate_hidden_list_box_row(term, index)
|
137
|
+
list_box_row = ChooserListRow.new(term, index, @notebook)
|
138
|
+
generate_show_button(list_box_row)
|
166
139
|
end
|
167
140
|
|
168
|
-
def
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
141
|
+
def generate_show_button(list_box_row)
|
142
|
+
list_box_row.generate_new_action_button("Show")
|
143
|
+
list_box_row.action_button.signal_connect "clicked" do
|
144
|
+
tab_num = list_box_row.index
|
145
|
+
@window.notebook.unhide(tab_num)
|
146
|
+
list_box_row_bkp = generate_hide_button(list_box_row)
|
147
|
+
@listbox_hidden.remove(list_box_row)
|
148
|
+
@listbox.insert(list_box_row_bkp, -1)
|
149
|
+
update_tabs_num_labels
|
150
|
+
end
|
151
|
+
list_box_row
|
174
152
|
end
|
175
153
|
|
176
154
|
def generate_hide_button(list_box_row)
|
177
|
-
|
178
|
-
|
179
|
-
button.vexpand = false
|
180
|
-
button.signal_connect "clicked" do
|
155
|
+
list_box_row.generate_new_action_button("Hide")
|
156
|
+
list_box_row.action_button.signal_connect "clicked" do
|
181
157
|
num = list_box_row.index
|
182
158
|
@notebook.n_pages == 1 ? @window.quit_gracefully : @notebook.hide(num)
|
183
|
-
list_box_row_bkp =
|
159
|
+
list_box_row_bkp = generate_show_button(list_box_row)
|
184
160
|
@listbox.remove(list_box_row)
|
185
161
|
@listbox_hidden.insert(list_box_row_bkp, -1)
|
186
162
|
update_tabs_num_labels
|
187
163
|
end
|
188
|
-
|
164
|
+
list_box_row
|
189
165
|
end
|
190
166
|
|
191
|
-
def
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
tab_num = list_box_row.index
|
197
|
-
@window.notebook.unhide(tab_num)
|
198
|
-
list_box_row_bkp = change_button_show_to_hide(list_box_row)
|
199
|
-
@listbox_hidden.remove(list_box_row)
|
200
|
-
@listbox.insert(list_box_row_bkp, -1)
|
201
|
-
update_tabs_num_labels
|
167
|
+
def update_tabs_num_labels
|
168
|
+
@listbox.children.each_with_index do |row, i|
|
169
|
+
hbox = row.children[0]
|
170
|
+
label = hbox.children[0]
|
171
|
+
label.text = "tab. #{i + 1}"
|
202
172
|
end
|
203
|
-
|
204
|
-
end
|
205
|
-
|
206
|
-
def change_button_hide_to_show(list_box_row)
|
207
|
-
list_box_row_bkp = list_box_row
|
208
|
-
container = list_box_row_bkp.children[0]
|
209
|
-
hide_button = list_box_row_bkp.children[0].children[4]
|
210
|
-
container.remove(hide_button)
|
211
|
-
show_button = generate_show_button(list_box_row_bkp)
|
212
|
-
show_button.show
|
213
|
-
container.pack_start(show_button,
|
214
|
-
:expand => false, :fill => false, :padding => 6)
|
215
|
-
list_box_row_bkp
|
216
|
-
end
|
217
|
-
|
218
|
-
def change_button_show_to_hide(list_box_row)
|
219
|
-
list_box_row_bkp = list_box_row
|
220
|
-
container = list_box_row_bkp.children[0]
|
221
|
-
show_button = list_box_row_bkp.children[0].children[4]
|
222
|
-
container.remove(show_button)
|
223
|
-
hide_button = generate_hide_button(list_box_row_bkp)
|
224
|
-
hide_button.show
|
225
|
-
container.pack_start(hide_button,
|
226
|
-
:expand => false, :fill => false, :padding => 6)
|
227
|
-
list_box_row_bkp
|
173
|
+
update_hidden_tabs_num_labels
|
228
174
|
end
|
229
175
|
|
230
|
-
def
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
tab = @notebook.get_nth_page(list_box_row.index)
|
236
|
-
@notebook.n_pages == 1 ? @window.quit_gracefully : @notebook.remove(tab)
|
237
|
-
list_box_row.destroy
|
238
|
-
update_tabs_num_labels
|
176
|
+
def update_hidden_tabs_num_labels
|
177
|
+
@listbox_hidden.children.each_with_index do |row, i|
|
178
|
+
hbox = row.children[0]
|
179
|
+
label = hbox.children[0]
|
180
|
+
label.text = "tab. #{i + 1}"
|
239
181
|
end
|
240
|
-
button
|
241
182
|
end
|
183
|
+
end
|
242
184
|
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
185
|
+
class ChooserListRow < Gtk::ListBoxRow
|
186
|
+
attr_reader :close_button
|
187
|
+
def initialize(term, index, notebook)
|
188
|
+
super()
|
189
|
+
@notebook = notebook
|
190
|
+
@hbox = Gtk::Box.new(:horizontal, 6)
|
191
|
+
fill_hbox_list_box_row(term, index)
|
192
|
+
generate_action_button
|
193
|
+
add(@hbox)
|
252
194
|
end
|
253
195
|
|
254
|
-
def
|
255
|
-
|
256
|
-
label.text = widget.buffer.text
|
257
|
-
term.custom_title = widget.buffer.text
|
258
|
-
popup.destroy
|
259
|
-
end
|
196
|
+
def action_button
|
197
|
+
@hbox.children[4]
|
260
198
|
end
|
261
199
|
|
262
|
-
def
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
200
|
+
def generate_new_action_button(label)
|
201
|
+
button = Gtk::Button.new(:label => label)
|
202
|
+
button.valign = :center
|
203
|
+
button.vexpand = false
|
204
|
+
@hbox.remove(action_button)
|
205
|
+
@hbox.pack_start(button,
|
206
|
+
:expand => false, :fill => false, :padding => 6)
|
207
|
+
show_all
|
269
208
|
end
|
270
209
|
|
271
|
-
|
272
|
-
entry = Gtk::Entry.new
|
273
|
-
entry.max_width_chars = 50
|
274
|
-
entry.buffer.text = label.text
|
275
|
-
entry.set_icon_from_icon_name(:secondary, "edit-clear-symbolic")
|
276
|
-
entry
|
277
|
-
end
|
210
|
+
private
|
278
211
|
|
279
|
-
def
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
212
|
+
def fill_hbox_list_box_row(term, index)
|
213
|
+
label = leaning_label(index)
|
214
|
+
@hbox.pack_start(label, :expand => false, :fill => false, :padding => 6)
|
215
|
+
@prev_button = generate_preview_button(term)
|
216
|
+
add_drag_and_drop_functionalities
|
217
|
+
@hbox.pack_start(@prev_button, :expand => false, :fill => false, :padding => 6)
|
218
|
+
label = EditableLabel.new(term)
|
219
|
+
@hbox.pack_start(label, :expand => true, :fill => false, :padding => 6)
|
220
|
+
generate_close_button
|
221
|
+
@hbox.pack_start(@close_button, :expand => false, :fill => false, :padding => 6)
|
222
|
+
@hbox
|
286
223
|
end
|
287
224
|
|
288
|
-
def
|
289
|
-
label = Gtk::Label.new(
|
290
|
-
label.
|
291
|
-
label.selectable = true
|
292
|
-
label.signal_connect "button-release-event" do |w, e|
|
293
|
-
generate_label_popup(w, e, term)
|
294
|
-
end
|
225
|
+
def leaning_label(index)
|
226
|
+
label = Gtk::Label.new("tab. #{index + 1}")
|
227
|
+
label.angle = 45
|
295
228
|
label
|
296
229
|
end
|
297
230
|
|
298
|
-
def
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
231
|
+
def generate_preview_button(child)
|
232
|
+
button = Gtk::Button.new
|
233
|
+
button.image = generate_preview_image(child.preview)
|
234
|
+
button.signal_connect("clicked") do
|
235
|
+
@notebook.current_page = index parent.class == Gtk::ListBox
|
303
236
|
end
|
304
|
-
|
237
|
+
button
|
305
238
|
end
|
306
239
|
|
307
|
-
def
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
240
|
+
def generate_preview_image(pixbuf)
|
241
|
+
# scaled_pix = pixbuf.scale(150, 75, :bilinear)
|
242
|
+
scaled_pix = pixbuf.scale(200, 100, :bilinear)
|
243
|
+
img = Gtk::Image.new(:pixbuf => scaled_pix)
|
244
|
+
img.show
|
245
|
+
img
|
313
246
|
end
|
314
247
|
|
315
|
-
def add_drag_and_drop_functionalities
|
316
|
-
add_dnd_source(
|
317
|
-
add_dnd_destination(
|
248
|
+
def add_drag_and_drop_functionalities
|
249
|
+
add_dnd_source(@prev_button)
|
250
|
+
add_dnd_destination(@prev_button)
|
318
251
|
end
|
319
252
|
|
320
253
|
def add_dnd_source(button)
|
@@ -382,13 +315,83 @@ class TopinambourTermChooser < Gtk::ScrolledWindow
|
|
382
315
|
end
|
383
316
|
|
384
317
|
def drag_image_and_reorder_terms(src_index, dest_index)
|
385
|
-
dragged = @
|
386
|
-
@
|
387
|
-
@
|
318
|
+
dragged = @notebook.get_nth_page(src_index)
|
319
|
+
@notebook.reorder_child(dragged, dest_index)
|
320
|
+
@notebook.children.each_with_index do |child, i|
|
388
321
|
list_box_row = @listbox.get_row_at_index(i)
|
389
322
|
row_h_box = list_box_row.children[0]
|
390
323
|
row_h_box.children[1].image = generate_preview_image(child.term.preview)
|
391
324
|
row_h_box.children[2].text = child.term.terminal_title
|
392
325
|
end
|
393
326
|
end
|
327
|
+
|
328
|
+
def generate_close_button
|
329
|
+
@close_button = Gtk::Button.new(:icon_name => "window-close-symbolic",
|
330
|
+
:size => :button)
|
331
|
+
@close_button.relief = :none
|
332
|
+
end
|
333
|
+
|
334
|
+
def generate_action_button
|
335
|
+
action_button = Gtk::Button.new(:label => "")
|
336
|
+
action_button.valign = :center
|
337
|
+
action_button.vexpand = false
|
338
|
+
@hbox.pack_start(action_button,
|
339
|
+
:expand => false, :fill => false, :padding => 6)
|
340
|
+
end
|
341
|
+
end
|
342
|
+
|
343
|
+
class EditableLabel < Gtk::Label
|
344
|
+
def initialize(term)
|
345
|
+
super(term.terminal_title)
|
346
|
+
set_halign(:start)
|
347
|
+
set_selectable(true)
|
348
|
+
signal_connect "button-release-event" do |w, e|
|
349
|
+
generate_label_popup(w, e, term)
|
350
|
+
end
|
351
|
+
label
|
352
|
+
end
|
353
|
+
|
354
|
+
def generate_label_popup(label, event, term)
|
355
|
+
initialize_entry_popup(label)
|
356
|
+
@popup = Gtk::Popover.new
|
357
|
+
add_label_popup_entry_activate_signal(label, term)
|
358
|
+
add_label_popup_entry_icon_release(label, term)
|
359
|
+
@popup.add(@entry)
|
360
|
+
set_popup_position(label, event)
|
361
|
+
end
|
362
|
+
|
363
|
+
def initialize_entry_popup(label)
|
364
|
+
@entry = Gtk::Entry.new
|
365
|
+
@entry.max_width_chars = 50
|
366
|
+
@entry.buffer.text = label.text
|
367
|
+
@entry.set_icon_from_icon_name(:secondary, "edit-clear-symbolic")
|
368
|
+
end
|
369
|
+
|
370
|
+
def add_label_popup_entry_icon_release(label, term)
|
371
|
+
@entry.signal_connect "icon-release" do |widget, position|
|
372
|
+
if position == :secondary
|
373
|
+
term.custom_title = nil
|
374
|
+
label.text = term.window_title
|
375
|
+
term.toplevel.current_label.text = label.text
|
376
|
+
widget.buffer.text = label.text
|
377
|
+
end
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
def add_label_popup_entry_activate_signal(label, term)
|
382
|
+
@entry.signal_connect "activate" do |widget|
|
383
|
+
label.text = widget.buffer.text
|
384
|
+
term.custom_title = widget.buffer.text
|
385
|
+
@popup.destroy
|
386
|
+
end
|
387
|
+
end
|
388
|
+
|
389
|
+
def set_popup_position(label, event)
|
390
|
+
x, y = event.window.coords_to_parent(event.x, event.y)
|
391
|
+
rect = Gdk::Rectangle.new(x - label.allocation.x, y - label.allocation.y,
|
392
|
+
1, 1)
|
393
|
+
@popup.pointing_to = rect
|
394
|
+
@popup.relative_to = label
|
395
|
+
@popup.show_all
|
396
|
+
end
|
394
397
|
end
|
data/lib/window.rb
CHANGED
@@ -86,11 +86,11 @@ class TopinambourWindow < Gtk::ApplicationWindow
|
|
86
86
|
Gtk::AboutDialog.show(self,
|
87
87
|
"authors" => ["Cedric Le Moigne <cedlemo@gmx.com>"],
|
88
88
|
"comments" => "Terminal Emulator based on the ruby bindings of Gtk3 and Vte3",
|
89
|
-
"copyright" => "Copyright (C) 2015-
|
89
|
+
"copyright" => "Copyright (C) 2015-2017 Cedric Le Moigne",
|
90
90
|
"license" => "This program is licenced under the licence GPL-3.0 and later.",
|
91
91
|
"logo_icon_name" => "utilities-terminal-symbolic",
|
92
92
|
"program_name" => "Topinambour",
|
93
|
-
"version" => "1.0.
|
93
|
+
"version" => "1.0.14",
|
94
94
|
"website" => "https://github.com/cedlemo/topinambour",
|
95
95
|
"website_label" => "Topinambour github repository"
|
96
96
|
)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: topinambour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cedric LE MOIGNE
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vte3
|
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
version: '0'
|
88
88
|
requirements: []
|
89
89
|
rubyforge_project:
|
90
|
-
rubygems_version: 2.6.
|
90
|
+
rubygems_version: 2.6.13
|
91
91
|
signing_key:
|
92
92
|
specification_version: 4
|
93
93
|
summary: Ruby-gnome2 Terminal emulator
|