Le Tcl Core Team (TCT) est heureux d'annoncer la sortie de la version 9.0 du langage de script Tcl et de la bibliothèque d'interface graphique Tk.
C'est la première version stable de la branche Tcl/Tk 9.0 dont le développement a commencé en janvier 2013.
Il y a quelques potentielles incompatibilités avec les précédentes versions même si la plupart des programmes fonctionneront sans retouches.
Les principales nouveautés et améliorations de Tcl 9.0
- Données en 64-bit : support des structures de données supérieures à 2 Go (variable, chaîne de caractères, tableau, liste et dictionnaire).
- Support étendu d'Unicode : avec tous les emojis qui vont bien.
- Système de fichier virtuel dans le langage : basé sur le format zip et permettant la lecture/écriture ou le montage/démontage.
- Déclaration de constantes :
const
- De nouvelles commandes de listes :
lpop
,lremove
,ledit
etlseq
- De nouvelles options pour les tableaux :
array default
etarray for
- De nouvelles commandes de coroutines :
coroinject
etcoroprobe
pour interagir avec une coroutine en pause. - Substitution avec script : possibilités d'attacher un script à la commande
regsub
- Notation décimale explicite : un entier pourra optionnellement être précédé du préfixe
0d
pour indiquer sans ambiguïté qu'il est en notation décimale. - Notation de nombre : possibilité de noter un nombre entier avec des tirets bas (underscore) pour plus de clarté (
1_000_001
). - Changement de l'interface de notification d'événements : remplacement de
select
parepoll/kqueue
. - Le tilde (~) n'est plus interprété comme le répertoire
home
. - L'encodage par défaut d'un script devient l'UTF-8.
Les principales nouveautés et améliorations de Tk 9.0
- Onglets de tous les côtés : haut/bas/droite/gauche et navigation avec la molette de la souris.
- Accès au système de notification, à la barre des tâches et au gestionnaire d'impression :
tk sysnotify
,tk systray
,tk print
. - Texte dans une barre de progression :
ttk::progressbar ... -text
- Badge temporaire sur une icône :
wm iconbadge
- Image de fond dans un frame :
frame ... -backgroundimage ... -tile ...
- Support partiel du format SVG :
image create photo ... -file test.svg
- Accès aux métadonnées et au cannal alpha des images :
image read/write/put/cget ... -metadata
etimage get/put ... -to ...
- Rotation des objets graphiques d'un canvas :
canvas rotate ... x y angle
- Support du défilement à deux doigts.
Pour le reste des nouveautés
- Un pythoniste (Marc Culler) fait partie du TCT pour faciliter le développement de TkInter.
- Il n'y aura pas de version 8.7 officielle.
- Tcl 9 bénéficie d'un nouveau logo dessiné par une graphiste (Valerie Carroll).
Aller plus loin
- L'annonce pour Tcl sur comp.lang.tcl (98 clics)
- L'annonce pour Tk sur comp.lang.tcl (58 clics)
- Le site officiel (462 clics)
- Un outil d'aide à la migration vers Tcl 9 (47 clics)
- La précédente dépêche de Tcl/Tk 8.6 sur Linuxfr (74 clics)
# copies d'écran pour Tk
Posté par BAud (site web personnel) . Évalué à 3 (+3/-2).
Bon Tk reste pas mal basé sur l'apparence de Motif_(bibliothèque_graphique) mais bon… ça fait le taf'
Peut-être y-a-t'il une mise à jour de https://tk-happy.sourceforge.net/main_window.html — les copies de fenêtres Win XP semblent dater :-)
Sinon, c'est dans https://wiki.tcl-lang.org/page/Category+GUI que l'on peut trouver à quoi cela peut ressembler, par exemple
Sous windows et mac, cela semble mieux s'adapter à l'apparence du bureau
choisiimposé.[^] # Re: copies d'écran pour Tk
Posté par Elfir3 . Évalué à 10 (+8/-0).
Il y a la possibilité d'utiliser des thèmes, ce qui permet de changer pas mal l'apparence: https://tkdocs.com/tutorial/styles.html
On est pas au niveau d'intégration d'une application Gnome dans Kde par contre.
[^] # Re: copies d'écran pour Tk
Posté par Psychofox (Mastodon) . Évalué à 10 (+7/-0). Dernière modification le 02 octobre 2024 à 13:15.
Le TK actuel ne ressemble pas du tout au motif tout gris foncé avec des polices sans antialiasing comme ton exemple. Alors oui les boutons sont carrés et skeumorphique à l'ancienne mais les polices sont lissés et le ton de base utiisé est proche de ce qu'on trouve sur les autres toolkits. Il y'a moins d'arrondis que sur par exemple adwaita sous GTK3 et 4, mais c'est pas non plus dégueu.
Lance une des examples de ce repo sur ta distrib pour t'en convaincre:
https://github.com/janbodnar/Tcl-Tk-Examples/tree/master/dialogs
Par contre je crois que la version de base ne supporte pas wayland mais les forks non hostiles androwish (support tcl/tk sous android) et undroidwish (androwish sur desktop, la boucle est bouclée) ont ajouté ce support. À voir si l'upstream le supporte un jour. Pour mon usage ça ne me dérange pas parce qu'on a toujours une ou deux applis qui utilisent xwayland mais je ne sais pas ce que ça donne au niveau de la mise à l'échelle sur un écran à haute résolution.
[^] # Re: copies d'écran pour Tk
Posté par BAud (site web personnel) . Évalué à 4 (+2/-0). Dernière modification le 02 octobre 2024 à 18:03.
ah, c'est bien mieux que dans mon souvenir :-) bon, ça reste un peu spartiate comme sur https://zetcode.com/gui/tcltktutorial/dialogs/ mais ça passe.
il serait temps de mettre à jour les documentations :D
[^] # Re: copies d'écran pour Tk
Posté par dzecniv . Évalué à 10 (+14/-0).
On peut avoir des thèmes pas mal !
https://wiki.tcl-lang.org/page/List+of+ttk+Themes
https://github.com/israel-dryer/ttkbootstrap?tab=readme-ov-file
https://github.com/rdbende/Sun-Valley-ttk-theme
https://github.com/rdbende/Forest-ttk-theme
# He ben
Posté par barmic 🦦 . Évalué à 7 (+5/-0).
Qu'est-ce qui explique 11 ans de développement ? C'est pas une critique, mais à la lecture de la dépêche je ne suis pas sûr de si la version est très ambitieuse, si le projet a extrêmement peu de développeurs, si le projet s'est arrêté un temps (ou a du faire face à d'autres priorité) ?
C'est pas du tout une critique, c'est juste que je suis toujours curieux de connaître comment est-ce que ça a était fait.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: He ben
Posté par canvas . Évalué à 10 (+10/-0).
Si l'on reprend la chronologie des dernières versions : Tcl 8.4 (2002), Tcl 8.5 (2007), Tcl8.6 (2012) et Tcl 9.0 (2024).
Le développement de la branche Tcl 8.7 a été suspendu au profit de la version 9.0 suite à un grand retard.
Les durées se sont récemment allongées entre la publication des versions pour plusieurs raisons :
- c'est un projet qui compte naturellement peu de développeurs (proportionnellement au nombre d'utilisateurs ?)
- Le décès de l'un d'entre eux en 2016
- Une moyenne d'âge supérieure à 50 ans des personnes impliquées dans le projet
[^] # Re: He ben
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 10 (+16/-0).
On peut peut-être ajouter que c'est un projet "terminé": pas besoin de se lancer dans une réécriture complète ou une nouvelle version majeure incompatible du langage. Il n'y a donc qu'un peu de maintenance à faire.
J'aimerais bien que la plupart des projets que j'essaie de maintenir soient dans cette situation. La culture de l'ébullition permanente ne me semble pas très saine. Mais quand j'étais plus jeune et plein d'illusions, je croyais que j'allais régler tous les problèmes et je me suis embarqué dans plein de trucs. Je ne doute pas que les générations suivantes feront de même?
[^] # Re: He ben
Posté par barmic 🦦 . Évalué à 2 (+1/-1).
Si c'était le cas ce ne serait pas une version majeure, non ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: He ben
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 10 (+8/-0).
Le passage à utf8 par défaut est un changement non rétrocompatible qui justifie une nouvelle version majeure si on utilise le semantic versioning.
Peut-être que la compatibilité 64bit aussipourrait justifier ça.
Pour autant ce ne sont pas des changements aussi gros que perl 6 vs perl 5, python 3 vs python 2, ou gnome 3 vs gnome 2.
Donc oui, c'est pas de la pure maintenance, mais ça n'en est pas très loin. Ces changements ont pu demander beaucoup de travail en interne qui ne se voit pas forcément. Ça pourrait aussi expliquer la longue période sans release.
Il ya certainement plusieurs raisons qui s'additionnent
# Paradoxe libre
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 6 (+5/-1).
Commentaire en forme de digression par rapport à Tcl/Tk.
À ces abbbréviations s'invitent les bons vieux souvenirs des environnements de bureau olvwm sur station sun… Tout ça m'a finalement amené à ouvrir la page Wikipedia de Motif (cf. premier commentaire).
On y apprend que Motif a été créé par L'Open Software Foundation (OSF) — une organisation fondée en 1988 en vue de créer un standard ouvert pour une implémentation du système d'exploitation Unix — et que ce dernier n'a pas servi de fondation aux environnements de bureau moderne parce que GTK et QT lui ont été préféré car… Open Source. Comme quoi le libre washing ne date pas d'hier !
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Paradoxe libre
Posté par Sytoka Modon (site web personnel) . Évalué à 10 (+10/-0).
Si MOTIF avait été libre, les développeurs de Gimp n'auraient pas programmé GTK. Il faut savoir que MOTIF était globalement vachement bien foutu pour l'époque et on pouvait via les ressources changer l'aspect de l'application.
Comme quoi, le libre a effectivement du bon (d'ailleurs, pendant longtemps, Qt n'était pas complètement libre non plus).
[^] # Re: Paradoxe libre
Posté par Zorro (site web personnel) . Évalué à 4 (+3/-0).
Ça me rappelle aussi Wordperfect 8, et les premiers Netscape et leurs boutons OK énormes…
Je me rappelle de ces boutons radio genre Motif, dans certains thèmes, c'était uniquement le liseré autour du losange qui montrait si le bouton était enfoncé ou pas, et quand t'as des problèmes à savoir d'où vient la lumière et ce qui est enfoncé ou ombré, ben tu savais pas si c'était "coché" ou pas.
C'est des micro-souvenirs, mais comme c'était mes premiers pas avec Mandrake 5, j'en suis encore ému.
[^] # Re: Paradoxe libre
Posté par ChrisJ (site web personnel) . Évalué à 2 (+2/-0).
Geoworks utilisait Motif ; je le trouvais super beau !
# the pursuit of happiness
Posté par etien . Évalué à -10 (+0/-26).
Le Tcl Core Team (TCT) est heureux d'annoncer
le démantèlement de toutes les prisons.
la fin de la destruction méthodique de l'environnement par les mêmes intérêts qui fabriquent et promeuvent l'informatique libre et pas libre.
la suppression des états et des frontières.
la
Ah non j'ai mal lu.
[^] # Re: the pursuit of happiness
Posté par etien . Évalué à -10 (+0/-18).
Il serait dommage que le logiciel libre ne libère que du code, que je me disais.
Je savais que ça vous plairait.
# Esprit du libre, esprit d'ouverture
Posté par etien . Évalué à -10 (+0/-29).
Il est agréable de voir l'esprit d'ouverture qui règne dans la communauté fr du logiciel libre.
Jusqu'ici quatre commentaires m'ont rapporté 21 appréciations négatives et aucune positive. Ce que j'écris doit être entièrement faux et mauvais.
Personne ne prend le temps d'argumenter. Il suffit d'afficher un pouce haut ou un pouce bas ou bien de tendre une coquille d'huître pour savoir qui a raison et qui a tort. Pourquoi s'embêter avec des questions qu'on n'a pas envie de se poser alors qu'il suffit de les éviter ?
Tiens je remarque que mon message part avec un handicap de -1.
J'ai attaqué mon crédit social.
Vraiment tout ça est bien implémenté. Beaucoup de soin, comme dans le code source de vos programmes ou dans vos fiches de cours.
Je n'en attendais pas moins de la part de la classe moyenne éduquée.
Je me demande si vous vous rendez compte de la pureté chimique de l'univers mental dans lequel vous vivez.
[^] # Re: Esprit du libre, esprit d'ouverture
Posté par etien . Évalué à -10 (+1/-21).
Trois coquilles d'huîtres se sont déjà manifestées courageusement.
[^] # Re: Esprit du libre, esprit d'ouverture
Posté par Jean-Baptiste Faure . Évalué à 10 (+23/-0).
Au lieu de squatter une dépêche par des commentaires hors sujet, écris plutôt un journal, c'est fait pour ça.
NB : en général les gens n'aiment pas que les nouveaux venus viennent leur expliquer la vie.
# TCL/TK, un vieux langage qui demande à être utilisé au quotidien
Posté par zurvan . Évalué à 6 (+4/-0).
J'ai vraiment envie de me mettre plus sérieusement à Tcl/Tk, le peu que j'ai vu m'a vraiment plu, c'est un vénérable langage qui pourrait sembler démodé, face à Python qui est mis partout en avant, alors que Tcl semble plus stable et pérenne : j'ai trouvé de vieux bouts de code ou des logiciels qui datent de plusieurs années et qui fonctionnent toujours.
Avec python, c'est vraiment un bordel sans nom pour arriver à suivre. Je peux comprendre que le langage python étant plus utilisé, il existe plus de briques dans l'écosystème et d'interdépendances, ce qui d'une part permet de gagner en productivité, mais d'autre part oblige à suivre et mettre régulièrement à jour le code, ou d'utiliser des artifices pour avoir le bon environnement de dev (pyenv, poetry).
Mais pour moi qui ai peu de besoins, et vise à des choses simples, j'ai l'impression que Tcl/Tk sera plus adapté. Je viens de découvrir ce site didactique qui va bien m'aider : https://tcltk.fr/
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: TCL/TK, un vieux langage qui demande à être utilisé au quotidien
Posté par Sytoka Modon (site web personnel) . Évalué à 8 (+6/-0).
Je me souviens d'un programme graphique en tcl/tk, c'était vraiment compliqué de le maintenir. Je l'avais refait en mieux avec Perl/Tk et c'était bien plus simple à comprendre et à structurer en block.
D'ailleurs, la version devrait toujours fonctionner car le langage Perl est hyper stable.
[^] # Re: TCL/TK, un vieux langage qui demande à être utilisé au quotidien
Posté par bistouille . Évalué à 4 (+3/-0).
Bonjour,
Ca me rappelle des souvenirs, mes premiers essais laborieux de "GUI" en Tcl/Tk sous RedHat 4 (achetée en VPC avec grâce à une pub "Kheops") sur mon antique AMD K6, ses 16MB de RAM et HD IDE 3GB!
A cette époque j'étais plus content d'obtenir une config fonctionnelle XFree86/fwm, avoir du son sortant de la carte soundblaster et un modem V33 téléchargeant péniblement quelques KB de sources en .tar.gz sur le ftp de Jussieu que de gagner à la loterie :-)
De mémoire, Tcl était aussi utilisé/embarqué comme language de script dans des softs propriétaires, avec ou sans la couche Tk.
Il est encore présent dans des packages comme environment-modules.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.