13 ms·
TKE: Modern Tcl/Tk-based text editor
- gaius 8y agoBack in the day my editor of choice on classic MacOS was called Alpha, also extensible in Tcl. Can’t find any version of it for OSX. I’ll take this one for a spin later! But... sourceforge? Really?!
- hawski 8y agoThere should be a bot or a separate feature on HN which would add a FAQ section automatically based on a title, a domain and maybe if we are wild on contents. So when something is hosted on Source Forge this link could be presented: https://arstechnica.com/information-technology/2016/06/under-new-management-sourceforge-moves-to-put-badness-in-past/ https://arstechnica.com/information-technology/2016/06/under...
- bhaak 8y agoI find it surprising how merciless some people are in remembering this issue with Sourceforge. Considering how loved Microsoft is these days when it was a much worse player in the past, likely even set back personal computing a decade, and all their anticompetetive actions. I chalk it up as some kind of disappointment by expecting better of SF than others.
- SwellJoe 8y agoI remember when I used to cringe that an application was built with Tcl/Tk because it would be very slow and need quite a bit more memory than a similar application written in C or C++. But, today, I suspect this editor is an order of magnitude faster and an order of magnitude smaller than Atom or VSCode (this is purely speculation, of course...but, I feel like it's a reasonable hunch, based on my experience with Tcl/Tk in the past).
- hansen 8y agoAnd all those Emacs jokes don't work anymore
- oblio 8y agoI don't use Emacs, but those Emacs jokes kind of stopped when having 64MB of memory became common. So circa 2000 :)
- bhaak 8y agoYeah, my current Emacs session is using 2 GB of RAM and that is considered low memory usage these days.
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- dwringer 8y agoI don't think that kind of memory usage is necessarily common - I get sessions that grow for whatever reason but typically I can have several emacs instances running at once using less than 100MB each - the ones I treat like notepads are often less than 10MB.
- tyingq 8y ago"the ones I treat like notepads are often less than 10MB" Interesting. That's not much off the old "eight megs and constantly swapping" joke.
- nine_k 8y agoHmm, why would one run several emacs instances? Emacs supports the client-server model, which I find very convenient and fast. Basically having `EDITOR="emacsclient -n"` allows you to use the one emacs everywhere.
- pkz 8y agoWhy is this hosted on Sourceforge? Looks fishy. Is it a bitcoin miner?
- mehrdadn 8y agoSourceForge has not been fishy for a while now.
- f0r 8y agoBecause the Tcl community is 10+ years behind everyone, and that's still their goto code hosting site.
- monetus 8y agohttp://chiselapp.com/ http://chiselapp.com/ is where most of the active TCL repositories are stored, at least for fossil. For git, it seems to be a mix of GitHub and gitlab.
- grall 8y agoThe main repositories for Tcl, Tk, and a few near-core packages are at https://core.tcl-lang.org/index.html https://core.tcl-lang.org/index.html Some of these are also mirrored over to https://github.com/tcltk/ https://github.com/tcltk/
- interfixus 8y agoAt least it's not Microsoft.
- rijoja 8y agoI never really got how Multi-Cursor / Multi selection became such a big deal. It really never happens to me that I have to write the same thing on N-lines, and when that happens VIM ninja works just as well.
- tpaschalis 8y agoEhm, I agree with the Vim point, but think of those who won't/can't spend time getting past that Vim learning curve. Especially for people dealing with csv files, tabular data or digging through logfiles, Multi-Cursor and Multi-selection are concepts that are easy to grasp, and can help productivity immensely, with things that are not that easy using Nano or Notepad. Simple cases in point : Use a regular expression to find and copy all lines with a particular pattern, or copy-paste a few csv lines with a couple of fields modified.
- JNRowe 8y agoIt doesn’t have to be an either/or choice, having both can work. For example, I’ve just used vim-multiple-cursors¹ to rename a parameter to a function, and I could have done that with “straight” vim too. However, for quick operations a simple `C-n`… to select the name, followed by `c` to change all at once just /felt/ nice. 1. https://github.com/terryma/vim-multiple-cursors https://github.com/terryma/vim-multiple-cursors
- akashakya 8y agoMultiple-cursor is useful when you want to edit lines which have non-trivial edits or doesn't have a common string to use find-replace. simple example foo_bar -> fooBar bar_baz -> barBaz Sometimes even this doesn't cut it and have to use mighty Emacs macros. (I'm sure something similar exits for VIM)
- deviantfero 8y agoplease correct me if I'm wrong, but wouldn't :'<,'>s/_b/B/ work in this case?
- 8y ago
- mhd 8y agoDoesn't seem to package Tcl/Tk (despite things being one of its strong points), so make sure your local system has a recent enough version.
- fithisux 8y agoUndrowish is your friend?
- int_19h 8y agoThis appears to be non-high-DPI-aware on Windows (on Win10, the OS pixel-scales it on a 4K display). Is it possible to fix, or a fundamental Tk limitation?
- ernst_klim 8y ago>or a fundamental Tk limitation? This.
- aidenn0 8y agoIt's very easy to fix; a single tk command to change the scaling of the application.
- gigatexal 8y agoMissing DYLD library on my Mac won’t let it run. Bug filed - https://sourceforge.net/p/tke/tickets/55/ https://sourceforge.net/p/tke/tickets/55/
- gigatexal 8y agoFixed after installing TK from activestate.
- alex_smart 8y agoWhy?
- fithisux 8y agoDisclaimer: Do not want to start a flamewar and I will continue to use TCL/TK for the forthcoming years. It is a really pitty that Tcl does not suppport a Lispy alternative interface to the language. I used many times Tcl/TK which saved the day repeatedly. I would like to have a really nice CL or Scheme interface to all TCL/TK goodies or support alternative syntax like JS or JVM languages. Once there was a Scipad. What happened with that project?
- sanxiyn 8y agoIIRC, LTK provides a comprehensive binding to Tk for Common Lisp.
- fithisux 8y agoThank you very much for the recommendation
- alxlaz 8y agoI'm here to second LTK :-). It's a while since I last used it (2012, 2013, I think?) but it was, and I'm sure it still is, a very good library. It's easy to get started with, easy to work with, easy to debug.
- deleted 8y ago[deleted]
- shakna 8y agoPS/Tk for Chicken Scheme [0] would be my serious recommendation. There is STklos [1], which is a R5RS Scheme with Tk embedded into it, as well as GTK+ for when you feel the need. It is actively developed. (Started out in life as Scheme Tk). [0] https://wiki.call-cc.org/eggref/4/pstk https://wiki.call-cc.org/eggref/4/pstk [1] http://www.stklos.net/ http://www.stklos.net/
- fithisux 8y agoThank you very much for the recommendation
- Anonymous4C54D6 8y agoSo, Hackernews, here is what I want you to do. Create a website with "solve this with your editor" challenges where everybody can upload screencasts and compete. :) An obvious metric would be /time to completion/ but I would also be interested to see /can be done with mouse only while drinking coffee/ or in general /can be done one-handed/, /can be done left handed/ (so the mouse is free) or maybe /keystrokes+clicks/ instead of general timing because it takes the typing speed out of it. Some metric that measures how many shortcuts you have to memorize would be great, too. Now somebody go and do it! :)
- higherhalf 8y agoLike vimgolf[1]? [1]: https://www.vimgolf.com/ https://www.vimgolf.com/
- Anonymous4C54D6 8y agoThat sort of misses the point of comparing different editors. :)
- omaranto 8y agoVimgolf can be played in any editor, of course. I enjoy doing it in Emacs.
- agumonkey 8y agoprogrammable editors accepted ?
- gnulinux 8y agoEditor that is not programmable? Like notepad? All editors I can think of now (emacs, vim, atom etc) have Turing complete extension languages.
- yellowapple 8y ago
- pablo1 8y agoWhat about the "Native Vim Support" listed on the homepage? I can't find any more info on that. Has anyone tried it?
- deevus 8y agoI tried some basic motions and the editor crashed
- phase1geo 8y agoCould you elaborate on this? I use TKE in Vim mode every day and haven't run into issues with supported Vim motions. What motions did you try doing? Tcl/Tk is usually pretty difficult to crash.
- deevus 8y agoI tried it again just now. 1. Opened TKE 2. Changed to insert mode 3. Typed some random characters 4. Pressed ESC 5. Press b TKE crashed I'm on Windows 10, recently fresh install.
- phase1geo 8y agoI recall that there was an issue in Tk in regards to the wordstart/wordend index adjectives (which the 'b' command uses); however, I thought that was an issue with 8.5 version of Tk. What version of Tcl/Tk are you using? If you go to the About window within TKE, it will show which version is being used.
- phase1geo 8y agoNever mind. I get the same problem with the version that comes with the bundled version of TKE. I appreciate the information!
- deevus 8y agoHappy to help
- Ice_cream_suit 8y ago"The Free Software Foundation recently released an "Ethical Repository Criteria" list, and it gave SourceForge a failing grade" Just saying...
- OskarS 8y agoAccording to GNU's page on this, GitHub also got a failing grade: [0] Are you making this same comment every time someone posts a project on GitHub? [0]: https://www.gnu.org/software/repo-criteria-evaluation.html https://www.gnu.org/software/repo-criteria-evaluation.html
- josefx 8y agoNot surprising, their most basic criteria already requires a custom annotation in JavaScript code. Unless a page panders to this specific test it is set up to fail.
- myspy 8y agoWow, long time not seen Tcl/Tk. I came in touch with it and I can't find anything nice to say about Tcl. So a round of applause to you for building an editor with it.
- zinid 8y agoSo I tried to install it and got fancy error: $ ./install.tcl ...skipped... Copying data to lib/tke/data... done. Copying doc to lib/tke/doc... done. Copying lib to lib/tke/lib... error! error copying "lib" to "lib/tke/lib": "lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/...skipped.../tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/doc/md/TKE Developer Guide/Plugin Development/Safe (Untrusted) Interpreter Description.md": file name too long
- zinid 8y agoAnd it consumed 8.7Gb :) I wonder if the editor itself is of the same quality :/
- tyingq 8y agoThat looks like what you would get if you asked it to install in the same directory you downloaded it to. It would try to copy lib/ into itself, resulting in your "lib/tke/lib/tke/lib/tke/..." mess. Like: $ mkdir lib $ mkdir lib/tke $ tclsh % file copy lib lib/tke/lib error copying "lib" to "lib/tke/lib": "lib/tke/lib/tke/[cut off long string here]": file name too long Specify a root directory other than the current directory and it should work. I wonder if tcl should disallow copying a directory into itself. Edit: I opened a bug report for tcl: https://core.tcl.tk/tcl/tktview/82049f96f841214bb8cee18e1bf8f84aa25ed9aa https://core.tcl.tk/tcl/tktview/82049f96f841214bb8cee18e1bf8...
- dsego 8y agoI don't trust SourceForge.
- __michaelg 8y agoI read 'Modem' instead of 'Modern' and it still made sense.
- progfix 8y agoThe german localisation is so so bad. If you speak german and you need a laugh please install it. The document view is called "Ms. Pacman" Hahah :D
- phase1geo 8y agoTKE uses some automation to attempt to provide translations (as if you haven't already guessed). If you have some time, fixing the translation file would be greatly appreciated!
- rauhl 8y agoBack when I was a macOS user (back when we just called it System 7 …) I discovered Alpha: an extensible editor written in TCL. It was pretty amazing, and was what first opened my eyes to what could be done with a scriptable editor. Oddly enough, it still exists: https://alphacocoa.sourceforge.io/ https://alphacocoa.sourceforge.io/ (last updated 16 days ago!). I’m a heavy emacs user nowadays, but there’ll always be a soft spot in my heart for Alpha.
- sephware 8y agoThere seems to be a lot of influence between editors which to me is the most interesting part of all of this. Just looking at TKE's screenshots, it resembles VS Code to a not-insignificant degree, and VS Code and Atom both seem to have been inspired graphically by Light Table, and all of these as well as Alpha have a programmability that's heavily inspired by Emacs, although Alpha's GUI is closer to TextMate which was influenced by BB Edit, and the history of editors is something I'd love to see someone with more knowledge of the history do a more comprehensive write-up of it.