-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshell.tcl
More file actions
52 lines (48 loc) · 1.91 KB
/
Copy pathshell.tcl
File metadata and controls
52 lines (48 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# gizmo
# Copyright 2020 Mark Hubbard, a.k.a. "TheMarkitecht"
# http://www.TheMarkitecht.com
#
# Project home: http://github.com/TheMarkitecht/gizmo
# gizmo is a GNOME / GTK+ 3 windowing shell for Jim Tcl (http://jim.tcl.tk/)
# gizmo helps you quickly develop modern cross-platform GUI apps in Tcl.
#
# This file is part of gizmo.
#
# gizmo is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# gizmo is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with gizmo. If not, see <https://www.gnu.org/licenses/>.
# required packages.
puts paths=$::auto_path
package require gizmo
# command line.
#lassign $::argv ::metaAction testName
set ::metaAction refreshMeta
# load GI namespaces required for this app.
::gi::loadSpace $::metaAction GLib 2.0 libglib-2.0.so
set ::g::ignoreNames [list g_strv_get_type g_variant_get_gtype] ;#todo: move to g.tcl.
::gi::declareAllInfos GLib ;#todo: move to g.tcl.
::gi::loadSpace $::metaAction GObject 2.0 libgobject-2.0.so
set ::gobject::ignoreNames [list g_signal_set_va_marshaller] ;#todo: move to gobject.tcl.
::gi::declareAllInfos GObject ;#todo: move to gobject.tcl.
::gi::loadSpace $::metaAction Gio 2.0 libgio-2.0.so
set ::gio::ignoreNames [list g_io_module_query] ;#todo: move to gio.tcl.
::gi::declareAllInfos Gio ;#todo: move to gio.tcl.
# REPL loop.
while {1} {
puts -nonewline "\n> "
set ln [gets stdin]
try {
puts [eval $ln]
} on error {msg opts} {
puts "Error: $msg"
}
}