unixcmd 0.1.0 → 0.2.1
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 +9 -9
- data/bin/unixcmd +81 -10
- data/data/forms/copydlg.glade +256 -0
- data/data/forms/mkdirdlg.glade +156 -0
- data/data/forms/movedlg.glade +141 -0
- data/data/forms/removedlg.glade +197 -0
- data/ext/gnome_get_filetype_icon/extconf.rb +5 -0
- data/lib/unixcmd/aux.rb +24 -3
- data/lib/unixcmd/cmd.rb +148 -142
- data/lib/unixcmd/copydlg.rb +79 -0
- data/lib/unixcmd/devel.rb +1 -0
- data/lib/unixcmd/dirview.rb +12 -11
- data/lib/unixcmd/mkdirdlg.rb +38 -0
- data/lib/unixcmd/movedlg.rb +36 -0
- data/lib/unixcmd/panel.rb +8 -2
- data/lib/unixcmd/removedlg.rb +62 -0
- data/lib/unixcmd/version.rb +2 -2
- metadata +21 -10
@@ -0,0 +1,141 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<interface>
|
3
|
+
<requires lib="gtk+" version="2.24"/>
|
4
|
+
<!-- interface-naming-policy project-wide -->
|
5
|
+
<object class="GtkDialog" id="MoveDlg">
|
6
|
+
<property name="can_focus">False</property>
|
7
|
+
<property name="border_width">5</property>
|
8
|
+
<property name="title" translatable="yes">Moving files...</property>
|
9
|
+
<property name="resizable">False</property>
|
10
|
+
<property name="modal">True</property>
|
11
|
+
<property name="type_hint">dialog</property>
|
12
|
+
<child internal-child="vbox">
|
13
|
+
<object class="GtkVBox" id="dialog-vbox1">
|
14
|
+
<property name="visible">True</property>
|
15
|
+
<property name="can_focus">False</property>
|
16
|
+
<property name="spacing">2</property>
|
17
|
+
<child>
|
18
|
+
<object class="GtkVBox" id="vbox1">
|
19
|
+
<property name="visible">True</property>
|
20
|
+
<property name="can_focus">False</property>
|
21
|
+
<child>
|
22
|
+
<object class="GtkLabel" id="CmdLine">
|
23
|
+
<property name="visible">True</property>
|
24
|
+
<property name="can_focus">False</property>
|
25
|
+
<property name="label" translatable="yes">files → path</property>
|
26
|
+
</object>
|
27
|
+
<packing>
|
28
|
+
<property name="expand">True</property>
|
29
|
+
<property name="fill">True</property>
|
30
|
+
<property name="position">0</property>
|
31
|
+
</packing>
|
32
|
+
</child>
|
33
|
+
</object>
|
34
|
+
<packing>
|
35
|
+
<property name="expand">True</property>
|
36
|
+
<property name="fill">True</property>
|
37
|
+
<property name="position">0</property>
|
38
|
+
</packing>
|
39
|
+
</child>
|
40
|
+
<child>
|
41
|
+
<object class="GtkHSeparator" id="hseparator1">
|
42
|
+
<property name="visible">True</property>
|
43
|
+
<property name="can_focus">False</property>
|
44
|
+
</object>
|
45
|
+
<packing>
|
46
|
+
<property name="expand">False</property>
|
47
|
+
<property name="fill">True</property>
|
48
|
+
<property name="position">1</property>
|
49
|
+
</packing>
|
50
|
+
</child>
|
51
|
+
<child>
|
52
|
+
<object class="GtkVBox" id="vbox2">
|
53
|
+
<property name="visible">True</property>
|
54
|
+
<property name="can_focus">False</property>
|
55
|
+
<child>
|
56
|
+
<object class="GtkCheckButton" id="VerboseFlag">
|
57
|
+
<property name="label" translatable="yes">Verbose mode</property>
|
58
|
+
<property name="visible">True</property>
|
59
|
+
<property name="can_focus">True</property>
|
60
|
+
<property name="receives_default">False</property>
|
61
|
+
<property name="has_tooltip">True</property>
|
62
|
+
<property name="tooltip_text" translatable="yes">Equivalent to option -v for `mv`</property>
|
63
|
+
<property name="draw_indicator">True</property>
|
64
|
+
</object>
|
65
|
+
<packing>
|
66
|
+
<property name="expand">True</property>
|
67
|
+
<property name="fill">True</property>
|
68
|
+
<property name="position">0</property>
|
69
|
+
</packing>
|
70
|
+
</child>
|
71
|
+
</object>
|
72
|
+
<packing>
|
73
|
+
<property name="expand">True</property>
|
74
|
+
<property name="fill">True</property>
|
75
|
+
<property name="position">2</property>
|
76
|
+
</packing>
|
77
|
+
</child>
|
78
|
+
<child internal-child="action_area">
|
79
|
+
<object class="GtkHButtonBox" id="dialog-action_area1">
|
80
|
+
<property name="visible">True</property>
|
81
|
+
<property name="can_focus">False</property>
|
82
|
+
<property name="layout_style">end</property>
|
83
|
+
<child>
|
84
|
+
<object class="GtkButton" id="OKButton">
|
85
|
+
<property name="label">gtk-ok</property>
|
86
|
+
<property name="visible">True</property>
|
87
|
+
<property name="can_focus">True</property>
|
88
|
+
<property name="has_focus">True</property>
|
89
|
+
<property name="can_default">True</property>
|
90
|
+
<property name="has_default">True</property>
|
91
|
+
<property name="receives_default">True</property>
|
92
|
+
<property name="use_stock">True</property>
|
93
|
+
</object>
|
94
|
+
<packing>
|
95
|
+
<property name="expand">False</property>
|
96
|
+
<property name="fill">False</property>
|
97
|
+
<property name="position">0</property>
|
98
|
+
</packing>
|
99
|
+
</child>
|
100
|
+
<child>
|
101
|
+
<object class="GtkButton" id="CancelButton">
|
102
|
+
<property name="label">gtk-cancel</property>
|
103
|
+
<property name="visible">True</property>
|
104
|
+
<property name="can_focus">True</property>
|
105
|
+
<property name="can_default">True</property>
|
106
|
+
<property name="has_default">True</property>
|
107
|
+
<property name="receives_default">False</property>
|
108
|
+
<property name="use_stock">True</property>
|
109
|
+
</object>
|
110
|
+
<packing>
|
111
|
+
<property name="expand">False</property>
|
112
|
+
<property name="fill">False</property>
|
113
|
+
<property name="position">1</property>
|
114
|
+
</packing>
|
115
|
+
</child>
|
116
|
+
</object>
|
117
|
+
<packing>
|
118
|
+
<property name="expand">True</property>
|
119
|
+
<property name="fill">True</property>
|
120
|
+
<property name="position">3</property>
|
121
|
+
</packing>
|
122
|
+
</child>
|
123
|
+
<child>
|
124
|
+
<object class="GtkHSeparator" id="hseparator2">
|
125
|
+
<property name="visible">True</property>
|
126
|
+
<property name="can_focus">False</property>
|
127
|
+
</object>
|
128
|
+
<packing>
|
129
|
+
<property name="expand">False</property>
|
130
|
+
<property name="fill">True</property>
|
131
|
+
<property name="position">4</property>
|
132
|
+
</packing>
|
133
|
+
</child>
|
134
|
+
</object>
|
135
|
+
</child>
|
136
|
+
<action-widgets>
|
137
|
+
<action-widget response="0">OKButton</action-widget>
|
138
|
+
<action-widget response="1">CancelButton</action-widget>
|
139
|
+
</action-widgets>
|
140
|
+
</object>
|
141
|
+
</interface>
|
@@ -0,0 +1,197 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<interface>
|
3
|
+
<requires lib="gtk+" version="2.24"/>
|
4
|
+
<!-- interface-naming-policy project-wide -->
|
5
|
+
<object class="GtkListStore" id="liststore1">
|
6
|
+
<columns>
|
7
|
+
<!-- column-name filepath -->
|
8
|
+
<column type="gchararray"/>
|
9
|
+
</columns>
|
10
|
+
</object>
|
11
|
+
<object class="GtkDialog" id="RemoveDlg">
|
12
|
+
<property name="can_focus">False</property>
|
13
|
+
<property name="border_width">5</property>
|
14
|
+
<property name="title" translatable="yes">Removing files...</property>
|
15
|
+
<property name="resizable">False</property>
|
16
|
+
<property name="modal">True</property>
|
17
|
+
<property name="type_hint">dialog</property>
|
18
|
+
<child internal-child="vbox">
|
19
|
+
<object class="GtkVBox" id="dialog-vbox1">
|
20
|
+
<property name="visible">True</property>
|
21
|
+
<property name="can_focus">False</property>
|
22
|
+
<property name="spacing">2</property>
|
23
|
+
<child>
|
24
|
+
<object class="GtkVBox" id="vbox1">
|
25
|
+
<property name="visible">True</property>
|
26
|
+
<property name="can_focus">False</property>
|
27
|
+
<child>
|
28
|
+
<object class="GtkHBox" id="hbox1">
|
29
|
+
<property name="visible">True</property>
|
30
|
+
<property name="can_focus">False</property>
|
31
|
+
<child>
|
32
|
+
<object class="GtkLabel" id="FilesLine">
|
33
|
+
<property name="visible">True</property>
|
34
|
+
<property name="can_focus">False</property>
|
35
|
+
<property name="label" translatable="yes">file</property>
|
36
|
+
</object>
|
37
|
+
<packing>
|
38
|
+
<property name="expand">True</property>
|
39
|
+
<property name="fill">True</property>
|
40
|
+
<property name="position">0</property>
|
41
|
+
</packing>
|
42
|
+
</child>
|
43
|
+
<child>
|
44
|
+
<object class="GtkTreeView" id="FilesList">
|
45
|
+
<property name="can_focus">True</property>
|
46
|
+
<property name="model">liststore1</property>
|
47
|
+
<property name="headers_visible">False</property>
|
48
|
+
<child>
|
49
|
+
<object class="GtkTreeViewColumn" id="filename">
|
50
|
+
<property name="title" translatable="yes">filename</property>
|
51
|
+
<child>
|
52
|
+
<object class="GtkCellRendererText" id="cellrenderertext1"/>
|
53
|
+
<attributes>
|
54
|
+
<attribute name="text">0</attribute>
|
55
|
+
</attributes>
|
56
|
+
</child>
|
57
|
+
</object>
|
58
|
+
</child>
|
59
|
+
</object>
|
60
|
+
<packing>
|
61
|
+
<property name="expand">True</property>
|
62
|
+
<property name="fill">True</property>
|
63
|
+
<property name="position">1</property>
|
64
|
+
</packing>
|
65
|
+
</child>
|
66
|
+
</object>
|
67
|
+
<packing>
|
68
|
+
<property name="expand">True</property>
|
69
|
+
<property name="fill">True</property>
|
70
|
+
<property name="position">0</property>
|
71
|
+
</packing>
|
72
|
+
</child>
|
73
|
+
</object>
|
74
|
+
<packing>
|
75
|
+
<property name="expand">True</property>
|
76
|
+
<property name="fill">True</property>
|
77
|
+
<property name="position">0</property>
|
78
|
+
</packing>
|
79
|
+
</child>
|
80
|
+
<child>
|
81
|
+
<object class="GtkHSeparator" id="hseparator1">
|
82
|
+
<property name="visible">True</property>
|
83
|
+
<property name="can_focus">False</property>
|
84
|
+
</object>
|
85
|
+
<packing>
|
86
|
+
<property name="expand">False</property>
|
87
|
+
<property name="fill">True</property>
|
88
|
+
<property name="position">1</property>
|
89
|
+
</packing>
|
90
|
+
</child>
|
91
|
+
<child>
|
92
|
+
<object class="GtkVBox" id="vbox2">
|
93
|
+
<property name="visible">True</property>
|
94
|
+
<property name="can_focus">False</property>
|
95
|
+
<child>
|
96
|
+
<object class="GtkCheckButton" id="RecursiveFlag">
|
97
|
+
<property name="label" translatable="yes">Remove directories recursively</property>
|
98
|
+
<property name="visible">True</property>
|
99
|
+
<property name="can_focus">True</property>
|
100
|
+
<property name="receives_default">False</property>
|
101
|
+
<property name="has_tooltip">True</property>
|
102
|
+
<property name="tooltip_text" translatable="yes">Equivalent to option -r for `rm`</property>
|
103
|
+
<property name="draw_indicator">True</property>
|
104
|
+
</object>
|
105
|
+
<packing>
|
106
|
+
<property name="expand">True</property>
|
107
|
+
<property name="fill">True</property>
|
108
|
+
<property name="position">0</property>
|
109
|
+
</packing>
|
110
|
+
</child>
|
111
|
+
<child>
|
112
|
+
<object class="GtkCheckButton" id="VerboseFlag">
|
113
|
+
<property name="label" translatable="yes">Verbose mode</property>
|
114
|
+
<property name="visible">True</property>
|
115
|
+
<property name="can_focus">True</property>
|
116
|
+
<property name="receives_default">False</property>
|
117
|
+
<property name="has_tooltip">True</property>
|
118
|
+
<property name="tooltip_text" translatable="yes">Equivalent to option -v for `rm`</property>
|
119
|
+
<property name="draw_indicator">True</property>
|
120
|
+
</object>
|
121
|
+
<packing>
|
122
|
+
<property name="expand">True</property>
|
123
|
+
<property name="fill">True</property>
|
124
|
+
<property name="position">1</property>
|
125
|
+
</packing>
|
126
|
+
</child>
|
127
|
+
</object>
|
128
|
+
<packing>
|
129
|
+
<property name="expand">True</property>
|
130
|
+
<property name="fill">True</property>
|
131
|
+
<property name="position">2</property>
|
132
|
+
</packing>
|
133
|
+
</child>
|
134
|
+
<child internal-child="action_area">
|
135
|
+
<object class="GtkHButtonBox" id="dialog-action_area1">
|
136
|
+
<property name="visible">True</property>
|
137
|
+
<property name="can_focus">False</property>
|
138
|
+
<property name="layout_style">end</property>
|
139
|
+
<child>
|
140
|
+
<object class="GtkButton" id="OKButton">
|
141
|
+
<property name="label">gtk-ok</property>
|
142
|
+
<property name="visible">True</property>
|
143
|
+
<property name="can_focus">True</property>
|
144
|
+
<property name="has_focus">True</property>
|
145
|
+
<property name="can_default">True</property>
|
146
|
+
<property name="has_default">True</property>
|
147
|
+
<property name="receives_default">True</property>
|
148
|
+
<property name="use_stock">True</property>
|
149
|
+
</object>
|
150
|
+
<packing>
|
151
|
+
<property name="expand">False</property>
|
152
|
+
<property name="fill">False</property>
|
153
|
+
<property name="position">0</property>
|
154
|
+
</packing>
|
155
|
+
</child>
|
156
|
+
<child>
|
157
|
+
<object class="GtkButton" id="CancelButton">
|
158
|
+
<property name="label">gtk-cancel</property>
|
159
|
+
<property name="visible">True</property>
|
160
|
+
<property name="can_focus">True</property>
|
161
|
+
<property name="can_default">True</property>
|
162
|
+
<property name="has_default">True</property>
|
163
|
+
<property name="receives_default">False</property>
|
164
|
+
<property name="use_stock">True</property>
|
165
|
+
</object>
|
166
|
+
<packing>
|
167
|
+
<property name="expand">False</property>
|
168
|
+
<property name="fill">False</property>
|
169
|
+
<property name="position">1</property>
|
170
|
+
</packing>
|
171
|
+
</child>
|
172
|
+
</object>
|
173
|
+
<packing>
|
174
|
+
<property name="expand">True</property>
|
175
|
+
<property name="fill">True</property>
|
176
|
+
<property name="position">3</property>
|
177
|
+
</packing>
|
178
|
+
</child>
|
179
|
+
<child>
|
180
|
+
<object class="GtkHSeparator" id="hseparator2">
|
181
|
+
<property name="visible">True</property>
|
182
|
+
<property name="can_focus">False</property>
|
183
|
+
</object>
|
184
|
+
<packing>
|
185
|
+
<property name="expand">False</property>
|
186
|
+
<property name="fill">True</property>
|
187
|
+
<property name="position">4</property>
|
188
|
+
</packing>
|
189
|
+
</child>
|
190
|
+
</object>
|
191
|
+
</child>
|
192
|
+
<action-widgets>
|
193
|
+
<action-widget response="0">OKButton</action-widget>
|
194
|
+
<action-widget response="1">CancelButton</action-widget>
|
195
|
+
</action-widgets>
|
196
|
+
</object>
|
197
|
+
</interface>
|
data/lib/unixcmd/aux.rb
CHANGED
@@ -46,7 +46,7 @@ class Pathname
|
|
46
46
|
end
|
47
47
|
|
48
48
|
# TODO: find another way
|
49
|
-
UNITS = %W(
|
49
|
+
UNITS = %W(kiB MiB GiB TiB).freeze
|
50
50
|
|
51
51
|
class Integer
|
52
52
|
def to_szstr
|
@@ -71,7 +71,7 @@ class Time
|
|
71
71
|
alias_method :old_strftime, :strftime
|
72
72
|
|
73
73
|
def strftime(format)
|
74
|
-
if ENV['LANG'] == 'ru_RU.UTF-8'
|
74
|
+
if ENV['LANG'] == 'ru_RU.UTF-8'
|
75
75
|
format = format.sub '%x', '%d.%m.%Y'
|
76
76
|
end
|
77
77
|
|
@@ -82,10 +82,19 @@ end
|
|
82
82
|
class MIME::Types
|
83
83
|
def self.get_icon_names(filepath)
|
84
84
|
types = MIME::Types.of filepath
|
85
|
+
|
85
86
|
return nil if types == nil || types.count == 0
|
87
|
+
|
86
88
|
script_path = Pathname.new(__FILE__).expand_path.dirname.to_s
|
87
|
-
|
89
|
+
|
90
|
+
begin
|
91
|
+
res = `#{script_path}/../gnome-get-filetype-icon #{types[0]}`
|
92
|
+
rescue
|
93
|
+
return nil
|
94
|
+
end
|
95
|
+
|
88
96
|
return (res.strip.split ' ').drop(2) if $? == 0
|
97
|
+
|
89
98
|
nil
|
90
99
|
end
|
91
100
|
|
@@ -113,6 +122,18 @@ class Gtk::Widget
|
|
113
122
|
signal_connect('clicked') { $actMap[path].call }
|
114
123
|
self
|
115
124
|
end
|
125
|
+
|
126
|
+
def inside? widget
|
127
|
+
w = self
|
128
|
+
|
129
|
+
while w do
|
130
|
+
return true if w == widget
|
131
|
+
|
132
|
+
w = w.parent
|
133
|
+
end
|
134
|
+
|
135
|
+
false
|
136
|
+
end
|
116
137
|
end
|
117
138
|
|
118
139
|
# continue from exception
|