home.social

Search

1000 results for “tcl_tk”

  1. I've heard recently that there are plans to deprecate #gnome #gtk in favour of #tcltk. My source said that by 2027, most projects will have migrated from GTK to Tcl/Tk. Are you prepared for the switch over? @ebassi

  2. I've heard recently that there are plans to deprecate #gnome #gtk in favour of #tcltk. My source said that by 2027, most projects will have migrated from GTK to Tcl/Tk. Are you prepared for the switch over? @ebassi

  3. I've heard recently that there are plans to deprecate #gnome #gtk in favour of #tcltk. My source said that by 2027, most projects will have migrated from GTK to Tcl/Tk. Are you prepared for the switch over? @ebassi

  4. I've heard recently that there are plans to deprecate #gnome #gtk in favour of #tcltk. My source said that by 2027, most projects will have migrated from GTK to Tcl/Tk. Are you prepared for the switch over? @ebassi

  5. @felipeborges
    Hey, I was wondering, what do you and your colleages in the #gnome development team think about Tcl/Tk?
    #tcltk
    I heard some people discussing lately about bringing back the Tcl language, it's becoming popular again. Perhaps it would be a good idea make Tcl bindings for GTK?

    I think it would be worth considering, or else gnome might be left out when Tcl returns to the throne as the most popular scripting language.

  6. seemingly out of nowhere I've somehow found myself delving deeper into technologies that could be classified as "permacomputing"-friendly or adjacent. I've recently been doing a lot of reading and exploration on things like around redbean, lua, tcl/tk, c, portability, longevity, and "old" tech and can't help but get excited or overly curious about them.

    #permacomputing #lua #redbean #tcl #tk #c #portability

  7. Occasionally, I do some with . Packages I like to work with are and . The latter has even a relative with an interactive Tcl/Tk GUI that works nicely in . Its name is .

  8. Occasionally, I do some #ImageProcessing with #rstats. Packages I like to work with are #imager and #magick. The latter has even a relative with an interactive Tcl/Tk GUI that works nicely in #RKWard. Its name is #magickGUI.

  9. Occasionally, I do some #ImageProcessing with #rstats. Packages I like to work with are #imager and #magick. The latter has even a relative with an interactive Tcl/Tk GUI that works nicely in #RKWard. Its name is #magickGUI.

  10. Occasionally, I do some #ImageProcessing with #rstats. Packages I like to work with are #imager and #magick. The latter has even a relative with an interactive Tcl/Tk GUI that works nicely in #RKWard. Its name is #magickGUI.

  11. Random Wiki page of the day:

    🔗 wiki.tcl-lang.org/page/Hearts

    It's a card game, from back in 2013. The page claims that some of the code is from an AI. In 2013?

  12. It has now become easier to follow the development of Tcl. The website hosting the TIP collection (Tcl Improvement Proposals), you can now use the "Forum" to discuss and learn about each TIP individually. On thread per TIP!

    🔗 core.tcl-lang.org/tips/forum

  13. Now, this seems to be a big one:

    Gtk4Tcl v1.1.0 - A Modern, High-Performance FFI Bridge to GTK4

    With this package you can build modern, hardware-accelerated desktop applications for Tcl with native GTK4 widgets, CSS theme engines, and high-performance canvas systems.

    🔗 github.com/wjgiddings/Gtk4Tcl

  14. Interested in state-graph driven command interpreters? Then you might want to look at cmdgraph:

    🔗 github.com/sgeard/cmdgraph

    It is "a parsing and dispatch kernel for building interactive command shells and REPL-style
    workflows". There are Tcl, Fortran and C++ versions.

  15. TIP 676 proposed a shorthand command for the common pattern `[expr {...}]` using just `[= ...]` instead and with some simplifications and limitations. The TIP wasn't accepted for inclusion into Tcl but there is now a pure Tcl version of the idea with some other features added as well:

    🔗 github.com/rocketship88/colin-

  16. New feature in – part 35:

    vwait - controlled by several new options

    Which one? Well, all! in Tcl 8.6 vwait did not have any options at all. Now, there are 🔟❗️Too many for a short post like this. Have a look yourself:

    🔗 tcl-lang.org/man/tcl9.0/TclCmd

  17. New feature in – part 32:

    lsearch ... -stride ... — Search a list by groups of items

    [lsearch ...] is powerful. For flat lists, the -stride option in Tcl 9 can kind of pretend that your list is "nested". In fact, it groups a number of items and treat them as a unit:

    lsearch -stride 3 {a A amen b B bank c C citron} c
    6

    Here, each three elements "a a amen", "b B bank" and so on are regarded as one group. Together with the `-index` option, you can search in any group element!

  18. New feature in – part 31:

    info loaded ... ?prefix?

    With [info loaded], you get a list of all files in an interpreter that have been loaded into Tcl using the [load] command. When you are only looking for the file name of a specific prefix, use the new "prefix" option:

    Here's an example when looking for the Tdom prefix in the main interpreter:

    % info loaded {} Tdom
    /Users/auser/Library/Tcl/tdom/lib-tcl9-tdom0.9.3.dylib

  19. New feature in – part 30:

    clock scan ... -validate ...

    With Tcl 8.6 you could just write `clock scan 2026-01-34` and Tcl would spit out "1770044400" which is equivalent to "Tue Feb 03 00:00:00 JST 2026". But maybe, you want to avoid such invalid dates in the first place. Who says I meant Feb3? It could have been a type from a user?

    This is now possible with the `-validate` option. If true (and this is the default now), you will get an "invalid day" error. Very convenient!

  20. New feature in – part 29:

    chan configure ... -inputmode ... — Support for raw terminal input and reading passwords

    Serial ports are dead? No, they get even better! With Tcl 9, you can now set the `-inputmode` option to "normal", "password", "raw" or "reset". For example, `-inputmode password` disables echoing input which is useful for ... well, passwords. Note, this is not documented on the "chan" manual page but on the "open" page ...

  21. New feature in – part 28:

    tcl::idna::* — working with encoded DNS names

    IDNA is "Internationalizing Domain Names in Applications". You can use it to convert between and ASCII representations using .

    Such URLs look like this: www.xn--Tcl-ist-s-o1a23a.de

  22. New feature in – part 27:

    readFile, writeFile, foreachLine — simple procedures for basic working with files

    Before Tcl 9, you had to write your own file reading and writing procedures. Tcl 9 makes life a bit easier by proving some to you. E.g., you can now write:

    foreachLine myVar /Users/me/Documents/myfile.txt {
    if {[string length $myVar]} {puts $myVar}
    }

    to write out every non-empty line of a file. Image the possibilities!

  23. New feature in – part 25:

    tcl::process — Commands for working with subprocesses

    This is a very useful new command. It allows subprocesses that have been started from Tcl's [open] or [exec] commands to be managed using their PIDs (process identifiers). This comes in handy to check the status of such a running subprocess or purging them after termination.

  24. New feature in – part 24:

    string is dict — Test whether a string is a dictionary

    EIAS – in Tcl, everything is a string. More precisely, in Tcl every value has a string representation. Dictionaries too. But when does a string have a format that is a proper dict structure? This new command can tell you. If the string is not a dictionary, the command can even tell you at which element this is the case ... sometimes.

  25. New feature in – part 23:

    string insert — Insert a string as a substring of another string

    We could wonder why such a command hasn't existed in the first place. Anyway, you can now just insert strings into specific places of another string ... with all the benefits of relative indices:

    set s [string insert mylongstring 2 { }]
    my longstring
    string insert $s end-6 { }
    my long string

    Doing such a command in pure Tcl is surprisingly hard:
    🔗 wiki.tcl-lang.org/page/string+

  26. New feature in – part 20:

    lremove — Remove elements from a list

    This sounds too simple, doesn't it? Can't we do this in plain Tcl just as easily? Yes, we can. However, this new command makes deleting elements from a list much easier. Instead of

    set newList [lreplace $myList 3 3]

    just write

    set newList [lremove $myList 3]

    Wow, uhm, one argument less, but otherwise? What's the deal?

  27. New feature in - part 16:

    file tempdir — Create a temporary directory

    Wonder where to put temporary files? In Tcl 8 you needed to figure this out on your own. In Tcl9 you now have this command! The directory returned is guaranteed to be newly created and writable by the current script.

    This command is the sister command to the existing [file tempfile] command of Tcl 8.

  28. New feature in - part 15:

    file tildeexpand — Expand a file path containing a "~"

    While Tcl 9 no longer magically recognizes and substitutes a tilde in path names, you may of course want to handle those. This new command let's you explicitly do so ... which is much more secure than the old approach as you decide when and how the substitution takes place ... and you can take the necessary security measures!

  29. New feature in - part 14:

    file home — Get the user home directory

    Tcl 9 removed tilde expansion of file names. It is error-prone and a security issue. Instead of using the tilde, you will now use the [file home] command to get a file path element that represents the home directory.

    This is related to the new [file tildeexpand] command ... that comes in part 15 of our series. You can read about all details in this TIP:

    🔗 core.tcl-lang.org/tips/doc/tru

  30. And here is the missing part 12 😉 ...

    New features in - part 12:

    const, info consts, info constant — Commands for defining and using constants

    This is a huge one! It introduces an unmodifiable variable, a named constant, something that is completely new in Tcl. But why would we want this? Here's an example:

    proc foo {a b} {
    const BAR 12345
    return [expr {$a + $b + $BAR}]
    }