topinambour 1.0.16 → 2.0.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
- SHA1:
3
- metadata.gz: f5c93eafb8c228baa405d2d3d3ef937a3c4cfb82
4
- data.tar.gz: 8a2f504b545bc51830cb07216df766e40a50459b
2
+ SHA256:
3
+ metadata.gz: 8f2671582f944b01b92f69e7e4bca371fdce5521443345a1ee35192b7a010bf4
4
+ data.tar.gz: 5fdd3ff4575fc9b5d687072a74429c6572947099c671ef5859ff8d198517e50e
5
5
  SHA512:
6
- metadata.gz: 0a86353ef799af18b34f4f3b4ab43538f3e6a2e685b670d08d88d7b514def855a64c43a7c3f594e0c97dae5142305762aa9ffc0a87a1332efa0664e49cd76884
7
- data.tar.gz: d4dde72409c9e839451f48fe9388f1f5c249d6416b8cad12f0ec703cbf19cb97eaa85de719d1b88cb22687761a65e4b6f00aab10db468c7c3ef76cfdfb243dc8
6
+ metadata.gz: 2a5fda92705259ddef1768140534f521af67dba6f062e3c4b5166e30539dd89b9bbd5b750a998d13aacd29f80e2dd99bec74b987377199726a22cad05ad2de83
7
+ data.tar.gz: 8710cfd3701824f4a27a5176ec4da70f015519d1b58ac99f92e9d74e7bc3c0b71312e55e9f9d51ad783f732ba7d4470e0929549303ae43884211bf7636a004fe
data/README.md CHANGED
@@ -3,12 +3,11 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/topinambour.svg)](https://badge.fury.io/rb/topinambour)
4
4
  [![Code Climate](https://codeclimate.com/github/cedlemo/topinambour/badges/gpa.svg)](https://codeclimate.com/github/cedlemo/topinambour)
5
5
 
6
- <a href="https://raw.github.com/cedlemo/topinambour/master/screenshot_terminal_chooser.png"><img src="https://raw.github.com/cedlemo/topinambour/master/screenshot_terminal_chooser.png" alt="Topinambour Preview"></a>
7
-
8
6
  ## Introduction
9
- Topinambour is a Terminal written with the **Gtk3** and **Vte3** ruby bindings from the project [Ruby-GNOME2](https://github.com/ruby-gnome2/ruby-gnome2).
7
+ Topinambour is a simple Terminal written with the **Gtk3** and **Vte3** ruby bindings from the project [Ruby-GNOME2](https://github.com/ruby-gnome2/ruby-gnome2). It just provides one windows with one Vte terminal. If you need tab management, windows splitting, session management,
8
+ uses [tmux](https://github.com/tmux/tmux/wiki) with it.
10
9
 
11
- ### Install
10
+ ### Install
12
11
 
13
12
  gem install topinambour
14
13
 
@@ -19,40 +18,20 @@ Topinambour is a Terminal written with the **Gtk3** and **Vte3** ruby bindings f
19
18
 
20
19
  ## Features
21
20
 
22
- <a href="https://raw.github.com/cedlemo/topinambour/master/screenshot_color_scheme.png"><img src="https://raw.github.com/cedlemo/topinambour/master/screenshot_color_scheme.png" alt="Topinambour Preview"></a>
23
-
24
- * supports tabs
25
- * tabs can be reordered or selected through the preview mode ( `Shift + Ctrl + o` ).
26
- * each tab can be named.
27
- * the theme can be done via a Css file, there is a load button that allow to reload the Css file when needed.
21
+ * the Gtk theme can be modified via a Css file (~/.config/topinambour/topinambour.css).
28
22
  * terminal colors can be changed on the fly and saved.
29
23
  * terminal font can be changed on the fly and saved.
30
- * in the terminals, some patterns can be clicked (urls, emails, color names ...) in order to launch the appropriate application or a related dialog window.
24
+ * in the terminal, some patterns can be clicked (urls, emails, color names ...)
25
+ in order to launch the appropriate application or a related dialog window.
31
26
 
32
27
  ## Shortcuts
33
28
 
34
- <a href="https://raw.github.com/cedlemo/topinambour/master/screenshot_shortcuts.png"><img src="https://raw.github.com/cedlemo/topinambour/master/screenshot_shortcuts.png" alt="Topinambour Shortcuts"></a>
35
-
36
- * `Shift + Ctrl + t` new tab
37
-
38
29
  * `Shift + Ctrl + q` quit Topinambour
39
30
 
40
- * `Shift + Ctrl + w` close current tab
41
-
42
- * `Shift + Ctrl + left` previous tab
43
-
44
- * `Shift + Ctrl + right` next tab
45
-
46
31
  * `Shift + Ctrl + c` display color selectors for the vte in overlay mod (Esc to leave)
47
32
 
48
33
  * `Shift + Ctrl + f` display font selector for the vte in overlay mod (Esc to leave)
49
34
 
50
- * `Shift + Ctrl + o` display previews of all tabs (Esc to leave)
51
-
52
- * `Shift + Ctrl + e` open the Css configuration editor in a new notebook tab.
53
-
54
- * `Shift + Ctrl + /` open for the current terminal a search entry.
55
-
56
35
  * `Shift + Ctrl + Up` diminue topinambour window size to its minimum or resize to its previous height.
57
36
 
58
37
  * `Shift + Ctrl + PageUp` increase the opacity.
@@ -64,6 +43,14 @@ Topinambour is a Terminal written with the **Gtk3** and **Vte3** ruby bindings f
64
43
  By default, topinambour will look for the file `~/.config/topinambour/topinambour.css`. You can select another file in the preferences dialog.
65
44
  Various widget can be themed via the Css like the headerbar for example. Here is the Css used in the first screenshot (the Gtk theme is the Arc theme).
66
45
 
46
+ topinambour-window
47
+ topinambour-headerbar
48
+ topinambour-term-box
49
+ topinambour-scrollbar
50
+ topinambour-terminal
51
+ topinambour-color-selector
52
+ topinambour-font-selector
53
+
67
54
  ```css
68
55
  *{
69
56
  }
@@ -72,13 +59,6 @@ Various widget can be themed via the Css like the headerbar for example. Here is
72
59
  background-color: rgba(0,0,0,0);
73
60
  }
74
61
 
75
- #topinambour-overview-box {
76
- margin-right: 24px;
77
- background-color: rgba(87,91,108,0.95);
78
- border-radius: 6px;
79
- color: #b0b0b0;
80
- }
81
-
82
62
  #topinambour-headerbar {
83
63
  background-color: #282828;
84
64
  border: none;
@@ -104,176 +84,11 @@ Various widget can be themed via the Css like the headerbar for example. Here is
104
84
  margin-left: 8px;
105
85
  background-color: #076678;
106
86
  }
107
-
108
- #topinambour-tab-term {
109
- background-color: rgb(40,40,40);
110
- }
111
-
112
- grid button {
113
- margin: 0px;
114
- padding: 0px;
115
- }
116
-
117
- grid button image {
118
- border: solid 3px rgba(0, 0, 0, 0.0);
119
- margin: 0px;
120
- padding: 0px;
121
- }
122
- ```
123
-
124
- ## Build and Install git version.
125
-
126
- git clone git@github.com:cedlemo/topinambour.git
127
- cd topinambour
128
- gem build topinambour.gemspec
129
- gem install topinambour-x.x.x.gem
130
- ~> topinambour
131
-
132
- *Tips:*
133
- > Don't forget, if you install it localy, you need that your system know the path of
134
- the ruby gem binaries (for example).
135
-
136
- export PATH="${PATH}:/home/${USER}/bin:${HOME}/gem/ruby/2.3.0/bin"
137
-
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
142
- ## Old version (before 1.0.11)
143
-
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>
145
-
146
- <a href="https://raw.github.com/cedlemo/topinambour/master/color_selection_screen.gif"><img src="https://raw.github.com/cedlemo/topinambour/master/color_selection_screen.gif" style="width:576px;height:324px;" alt="Color selection gif"></a>
147
-
148
- <a href="https://raw.github.com/cedlemo/topinambour/master/terminal_regex_color.gif"><img src="https://raw.github.com/cedlemo/topinambour/master/terminal_regex_color.gif" style="width:576px;height:324px;" alt="Regex color gif"></a>
149
-
150
-
151
-
152
- ### TODO:
153
- * Name all the important widgets so that they can be easily themed in Css.
154
- * `#topinambour-overview-box`
155
- * `#topinambour-headerbar`
156
- * `#topinambour-window`
157
- * `#topinambour-scrollbar`
158
- * `#topinambour-notebook`
159
-
160
- * Write a description of the widgets that have a Css name/Id.
161
- * Improve the Css editor with a part for the Css parsing error when the user writes. Add a color chooser widget in the related tab.
162
- * Make Topinambour allows users to easily create their own modules. For example create a tab that will act as a MPD client. There will be widgets that control a MPD server and a GtkTree widget that displays the playlist of the MPD server for example.
163
-
164
-
165
- ### User configuration
166
-
167
- It can be found in the file `$HOME/.config/topinambour/topinambour.css` (Be carefull by default Topinambour use fish as a default shell, if you want to use another one specify it in the topinambour.css file)
168
-
169
- ```css
170
- *{
171
- /* Default css properties
172
- -TopinambourTerminal-foreground: #aeafad;
173
- -TopinambourTerminal-background: #323232;
174
- -TopinambourTerminal-black: #000000;
175
- -TopinambourTerminal-red: #b9214f;
176
- -TopinambourTerminal-green: #A6E22E;
177
- -TopinambourTerminal-yellow: #ff9800;
178
- -TopinambourTerminal-blue: #3399ff;
179
- -TopinambourTerminal-magenta: #8e33ff;
180
- -TopinambourTerminal-cyan: #06a2dc;
181
- -TopinambourTerminal-white: #B0B0B0;
182
- -TopinambourTerminal-brightblack: #5D5D5D;
183
- -TopinambourTerminal-brightred: #ff5c8d;
184
- -TopinambourTerminal-brightgreen: #CDEE69;
185
- -TopinambourTerminal-brightyellow: #ffff00;
186
- -TopinambourTerminal-brightblue: #9CD9F0;
187
- -TopinambourTerminal-brightmagenta: #FBB1F9;
188
- -TopinambourTerminal-brightcyan: #77DFD8;
189
- -TopinambourTerminal-brightwhite: #F7F7F7;
190
- -TopinambourTerminal-font: Monospace 11;
191
- -TopinambourWindow-shell: "/usr/bin/fish";
192
- -TopinambourWindow-css-editor-style: "monokai-extended";
193
- -TopinambourWindow-height: 500;
194
- -TopinambourWindow-width: 1000;*/
195
- }
196
-
197
- TopinambourWindow headerbar entry{
198
- /*border-radius: 4px;*/
199
- }
200
-
201
- #topinambour-overview-box {
202
- background-color: rgba(0,0,0,0.2);
203
- border: solid 1px rgba(49, 150, 188, 1);
204
- border-radius: 6px 0px 0px 6px;
205
- }
206
-
207
- #topinambour-headerbar {
208
- background-color: #323232;
209
- border: none;
210
- box-shadow: none;
211
- }
212
- #topinambour_headerbar:backdrop {
213
- background-color: rgba(50,50,50,0.7);
214
- border: none;
215
- box-shadow: none;
216
- }
217
- grid button {
218
- margin: 0px;
219
- padding: 0px;
220
-
221
- }
222
-
223
- grid button image {
224
- border: solid 3px rgba(0, 0, 0, 0.0);
225
- margin: 0px;
226
- padding: 0px;
227
- }
228
87
  ```
229
88
 
230
- Each time you modify this configuration via the interface of Topinambour (terminal colors selector, terminal font selector, css editor) and that you save your modifications, Topinambour create a copy of your previous Css file under a new name with :
231
-
232
- FileUtils.mv(USR_CSS, "#{USR_CSS}_#{Time.new.strftime('%Y-%m-%d-%H-%M-%S')}.backup")
233
-
234
- Which means that the old file can be something like that : *topinambour.css_2016-12-5-13-20.backup*.
235
-
236
- ## Installation
237
-
238
- ### Dependencies
239
-
240
- * gtk3 vte3 sass
241
-
242
- ### Create the gem if needed:
243
-
244
- gem build topinambour.gemspec
245
-
246
- ### Install the gem :
247
-
248
- gem install topinambour-x.x.x.gem
249
-
250
- ### Launch the terminal
251
-
252
- ~> topinambour
253
-
254
- #### Tips:
255
-
256
- Don't forget, if you install it localy, you need that your system know the path of
257
- the ruby gem binaries (for example).
258
-
259
- export PATH="${PATH}:/home/${USER}/bin:${HOME}/gem/ruby/2.3.0/bin"
260
-
261
- #### Modifying or testing Topinambour is easy:
262
-
263
- ##### Get the sources
264
-
265
- git clone https://github.com/cedlemo/topinambour.git
266
- cd topinambour/bin
267
-
268
- ##### Edit the files Topinambour and test
269
- The filenames correspond to their functionnalities.
270
- Simply run `./topinambour` when you have done your modifications.
271
-
272
- You will need fish shell if you want to test it.
273
-
274
89
  ### Copying:
275
90
 
276
- Copyright 2015-2016 Cedric Le Moigne
91
+ Copyright 2015-2018 Cedric Le Moigne
277
92
 
278
93
  This program is free software: you can redistribute it and/or modify
279
94
  it under the terms of the GNU General Public License as published by
data/bin/topinambour CHANGED
@@ -19,7 +19,6 @@
19
19
  # vte 3 bindings.
20
20
  # Author:: Cedlemo (mailto:cedlemo@gmx.com)
21
21
 
22
- require "gtk3"
23
22
  require "vte3"
24
23
  require "fileutils"
25
24
 
@@ -46,8 +45,8 @@ Gio::Resources.register(resource)
46
45
  # Load default libraries !!WARNING!! loading order matters
47
46
 
48
47
  %w(actions application rgb_names_regexes
49
- terminal_regex terminal notebook color_selector font_selector
50
- terminal_chooser shortcuts searchbar window preferences).each do |l|
48
+ terminal_regex terminal color_selector font_selector
49
+ shortcuts window preferences).each do |l|
51
50
  if File.exist?("#{USR_LIB_PATH}/#{l}.rb")
52
51
  require "#{USR_LIB_PATH}/#{l}.rb"
53
52
  else
Binary file
@@ -4,10 +4,10 @@
4
4
 
5
5
  <schema path="/com/github/cedlemo/topinambour/preferences/" id="com.github.cedlemo.topinambour">
6
6
  <key name='colorscheme' type='as'>
7
- <default>['#aeafad', '#323232', '#000000', '#b9214f', '#A6E22E',
8
- '#ff9800', '#3399ff', '#8e33ff', '#06a2dc', '#B0B0B0',
9
- '#5D5D5D', '#ff5c8d', '#CDEE69', '#ffff00', '#9CD9F0',
10
- '#FBB1F9', '#77DFD8', '#F7F7F7']</default>
7
+ <default>['#ebdbb2', '#282828', '#282828', '#cc241d', '#98971a',
8
+ '#d79921', '#458588', '#b16286', '#689d6a', '#a89984',
9
+ '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598',
10
+ '#d3869b', '#8ec07c', '#ebdbb2']</default>
11
11
  <summary>Default colorscheme</summary>
12
12
  <description>:foreground, :background, :black, :red, :green, :yellow,
13
13
  :blue, :magenta, :cyan, :white, :brightblack,
data/lib/actions.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2016-2017 Cedric LE MOIGNE, cedlemo@gmx.com
1
+ # Copyright 2016-2018 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
@@ -30,20 +30,20 @@ module TopinambourActions
30
30
  application.add_action(action)
31
31
  end
32
32
 
33
- def self.generate_about_action(application)
34
- action = generate_action("about") do |_act, _param|
35
- application.windows[0].display_about
36
- end
37
- action
38
- end
39
-
40
- def self.generate_preferences_action(application)
41
- action = generate_action("preferences") do |_act, _param|
42
- dialog = TopinambourPreferences.new(application.windows.first)
43
- dialog.show_all
44
- end
45
- action
46
- end
33
+ # def self.generate_about_action(application)
34
+ # action = generate_action("about") do |_act, _param|
35
+ # application.windows[0].display_about
36
+ # end
37
+ # action
38
+ # end
39
+ #
40
+ # def self.generate_preferences_action(application)
41
+ # action = generate_action("preferences") do |_act, _param|
42
+ # dialog = TopinambourPreferences.new(application.windows.first)
43
+ # dialog.show_all
44
+ # end
45
+ # action
46
+ # end
47
47
 
48
48
  def self.generate_quit_action(application)
49
49
  action = generate_action("quit") do |_act, _param|
@@ -54,7 +54,7 @@ module TopinambourActions
54
54
 
55
55
  def self.generate_term_copy_action(application)
56
56
  action = generate_action("term_copy") do |_act, _param|
57
- term = application.windows[0].notebook.current.term
57
+ term = application.windows[0].terminal
58
58
  event = Gtk.current_event
59
59
 
60
60
  _match, regex_type = term.match_check_event(event)
@@ -70,21 +70,22 @@ module TopinambourActions
70
70
 
71
71
  def self.generate_term_paste_action(application)
72
72
  action = generate_action("term_paste") do |_act, _param|
73
- application.windows[0].notebook.current.term.paste_clipboard
73
+ application.windows[0].terminal.paste_clipboard
74
74
  end
75
75
  action
76
76
  end
77
77
 
78
- def self.generate_shortcuts_action(application)
79
- action = generate_action("shortcuts") do |_act, _param|
80
- application.windows[0].show_shortcuts
81
- end
82
- action
83
- end
78
+ # def self.generate_shortcuts_action(application)
79
+ # action = generate_action("shortcuts") do |_act, _param|
80
+ # application.windows[0].show_shortcuts
81
+ # end
82
+ # action
83
+ # end
84
84
 
85
85
  def self.add_actions_to(application)
86
86
  # preferences
87
- %w(about quit term_copy term_paste preferences shortcuts).each do |name|
87
+ # %w(about quit term_copy term_paste preferences shortcuts).each do |name|
88
+ %w(quit term_copy term_paste).each do |name|
88
89
  add_action_to(name, application)
89
90
  end
90
91
  end
data/lib/application.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2016-2017 Cedric LE MOIGNE, cedlemo@gmx.com
1
+ # Copyright 2016-2018 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
@@ -22,7 +22,7 @@ class TopinambourApplication < Gtk::Application
22
22
  @options = {}
23
23
  @exit_status = 0
24
24
 
25
- super("com.github.cedlemo.topinambour", [:non_unique, :handles_command_line])
25
+ super("com.github.cedlemo.topinambour", [:non_unique,:handles_command_line])
26
26
 
27
27
  signal_connect "startup" do |application|
28
28
  ENV["GSETTINGS_SCHEMA_DIR"] = DATA_PATH
@@ -31,21 +31,20 @@ class TopinambourApplication < Gtk::Application
31
31
  load_css_config
32
32
 
33
33
  TopinambourActions.add_actions_to(application)
34
- load_menu_ui_in(application)
34
+ # load_menu_ui_in(application)
35
35
  end
36
36
 
37
37
  signal_connect "activate" do |application|
38
+
38
39
  window = TopinambourWindow.new(application)
39
40
  window.present
41
+
40
42
  if @options[:execute]
41
- @options[:execute].each do |cmd|
42
- window.add_terminal(cmd)
43
- window.notebook.current.term.custom_title = cmd
44
- window.current_label.text = cmd
45
- end
43
+ window.add_terminal(@options[:execute])
46
44
  else
47
45
  window.add_terminal
48
46
  end
47
+ window.terminal.grab_focus
49
48
  end
50
49
 
51
50
 
@@ -113,8 +112,8 @@ class TopinambourApplication < Gtk::Application
113
112
 
114
113
  def parse_command_line(arguments)
115
114
  parser = OptionParser.new
116
- parser.on("-e", "--execute COMMAND1,COMMAND2,COMMAND3", Array, "Run a command") do |cmds|
117
- @options[:execute] = cmds
115
+ parser.on("-e", "--execute COMMAND", String, "Run a command") do |cmd|
116
+ @options[:execute] = cmd
118
117
  end
119
118
  parser.parse(arguments)
120
119
  end
@@ -127,11 +126,11 @@ class TopinambourApplication < Gtk::Application
127
126
  Gtk::StyleProvider::PRIORITY_USER)
128
127
  end
129
128
 
130
- def load_menu_ui_in(application)
131
- builder = Gtk::Builder.new(:resource => "/com/github/cedlemo/topinambour/app-menu.ui")
132
- app_menu = builder["appmenu"]
133
- application.app_menu = app_menu
134
- end
129
+ # def load_menu_ui_in(application)
130
+ # builder = Gtk::Builder.new(:resource => "/com/github/cedlemo/topinambour/app-menu.ui")
131
+ # app_menu = builder["appmenu"]
132
+ # application.app_menu = app_menu
133
+ # end
135
134
 
136
135
  def load_custom_css(file)
137
136
  if @settings["custom-css"]