topinambour 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9731f01ec7dc60445c7c44ff02d54fc422ca2aa
4
- data.tar.gz: d187f4634172dbab1d86b8a174106a1013c2eff0
3
+ metadata.gz: 992cf1b66a113669bb7103401a101e9fa3f1d97d
4
+ data.tar.gz: e0f45aba03748b34f8ea2276035dddb7c534a92b
5
5
  SHA512:
6
- metadata.gz: 54a2232474f93220cfdbc90ed920d7ecfb420a1054baee9c2bf6c11af0a7a72973e176f471a97b5523aa0a13467668ad42f791a9470ef25c06a921326e2b721b
7
- data.tar.gz: 2d9c1d7e4da1e81198406c14710c578b91b50b8ec219e845d03be0f8d846f6210e14cc7e9d018db84557cd23cfdec4461ac8c73293df690e651f9ee0f67db28d
6
+ metadata.gz: 1eed728dc94c6019167d69878c8381f121fad9dac32f9cafa2826cd894c42e6d4ab25a7c21f3e8e920f19fb58035706ed966d5f387224f12ed4c0469da8a9229
7
+ data.tar.gz: db9520fccb7604376319c8cf9e91e55e574c0e9e76e2d539652c7e50b21336a06801121af0afa77d9b231527466d54b57a6d3f3b75c0d183f547600a1b2f17be
data/README.md CHANGED
@@ -8,44 +8,55 @@
8
8
 
9
9
  <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>
10
10
 
