Zipguy's Home Page -> My tcl Desktop & Freewareezsdxv98f.kit
1.5 Meg or ezsdx.exe
2.9 Meg, all Beta.
Note: All .exe versions are Starpacks, and are Windows Only |
|
|
Introduction ML EasySDX tclkit Irfanview |
Hi! Here's some of my
freeware, which I've written, or modified. And this
is my page, which tells you, about what I've done.
Yes, I've been active in tcl, and on the wiki, as you can
see, which is a rather large wiki. ML is a good editor both for text files, and for tcl files especially. If you happen to just want it, you can click on the links, ml.exe (Windows Only) or ml126f.kit. If you want to find out about what it is, you can click here, or just read on. Note that most of the screenshots may not be the most current ones from the most current Beta. EasySDX is an executable (sort of, which is known as a starkit). You will need another file to run this. What it does is make it easy to use SDX, which works real well at turning, many (, perhaps very many, ) .tcl files (and executables) into one file. It can convert them into either a .kit file, or, even better a .exe file. SDX is hard to use, so that's why I created EasySDX. It simplifies SDX Usage, which makes it far easier to use. If you were looking for it here, you can click on either of the links above to get it. If you wanted an explanation of using EasySDX, then you can click here, to read about it. If you were looking for an explanation of .kit files you can look here, here for tclkit (which you'll need to run a .kit file) or here. You also could look at a page that Irfanview created me here. I do love Irfanview, and have been using it for over 15 years, and been extremely happy wirh it. If instead, you were trying to understand what tcl is, or what I've been busy on, just read on. |
|
tcl aka Tools Command Language What is it? NOT OO For example |
I like tcl, known as "Tool
Command Language" in long form. If you want to know, or
learn, more about tcl, you can look that up at "What is TCL". It
is a robust language, but hard to understand, because
there are so many options. But I do like tcl! Why? Because it is:
I do not like tcl implemented as an OO (Object-Oriented language) yet. If you are OO, it makes your programs huge to support OO. Also you have to support OO in your source code, which make it a LOT larger. No thanks, so far. I found a good editor which was written in tcl,
which is about 50k in size, which was named ML Tcl/tk
Text Editor - v1.12. You can edit at least 20
files at the same time. Nice. Some good features
in there:
|
cap20120629_100947.gif
19.89 KB |
Relative Sizes Huge Small in Normal tcl My ML |
So first, just to make sure you
understand the differences in sizes of files: 1,024 bytes, which are actual characters, are 1K 1,000K = 1 Meg 1,000 Meg = 1 Gig 1,000 Gig = 1 Ter Just for comparison, another editor, which was ok, but, although was written in tcl, as Object-Oriented language, was 6.9 Meg vs 50K, for ML. 50K is not 5 Meg, which would be 1,000 times larger, but 6.9Meg which would be over 1,000 times larger in terms of source code. Wow! The download of the executable installer was 4.9 Meg (zipped). Well to be fairer, my starkit version, ml126g.kit is about 1.4 Meg (vs 6.9 Meg). But, that also includes a copy of tclkitxxxx.exe which it does write out, which is about 1.4 Meg! So that means that there is only 100k (approximately), in zipped form, for the entire editor! The starpack version, which is Windows only, is 2.8 Meg (more on that later). Instead my total size of my modified ml126f.kit is around 1.4M (or 1.4 X 1000 X 1024 bytes). A .kit file has been zipped, and has a lot more files in that .kit file. More on that later. ml.tcl, which is contained within ml126f.kit, is about 80k now. That means that I've added about 30k to ml.tcl (at least). I have a slightly newer version, of ML, which has not yet been released, but is available in beta here at ml126g.kit. Here's what it looked like, in MLv125b, when I have ELEVEN files open in the same editor, and am using under 19 Meg (out of 4 Gig) of memory. Note the statistics, especially in size of memory actually used. |
ml125bperformance.png
54.34 KB |
Why did I change it? |
See why I dislike OO in tcl? I may
decide to like it, or use it later, but so far I don't
like it. Why did I start to change it in the first place? Well, to tell you the truth, I strongly disliked the Orange-Yellow background in the original version (see back 2 screenshots). I did not like the color contrast in it. So I tried changing ml.tcl, which was easy to do, and worked well, which I liked. I wanted to add a run command to it, I did ... and it's come a long way since then. I've modified it quite a lot (ml.tcl is about 80k), lost some changes, put some back in, and I like it a more now. I added an Iconic toolbar in tcl, which took some work to do, and to figure out how to do it in tcl. Images are not good in tcl, unless their either .gif images or in in-line code for the image tcl statement. That's because only the .gif format's patent has expired! This is what it looks like now ->
|
mlv125b.png
55.78 KB |
Here are some of my changes, documented by the "Help" screen. |
mlv125h_help_screen.png
29.69 KB |
|
Things I added to it Popup Menu Works Great Wrap? tclkit Sizes of them kit vs starkit? Make Starkit Sample Understand the Process? What I Did |
I added some bells and whistles to it:
This is where I've modified it to come up with a popup menu, to:
This is great whether
you're running straight .tcl files or you're editing a
.tcl file within a starkit, and you need to run main.tcl
to run the starkit, without having to re-Wrap it first.
Then after you get it working correctly, you should
Wrap, Test, and then Copy it off to another directory if
you have a nicely working version (in case you make huge
errors later). If you don't understand what I just said,
allow me to ask questions for you. Wait a minute... I know tcl is Tools Command Language. You said "Wrap" it. With what. What is a starkit? Well a starkit is one file, a lot like a .zip
file. What you need to run it, even if you don't
know tcl at all, is that you can run it without having
to install all of tcl (which is around 26 Megabytes) and
instead have only one file to run it which is around 4
Megabytes (which is only a 2 Megabytes download).
Good questions. Both files have the
tcl in there, but different versions of tcl, which is up
to 8.5.9 right now. You can see that one is 8.5.2 and
the other is 8.5.9. the remainder of the the filename is
what platform it runs on (win32-x86) Windows XP and up
and one happens to be a 64 bit version. So
tclkit-8.5.9-win32-x86_64.exe is that. The
tclkit-8.5.9-win32-x86_64.zip is under 2 gig, and unzips
to tclkit-8.5.9-win32-x86_64.exe at around 4 gig. A kit version is just a runtime version of tcl.
It can run anything that really is a foo.kit file.
Well it's pretty simple, starkit=kit
files. These terms are interchangeable. A .kit file contains all the files necessary to
execute the kit file, which could be many. They have all
been zipped. They will unzip into memory, and run in
memory. They will have a directory structure and
perhaps many files in them under different subfolders. You can read more about starkits here if you want to
learn more about them. Or, if you just want
tclkit, that works on Windows (XP or up), then you could
download ml.exe, which would would
be called a Windows Starpack, which is about 2.8
Meg, which only works on Windows. Then,
the first time you ran it, it would write out
tclkit-8.6.0-runwin32.upx.exe. Then you could
rename it (using Windows Explorer) to
tclkit-8.6.0-win32.upx.exe, and presto, you've got a
working tclkit.
Starpack's are a whole different kettle of fish,
entirely! Starpack's include tclkit inside of it, which
makes it completely executable. But it makes it quite a bit larger. For example, you can download a Windows starpack, ml.exe
here, which is about 2.8 Meg. Thus is the ML
editor, in .exe form. Here's the other bad news. So if I have a foo.tcl file, how do I turn it into a or starkit file? Well, what you need is SDX. You use it to convert it to a foo.kit. You need to use it to regularly Wrap foo.kit. It is kind of wierd running it on Windows. What you have to do is Qwrap it first, then Unwrap it next. Then what you need to do is find the proper folder which was just created 'foo.vfs/lib/app-foo' and edit foo.tcl.You can look here or here to find out about SDX. What's Next? So let's say you're editing yacm.tcl under the
folder 'yacm.vfs/lib/app-yacm'. Ouch got an error in your source code like this:
Which when you hit the details button will see this:
Ok.. Go back and fix the error by trying to
change the source to what it should be. Then save it,
re-Wrap it, and then you can re-test it. The commands are kind of simple but are a
hassle to type.
Ouch it seems like it's kind of a pain doesn't it? What did you do? Well first didn't I tell you about my version of ML 1.2x.x? It's got a right-click pop-up menu where you can 'Save and Run ../../main.tcl'. |
mlv125h_Procedures
Screen.png 11.56 KB mlv125h_Request
Procedures_Window_Menu.png 53.46 KB mlv125h_Request
Procedures_Window Button.png 53.03 KB mlv125h_Request_Save+Run
Menu.png 52.37 KB mlv125h_Request_Save+Run
Button.png 53.43 KB cap20130309_175450.png
57.35 KB |
Run ../main.tcl? |
So here is a program I'm messing around with a little bit. It is called yet another clipboard manager, or short for that is yacm.tcl. It is by no means near completion, not even close to release 0.70x, but it is a work in progress. I will tell you later in this page how I converted it from yacm.tcl to a starpack. It does do what I wanted it to do, which is to remove blank lines from a copied Web page. I looked around a lot a couldn't find anything else that could do that, so I wrote one. So I'm currently editing the source code which is in 'D:\dl\dcl\mine\icons\yacm.vfs\lib\app-yacm\'. I'm doing this by using ML on the source code of yacm.tcl (which is all of the main program of the starkit). So look at this and you'll see where I'm at in my hard disk. See the 'Modified' in red? I've just right-clicked and selected 'Save and Run ../main.tcl'. And here is the program running. A lot faster in getting the program saved and running it. I'm actually sort of cheating and running ' ../main.tcl' which is equivalent, sort of, to running the re-Wrapped starkit. What I'm not doing is
You can download ML from the top or bottom of this screen. Or you can download the Starpack, ml.exe, which is about 2.8 Meg, which only works on Windows. |
cap20120718_223827.gif
24.10 KB |
EasySDX |
So how did you convert it to a starkit? Well I've written a program to do that for me. Have a look at it down below What you should notice is that this, called EasySDX is not working on a file yet, so it only has a a couple of buttons that will do anything useful yet. It does replace those buttons, with a wholy different set, based on the file's extension, when you change what type you're editing. You'll see that later on. |
|
This program can handle both types of
files:
When you first run EasySDX, it starts like this: If you have been running a beta version, older than EasySDX v098e, you would remember what a pain it used to be, in prior versions. You constantly, on Windows, would have to switch between, EasySDX's main window, and the console window. Now, it uses a novel approach to redefine stdout, so that you can see what responses you get, right in the EasySDX's main window. More on that is coming on another page, yet to be written. Notice how all the colors are used above. So far the colors used are:
To give an example of the way it used to look, here's the old console window which used to look like this: What is interesting is that all it only has the 'Exit' button (and lots of toolbar buttons). Those toolbar buttons will give you errors. What's going on? Why? That's because you haven't yet selected a file. You can do that by pressing the 'File:' button (which is highlighted in a red box, above). If you do that. then you should see a familiar screen which is part of Windows, which looks like this: If you click on that file you want, it will fill it in the 'File name:' field, and then you can click on the "Open" button. IF you do that then you'll see this screen when it comes back (which is fast). What you should notice is that there are two new buttons on that screen, namely 'Run', 'QWrap', even though there are a lot more graphic buttons on the toolbar above! Those two buttons were given to you because, you're working on the file called 'gfc.tcl'. What EasySDX is trying to tell you is that it is only a file called 'gfc.tcl', and that these are the two only available operations that you can do on this file. Or on any file that has the extension '.tcl'. You can try running it, and you'll just be running the file called 'gfc.tcl'. It should run normally. You'll see more about the "Wrap & Run" buttons later. You can Qwrap it, by hitting the 'Qwrap' button (which is highlighted in a red box, above). If the file 'gfc.kit' doesn't you'll get a message like this: What you should do, is hit the 'Ok' button (which is highlighted in a red box, above). If you do this, then you'll see this screen: So if it worked it's now a starkit. But your message in the first stage of making it into a starkit, told you 'What you should do, immediately, after, is hit the 'Unwrap' button'. If you do this, then you'll see this screen: What you should do, is hit the 'Ok' button (which is highlighted in a red box, above). If you do this, then you'll see this screen: If you see the important part of this screen (which is highlighted in a green box, above), then the 'Unwrap' worked. See how the colors work? What you might want to do now is, take mental note of the filename you're currently editting, close whatever editor you're running in, on the file and re-open it in the folder 'D:/dl/dcl/mine/icons/gfc.vfs/lib/app-gfc/gfc.tcl'. What you should do is replace gfc, wherever it appears in the previous item, with the name of the tcl file that you've been editing, your filename as. If you do not do that, then whatever changes you make in your current editting session, will be ignored totally, by EasySDX! Notice that it becomes part of the folder name in 'gfc.vfs/lib/app-gfc' too! Also, the program you're currently working on, it may be in a different folder, on a different drive, to start with. EasySDX, does handle this well, because it knows where it was run from, and only re-writes it's ini file, in the EasySDX's folder, to reflect what drive, and folder you're working on. You can try clicking on the 'Wrap & Run button (which is highlighted in a red box, above), which is now working on the file 'gfc.kit', and it will, after a few seconds, 4-5 on my machine, will show this screen: Your results, will vary a lot, depending on whatever program you're working on! After you've hit the 'Exit' button, or closed your application, you'll be back to this screen: Here's a good example of how the colors are used (which are highlighted in a green box, above). The 'normal for SDX commands' , and responses back from SDX, are in black on white. So, first you issue the SDX wrap command, namely: 'sdx::sdx wrap gfc.kit' the reason this works. is because the applications path is switched (in Windows terms 'cd dl\dcl\mine\icons') , when you select a .kit file, in a different folder. to which, the response from SDX is: '5 updates applied' and further the command issued for you for Windows is: 'exec D:\dl\dcl\mine\icons\tclkit-8.6.0-runwin32.upx.exe D:\dl\dcl\mine\icons\gfc.kit &' which does make the application run. Those are the the SDX command and a Windows command, that are issued for you, in response to clicking on the 'Wrap & Run' button. The application informs you about what is doing by giving you some commands in the color 'extremely light green - {dark sea green}'. Those informational messages are '-- Starting Wrap & Run ...' and '-- ...Done, Complete.' What you should do now, is get used to the 'Wrap & Run' button, that is on your application, namely EasySDX. You might want to reposition your window, just behind your favorite editor, so that. that button is just visible. The 'Wrap & Run' button is your friend. Now that you are really in starkit mode. You can make changes, with any editor of your choice, save'em, and switch to EasySDX, and hit the 'Wrap & Run' button, in order to "Wrap" and "Run" your freshly changed code, in .kit form. Then you can close your new application, make more changes, 'Wrap & Run' again etc.. That's why the most useful button is near the edge of the window. That would make it a lot easier, and less complicated, to test your freshly changed code. If you were to do something, perhaps, stupid like hitting the 'Unwrap' button again, it would give you an appropriate error message, namely: 'Directory gfc.vfs already exists!' Notice how the message appears. It is in Lighter red in the background - red {indian red}, because it is an error message (and white as the foreground - white) to make it more readable than black on red. Here's what that screen looks like: Why was that Windows command so long? Ah, good question. The answer is you only need one copy of tclkit on your computer (namely tclkit-8.6.0-runwin32.upx.exe) in order to run tcl, in kit form. Remember that I told you that EasySDX had SDX inside of it and wrote it out. Whoops, I didn't tell you that, but I should have. It does have two files, at least, that it writes out when it is executed the first time (it will check to make sure that they're there, each time you first run it, which could make EasySDX write them out again). One of those files is sdx.kit, which is a working version of SDX. The other file, that it will write out, is one named 'tclkit-8.6.0-runwin32.upx.exe'. It will use that file, which it wrote out, in the folder that EasySDX was executed in. What's cool about that, is that all you need to run a kit, on any folder in your computer (yes, even on other drives), with that copy of tclkit. It's part of EasySDX's problem, to format the 'exec' properly, not yours! The main reason to do that, is it's kind of polluting, to have multiple copies of tclkit's in seperate folders, and is a real hassle, when there are multiple versions (perhaps beta versions even) to maintain in different folders. Why did you do that? Because, you might have downloaded EasySDX.exe, which is a Starpack, for Windows only, and not even have had any tclkits on your computer. EasySDX, the Starpack, would need a tclkit, to run a tcl file, or .kit file (as you would too). What else can you do with EasySDX? What you can also do with this beta version of EasySDX, is to combine a .kit file and a runtime version of tcl (tclkitx.x....) into a 'xxxx.exe' file, once you've got something useful. You can do this, from EasySDX, by hitting the 'Make .exe' button! That will add around 1.5Meg to the size of your .kit file, and make it into a Starpack, called 'gfc.exe' in the case above. You might want to see what it means to be a Starpack. You can run it from EasySDX with the 'Run.exe' button! Thought that might get you interested in the beta version ezsdxv98f.kit 1.5 Meg. So it is a lot larger, around 1.5 Meg, because it contains tclkit-8.5.8-win32-x86_64.exe which it does write out, once you've started it. Here is some of the current help screens -> You can download EasySDX (around 160k, because it includes sdx) here as ezsdk045.kit (or the beta ezsdxv98f.kit, which I am using, which is around 1.5 Meg). |
ezsdx_help_screen_01.png
38.66 KB ezsdx_help_screen_02.png
38.68 KB |
|
and here's the console screen. It really does work. When I save the program in ML Edit and click on the ' Wrap & Run' button it takes about 4 seconds to wrap and run. But that does not include the save button in that. Here is the somewhat current version of ML which is ml126g.kit around 1.4 Meg, which is in beta. |
cap20120721_125340.gif
14.74 KB |
|
Thoughts on ML |
Here's where I'm stashing, part of the help screen, which says "Thoughts on (minor?) things to add:". Those are on my to do list. You can find my email here. on the wiki. If you really want something, you should send me an e-mail. There is no place on this site to have a "Forum" or something yet, but that is on my to do list also. :) In the meantime, if you know how to "Edit" a wiki page, you could post your ideas here. I hope you enjoyed reading this page. |
|