11
- Topinambour is Terminal written with the Gtk3 and Vte3 ruby bindings from the project [ruby-gnome2](https://github.com/ruby-gnome2/ruby-gnome2). I have written it for testing purpose, but Topinambour works well and I use it as my primary terminal emulator.
11
+ <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>
12
+
13
+
14
+ Topinambour is Terminal written with the Gtk3 and Vte3 ruby bindings from the project [Ruby-GNOME2](https://github.com/ruby-gnome2/ruby-gnome2). I have written it for testing purpose, but Topinambour works well and I use it as my primary terminal emulator.
12
15
 
13
16
  ## Features
14
17
 
15
18
  * Tabs supports
16
- * Tabs can be reordered or selected through the preview mode ( `Shift + Ctrl + o` )
19
+ * Tabs can be reordered or selected through the preview mode ( `Shift + Ctrl + o` ).
17
20
  * Each tab can be named.
18
- * The configuration can be done via a Css file
19
- * Terminal colors can be changed on the fly and saved in the CSS configuration file
20
- * Terminal font can be changed on the fly and saved in the CSS configuration file
21
+ * The configuration can be done via a Css file.
22
+ * Terminal colors can be changed on the fly and saved in the CSS configuration file.
23
+ * Terminal font can be changed on the fly and saved in the CSS configuration file.
21
24
  * The Css file can be edited in a tab of Topinambour and saved. Each modifications are applied while you are writting them. (Use `Shift + Ctrl + w` to close the editor)
22
- * Topinambour allows users to modify existing modules. For example if a user copy the css_editor.rb in the directory *~/.config/topinambour/lib/css_editor.rb*, he should be able to modify it in order to fit its needs.
25
+ * In the terminals, some patterns can be clicked (urls, emails, color names ...) in order to launch the appropriate application or a related dialog window.
26
+ * Topinambour allows users to modify existing modules. For example if a user copy the css_editor.rb in the directory *~/.config/topinambour/lib/css_editor.rb*, he should be able to modify it in order to fit its needs.
23
27
 
24
28
  ## TODO:
25
- * Extand the regex support for colors pattern (hexadecimal or rgb/css form).
26
- * Create more Css properties in oder to configure the terminals (cursor shape or blink mode, audible bell or not ...)
29
+ * Name all the important widget so that they can be easily themed in Css.
30
+ * Write a description of the widgets that have a Css name/Id.
31
+ * 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.
27
32
  * 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.
28
33
 
29
34
  ## Shortcuts
30
35
 
31
36
  * `Shift + Ctrl + t` new tab
32
-
37
+
33
38
  * `Shift + Ctrl + q` quit Topinambour
34
-
39
+
35
40
  * `Shift + Ctrl + w` close current tab
36
-
41
+
37
42
  * `Shift + Ctrl + left` previous tab
38
-
43
+
39
44
  * `Shift + Ctrl + right` next tab
40
-
45
+
41
46
  * `Shift + Ctrl + c` display color selectors for the vte in overlay mod (Esc to leave)
42
-
47
+
43
48
  * `Shift + Ctrl + f` display font selector for the vte in overlay mod (Esc to leave)
44
-
49
+
45
50
  * `Shift + Ctrl + o` display previews of all tabs (Esc to leave)
46
51
 
47
52
  * `Shift + Ctrl + e` open the Css configuration editor in a new notebook tab.
48
53
 
54
+ * `Shift + Ctrl + /` open for the current terminal a search entry.
55
+
56
+ * `Shift + Ctrl + Up` diminue topinambour window size to its minimum or resize to its previous height.
57
+
58
+ * `Shift + Ctrl + Scroll` scroll down or up in order to decrease or increase the opacity.
59
+
49
60
 
50
61
  ## User configuration
51
62
 
@@ -79,43 +90,26 @@ It can be found in the file `$HOME/.config/topinambour/topinambour.css` (Be care
79
90
  -TopinambourWindow-width: 1000;*/
80
91
  }
81
92
 
82
- TopinambourWindow GtkHeaderBar GtkEntry{
93
+ TopinambourWindow headerbar entry{
83
94
  border-radius: 4px;
84
95
  }
85
- TopinambourWindow GtkOverlay GtkBox#resize_box{
86
- background: rgba(49, 150, 188, 0.5);
87
- border-top: 1px;
88
- border-left: 1px;
89
- border-bottom: 1px;
90
- border-style: solid;
91
- border-color: rgba(49, 150, 188, 1);
92
- border-radius: 6px 0px 0px 0px;
93
- }
94
- TopinambourWindow GtkOverlay GtkScrolledWindow#terminal_chooser GtkBox{
95
- background-color: rgba(49, 150, 188, 0.5);
96
- border-top: 1px;
97
- border-left: 1px;
98
- border-bottom: 1px;
99
- border-style: solid;
100
- border-color: rgba(49, 150, 188, 1);
101
- border-radius: 6px 0px 0px 6px;
96
+
97
+ #OverviewBox {
98
+ background-color: rgba(0,0,0,0.2);
99
+ border: solid 1px rgba(49, 150, 188, 1);
100
+ border-radius: 6px 0px 0px 6px;
102
101
  }
103
102
 
104
- TopinambourWindow GtkOverlay GtkScrolledWindow GtkGrid GtkButton {
103
+ grid button {
105
104
  margin: 0px;
106
105
  padding: 0px;
107
- }
108
106
 
109
- TopinambourWindow GtkOverlay GtkScrolledWindow GtkGrid GtkButton GtkImage {
110
- border: solid 3px rgba(0, 0, 0, 0.0);
111
107
  }
112
108
 
113
- .tooltip {
114
- background:rgba(50, 50, 50,0.5);
115
- border:none;
116
- color: #ddd;
117
- border-top-right-radius: 6px;
118
- border-bottom-left-radius: 6px;
109
+ grid button image {
110
+ border: solid 3px rgba(0, 0, 0, 0.0);
111
+ margin: 0px;
112
+ padding: 0px;
119
113
  }
120
114
  ```
121
115
 
@@ -141,7 +135,7 @@ Which means that the old file can be something like that : *topinambour.css_2016
141
135
 
142
136
  ### Launch the terminal
143
137
 
144
- ~> topinambour
138
+ ~> topinambour
145
139
 
146
140
  ### Tips:
147
141
 
@@ -156,7 +150,7 @@ the ruby gem binaries (for example).
156
150
 
157
151
  git clone https://github.com/cedlemo/topinambour.git
158
152
  cd topinambour/bin
159
-
153
+
160
154
  ##### Edit the files Topinambour and test
161
155
  The filenames correspond to their functionnalities.
162
156
  Simply run `./topinambour` when you have done your modifications.
@@ -165,7 +159,7 @@ You will need fish shell if you want to test it.
165
159
 
166
160
  ### Copying:
167
161
 
168
- Copyright 2015-2016 Cédric Le Moigne
162
+ Copyright 2015-2016 Cedric Le Moigne
169
163
 
170
164
  This program is free software: you can redistribute it and/or modify
171
165
  it under the terms of the GNU General Public License as published by
data/bin/topinambour CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2015-2016 Cédric LE MOIGNE, cedlemo@gmx.com
2
+ # Copyright 2015-2016 Cedric LE MOIGNE, cedlemo@gmx.com
3
3
  # This file is part of Topinambour.
4
4
  #
5
5
  # Topinambour is free software: you can redistribute it and/or modify
@@ -36,13 +36,21 @@ resource = Gio::Resource.load(gresource_bin)
36
36
  Gio::Resources.register(resource)
37
37
  # Load default libraries !!WARNING!! loading order matters
38
38
 
39
- %w(actions style_properties css_handler application terminal_regex terminal notebook color_selector font_selector
40
- terminal_chooser headerbar shortcuts window css_editor).each do |l|
39
+ #load_time = Time.now
40
+ #old_time = 0
41
+
42
+ %w(actions style_properties css_handler application rgb_names_regexes
43
+ terminal_regex terminal notebook color_selector font_selector
44
+ terminal_chooser shortcuts searchbar window css_editor
45
+ preferences).each do |l|
41
46
  if File.exist?("#{USR_LIB_PATH}/#{l}.rb")
42
47
  require "#{USR_LIB_PATH}/#{l}.rb"
43
48
  else
44
49
  require "#{LIB_PATH}/#{l}.rb"
45
50
  end
51
+ # old_time = load_time
52
+ # load_time = Time.now
53
+ # puts "#{load_time - old_time} s for loading #{l}.rb"
46
54
  end
47
55
 
48
56
  Gtk::IconTheme.default.add_resource_path("/com/github/cedlemo/topinambour/icons")
data/data/headerbar.ui ADDED
@@ -0,0 +1,173 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.20.0 -->
3
+ <interface>
4
+ <requires lib="gtk+" version="3.20"/>
5
+ <object class="GtkHeaderBar" id="headerbar">
6
+ <property name="visible">True</property>
7
+ <property name="can_focus">False</property>
8
+ <property name="title">Topinambour</property>
9
+ <property name="has_subtitle">False</property>
10
+ <property name="show_close_button">True</property>
11
+ <child>
12
+ <object class="GtkButton" id="prev_button">
13
+ <property name="visible">True</property>
14
+ <property name="can_focus">True</property>
15
+ <property name="receives_default">True</property>
16
+ <property name="tooltip_text" translatable="yes">Prev</property>
17
+ <property name="always_show_image">True</property>
18
+ <child>
19
+ <object class="GtkImage">
20
+ <property name="visible">True</property>
21
+ <property name="can_focus">False</property>
22
+ <property name="icon_name">pan-start-symbolic</property>
23
+ </object>
24
+ </child>
25
+ </object>
26
+ </child>
27
+ <child>
28
+ <object class="GtkLabel" id="current_tab">
29
+ <property name="visible">True</property>
30
+ <property name="can_focus">False</property>
31
+ <property name="tooltip_text" translatable="yes">Current</property>
32
+ <property name="label" translatable="yes">label</property>
33
+ </object>
34
+ <packing>
35
+ <property name="position">1</property>
36
+ </packing>
37
+ </child>
38
+ <child>
39
+ <object class="GtkButton" id="next_button">
40
+ <property name="visible">True</property>
41
+ <property name="can_focus">True</property>
42
+ <property name="receives_default">True</property>
43
+ <property name="tooltip_text" translatable="yes">Next</property>
44
+ <child>
45
+ <object class="GtkImage">
46
+ <property name="visible">True</property>
47
+ <property name="can_focus">False</property>
48
+ <property name="icon_name">pan-end-symbolic</property>
49
+ </object>
50
+ </child>
51
+ </object>
52
+ <packing>
53
+ <property name="position">2</property>
54
+ </packing>
55
+ </child>
56
+ <child>
57
+ <object class="GtkEntry" id="current_label">
58
+ <property name="visible">True</property>
59
+ <property name="can_focus">True</property>
60
+ <property name="tooltip_text" translatable="yes">Change the name of the tab and hit
61
+ enter in order to validate
62
+ </property>
63
+ <property name="max_length">40</property>
64
+ <property name="max_width_chars">40</property>
65
+ <property name="shadow_type">etched-in</property>
66
+ <property name="primary_icon_name">edit-delete</property>
67
+ <property name="secondary_icon_name">edit-clear</property>
68
+ <property name="primary_icon_tooltip_text" translatable="yes">Close this tab</property>
69
+ <property name="secondary_icon_tooltip_text" translatable="yes">Reset your changes and use the
70
+ default label for the current tab
71
+ </property>
72
+ </object>
73
+ <packing>
74
+ <property name="position">3</property>
75
+ </packing>
76
+ </child>
77
+ <child>
78
+ <object class="GtkButton" id="new_term">
79
+ <property name="visible">True</property>
80
+ <property name="can_focus">True</property>
81
+ <property name="receives_default">True</property>
82
+ <property name="tooltip_text" translatable="yes">New terminal</property>
83
+ <child>
84
+ <object class="GtkImage">
85
+ <property name="visible">True</property>
86
+ <property name="can_focus">False</property>
87
+ <property name="icon_name">tab-new-symbolic</property>
88
+ </object>
89
+ </child>
90
+ </object>
91
+ <packing>
92
+ <property name="position">4</property>
93
+ </packing>
94
+ </child>
95
+ <child>
96
+ <object class="GtkButton" id="menu_button">
97
+ <property name="name">menu_button</property>
98
+ <property name="visible">True</property>
99
+ <property name="can_focus">True</property>
100
+ <property name="receives_default">True</property>
101
+ <property name="tooltip_text" translatable="yes">Main menu</property>
102
+ <child>
103
+ <object class="GtkImage">
104
+ <property name="visible">True</property>
105
+ <property name="can_focus">False</property>
106
+ <property name="icon_name">open-menu-symbolic</property>
107
+ </object>
108
+ </child>
109
+ </object>
110
+ <packing>
111
+ <property name="pack_type">end</property>
112
+ <property name="position">5</property>
113
+ </packing>
114
+ </child>
115
+ <child>
116
+ <object class="GtkButton" id="font_sel_button">
117
+ <property name="visible">True</property>
118
+ <property name="can_focus">True</property>
119
+ <property name="receives_default">True</property>
120
+ <property name="tooltip_text" translatable="yes">Change the font</property>
121
+ <child>
122
+ <object class="GtkImage">
123
+ <property name="visible">True</property>
124
+ <property name="can_focus">False</property>
125
+ <property name="icon_name">font-select-symbolic</property>
126
+ </object>
127
+ </child>
128
+ </object>
129
+ <packing>
130
+ <property name="pack_type">end</property>
131
+ <property name="position">6</property>
132
+ </packing>
133
+ </child>
134
+ <child>
135
+ <object class="GtkButton" id="colors_sel_button">
136
+ <property name="visible">True</property>
137
+ <property name="can_focus">True</property>
138
+ <property name="receives_default">True</property>
139
+ <property name="tooltip_text" translatable="yes">Set the color scheme</property>
140
+ <child>
141
+ <object class="GtkImage">
142
+ <property name="visible">True</property>
143
+ <property name="can_focus">False</property>
144
+ <property name="icon_name">color-select-symbolic</property>
145
+ </object>
146
+ </child>
147
+ </object>
148
+ <packing>
149
+ <property name="pack_type">end</property>
150
+ <property name="position">7</property>
151
+ </packing>
152
+ </child>
153
+ <child>
154
+ <object class="GtkButton" id="term_overv_button">
155
+ <property name="visible">True</property>
156
+ <property name="can_focus">True</property>
157
+ <property name="receives_default">True</property>
158
+ <property name="tooltip_text" translatable="yes">Manage the tabs in the Tab Overview.</property>
159
+ <child>
160
+ <object class="GtkImage">
161
+ <property name="visible">True</property>
162
+ <property name="can_focus">False</property>
163
+ <property name="icon_name">emblem-photos-symbolic</property>
164
+ </object>
165
+ </child>
166
+ </object>
167
+ <packing>
168
+ <property name="pack_type">end</property>
169
+ <property name="position">8</property>
170
+ </packing>
171
+ </child>
172
+ </object>
173
+ </interface>