From hernan.wilkinson at 10pines.com Wed Jul 2 09:09:30 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Wed, 2 Jul 2025 13:09:30 -0300 Subject: [Cuis-dev] July meeting In-Reply-To: <46db978c-f1a1-487a-b1b7-ff804d0cd0be@free.fr> References: <46db978c-f1a1-487a-b1b7-ff804d0cd0be@free.fr> Message-ID: Hi Hilaire, Juan and I are waiting for you to let us in... are you there? It is 13:09 GMT-3 ... On Sat, Jun 28, 2025 at 4:47?AM Hilaire Fernandes via Cuis-dev < cuis-dev at lists.cuis.st> wrote: > One suggestion: we can make a collective review of the booklet "Design GUI > with Morph" > > It could be fun. > > https://github.com/DrCuis/DesignGUI > > -- http://mamot.fr/@drgeo > > -- > Cuis-dev mailing list > Cuis-dev at lists.cuis.st > https://lists.cuis.st/mailman/listinfo/cuis-dev > -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Wed Jul 9 01:13:22 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Wed, 9 Jul 2025 10:13:22 +0200 Subject: [Cuis-dev] "Design GUI with Morph" reviews Message-ID: <483eb518-30d7-4d8b-aee2-af0456c31be2@free.fr> Hi! The booklet presents the use of Morph to design GUI by code. It also discusses how one should use design patterns to write GUI application that scale in complexity. It is based on my experience over the years designing DrGeo. The booklet needs reviews. It is very likely full of any kind of mistakes. Thanks to help to improve its quality. Pull request is the preferred way to suggest improvements. - Read at https://drcuis.github.io/DesignGUI/ - Pull request at https://github.com/DrCuis/DesignGUI Thanks Hilaire -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at ianjeffries.net Wed Jul 9 15:59:17 2025 From: mail at ianjeffries.net (Ian Jeffries) Date: Wed, 9 Jul 2025 18:59:17 -0400 Subject: [Cuis-dev] "Design GUI with Morph" reviews In-Reply-To: <483eb518-30d7-4d8b-aee2-af0456c31be2@free.fr> References: <483eb518-30d7-4d8b-aee2-af0456c31be2@free.fr> Message-ID: Thank you for making this! I've read part of it already and enjoyed it. My only suggestion so far is a small one? a single-page view (either HTML or PDF) would be nice to have as a complement to the click-around separated web pages. Both have advantages, but I prefer single-page when I want to read all of something linearly. On Wed, Jul 9, 2025 at 4:13?AM Hilaire Fernandes via Cuis-dev < cuis-dev at lists.cuis.st> wrote: > Hi! > > The booklet presents the use of Morph to design GUI by code. It also > discusses how one should use design patterns to write GUI application that > scale in complexity. It is based on my experience over the years designing > DrGeo. > > The booklet needs reviews. It is very likely full of any kind of mistakes. > > Thanks to help to improve its quality. Pull request is the preferred way > to suggest improvements. > > - Read at https://drcuis.github.io/DesignGUI/ > > - Pull request at https://github.com/DrCuis/DesignGUI > > Thanks > > Hilaire > > -- http://mamot.fr/@drgeo > > -- > Cuis-dev mailing list > Cuis-dev at lists.cuis.st > https://lists.cuis.st/mailman/listinfo/cuis-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Fri Jul 11 02:39:58 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Fri, 11 Jul 2025 11:39:58 +0200 Subject: [Cuis-dev] "Design GUI with Morph" reviews In-Reply-To: References: <483eb518-30d7-4d8b-aee2-af0456c31be2@free.fr> Message-ID: <3d7e3e47-8ca7-479d-b27c-ab83e13f5944@free.fr> Hi Ian, For continuous reading, you can take a look at the compressed PDF document at https://github.com/DrCuis/DesignGUI I have just committed a newer build, there were some changes. -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Fri Jul 11 03:47:41 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Fri, 11 Jul 2025 12:47:41 +0200 Subject: [Cuis-dev] FileOut modification In-Reply-To: <6749D4F9.5020103@cuis.st> References: <5307118a-9a29-49c6-8f18-3c3667f4c4be@free.fr> <6749D4F9.5020103@cuis.st> Message-ID: <7d201015-f652-4062-b766-e10b41378489@free.fr> Hi, For the chapter "Design Morph by reuse" of "The Art of Morph" book, I will pick this idea as an example to implement a Morph by reuse of existing component. Le 29/11/2024 ? 15:51, Juan Vuletich a ?crit?: > A nice widget to find an existing directory, or create a new one is > still needed here! > > Thanks, > > On 11/9/2024 4:09 AM, Hilaire Fernandes via Cuis-dev wrote: >> >> Hi Juan, >> >> Regarding the string request morph, I will prefill it with the >> default location, so the user can quickly accept it when it is fine >> to him. >> >> In the other hand, it is very error prone to key in a path, >> particularly when it is a long one. For that scenario, I will extent >> the StringRequestMorph with a browser widget that expend at user >> request. To be used in a two steps scenario as shown in the the >> sketch below. Accept and Cancel button in the browser widget likely >> irrelevant. >> >> >> -- >> http://mamot.fr/@drgeo > > > -- > Juan Vuletich > cuis.st > github.com/jvuletich > researchgate.net/profile/Juan-Vuletich > independent.academia.edu/JuanVuletich > patents.justia.com/inventor/juan-manuel-vuletich > linkedin.com/in/juan-vuletich-75611b3 > twitter.com/JuanVuletich -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.jpeg Type: image/jpeg Size: 186543 bytes Desc: not available URL: From thiagolino at yahoo.com.br Fri Jul 11 11:15:49 2025 From: thiagolino at yahoo.com.br (Thiago da S. Lino) Date: Fri, 11 Jul 2025 18:15:49 +0000 (UTC) Subject: [Cuis-dev] "Design GUI with Morph" reviews References: <401315212.378961.1752257749213.ref@mail.yahoo.com> Message-ID: <401315212.378961.1752257749213@mail.yahoo.com> Hello Hilaire, Please review my MR[1] fixing the Memory Game examples (v1-3)?for compatibility with the current LayoutSpec hierarchy. [1]https://github.com/DrCuis/DesignGUI/pull/3 Cheers! Thiago da Silva Lino From hfern at free.fr Sun Jul 13 02:12:33 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sun, 13 Jul 2025 11:12:33 +0200 Subject: [Cuis-dev] Broken debugger? Message-ID: <2e98baf8-6e7f-42ab-be05-2bd402510079@free.fr> Hi, With latest update, with Smalltalk-UI component package load, but it should not be related. Executing 1/0 raise a broken debugger: its window can't be closed. A problem with its model set to nil. Thanks -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Sun Jul 13 03:09:39 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sun, 13 Jul 2025 12:09:39 +0200 Subject: [Cuis-dev] [RCF] Morph by reuse Message-ID: <8336ff50-68e0-4044-9840-6b57516329cd@free.fr> Hi folks, I request for comment, for the chapter on "Design morph by reuse", regarding designing morph by reuse (no drawnOn: method rewrite). In that specific circumstance (design implying overriding drawOn: is dealt in a separate chapter), from which morph are you subclassing? I have identified[1] two strong candidates, LayoutMorph and PluggableScrollPane, whose subclasses do not need to rewrite drawOn: and generic enough for reuse. Opinion? Thanks Hilaire [1] By asking itself, wtih the Cuis-Smalltalk-UI package loaded: |hallOfFame | hallOfFame := Morph allSubclasses collect: [:each | Array with: each with: each subclasses size]. hallOfFame := hallOfFame sort: [:array1 :array2 | array1 second > array2 second] -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Cc6D2LHI5BSkd5gw.png Type: image/png Size: 80814 bytes Desc: not available URL: From hfern at free.fr Sun Jul 13 04:09:28 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sun, 13 Jul 2025 13:09:28 +0200 Subject: [Cuis-dev] #example101VG freeze the image Message-ID: When scaled to its minimal extent, this demo freeze the image. I checked the individual embedded morphs, they seem fine with zero extent. No log, nor error message in the terminal. -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From juan at cuis.st Tue Jul 15 11:48:51 2025 From: juan at cuis.st (Juan Vuletich) Date: Tue, 15 Jul 2025 15:48:51 -0300 Subject: [Cuis-dev] Broken debugger? In-Reply-To: <2e98baf8-6e7f-42ab-be05-2bd402510079@free.fr> References: <2e98baf8-6e7f-42ab-be05-2bd402510079@free.fr> Message-ID: <37f1aa5f-9dc4-4aed-bc6f-4eff7162cc55@cuis.st> Hi Hilaire, Please pull repos and try again. I can't reproduce the problem here. Thanks, On 13/07/2025 6:12 AM, Hilaire Fernandes via Cuis-dev wrote: > > Hi, > > With latest update, with Smalltalk-UI component package load, but it > should not be related. > > Executing 1/0 raise a broken debugger: its window can't be closed. > > A problem with its model set to nil. > > Thanks > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From juan at cuis.st Tue Jul 15 11:49:24 2025 From: juan at cuis.st (Juan Vuletich) Date: Tue, 15 Jul 2025 15:49:24 -0300 Subject: [Cuis-dev] #example101VG freeze the image In-Reply-To: References: Message-ID: Hi Hilaire, I pushed a fix for this today. Thanks for reporting! On 13/07/2025 8:09 AM, Hilaire Fernandes via Cuis-dev wrote: > > When scaled to its minimal extent, this demo freeze the image. > > I checked the individual embedded morphs, they seem fine with zero extent. > > No log, nor error message in the terminal. > > -- > http://mamot.fr/@drgeo > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Sat Jul 19 04:24:09 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sat, 19 Jul 2025 13:24:09 +0200 Subject: [Cuis-dev] triggering event with argument, emitter or listener last word? Message-ID: <08bc51b3-3d48-4910-b0fb-53ee2ddc1fa4@free.fr> Hi, I have this situation where an *objectA* can emit event with a default argument (*self*): FilePreviewMorph>>doubleClick: event localPosition: position ??? self triggerEvent: #doubleClick with: *self * And the listening *objectB* wants to be notified with a different argument (*fileEntry*) fileView when: #doubleClick send: #open: to: self with: *fileEntry*]. However when the event is triggered in *objectA* the optional prefered argument by *objectB* (fileEntry) is not used. It is still the *self* argument. Is it the expected behavior? The behavior is revealed here: arguments contains the fileEntry but it is ignored as show the value of argsToUse. Change in method bellow adjust this behavior. Not sure it is what is expected. collectArguments: anArgArray ??? "Private" ??? | staticArgs | ??? staticArgs := self arguments. ??? ^(anArgArray size = staticArgs size) ??????? ifTrue: [*staticArgs asNewArra*] ??????? ifFalse: ??????????? [(staticArgs isEmpty ??????????????? ifTrue: [ staticArgs := Array new: selector numArgs] ??????????????? ifFalse: [staticArgs asNewArray] ) ??????????????????? replaceFrom: 1 ??????????????????? to: (anArgArray size min: staticArgs size) ??????????????????? with: anArgArray ??????????????????? startingAt: 1] Thanks Hilaire -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: QcSmOQvTsvdvH4tp.png Type: image/png Size: 87632 bytes Desc: not available URL: From ken.dickey at whidbey.com Sun Jul 20 06:59:21 2025 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sun, 20 Jul 2025 06:59:21 -0700 Subject: [Cuis-dev] Yes, but is it cross platform portable? In-Reply-To: <632075a1-1424-4a23-b1c6-9026b31265b6@email.android.com> References: <632075a1-1424-4a23-b1c6-9026b31265b6@email.android.com> Message-ID: Actually, Tim, I have almost twice as many computers as screens. So I am always unplugging and replugging. What I really need is multiplexers for HDMI and wireless keyboards.. ;^) On 2025-07-19 14:50, Tim Economu wrote: > Screens, screens, I need more screens!!! > > On Jul 19, 2025 8:39 AM, ken.dickey at whidbey.com wrote: > >> I have been building the OpenSmalltalk-VM on OpenBSD as well as Linux >> lately (arm64, riscv64, amd64) and do test em.. >> >> ;^) >> -KenD From hfern at free.fr Mon Jul 21 10:40:58 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Mon, 21 Jul 2025 19:40:58 +0200 Subject: [Cuis-dev] Edits of Cuis web page Message-ID: Hi, I edited the Documentation page https://cuis.st/documentation, hopefully for the better. Feedbacks welcomed. Thanks Hilaire -- http://mamot.fr/@drgeo From hernan.wilkinson at 10pines.com Mon Jul 21 14:44:13 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Mon, 21 Jul 2025 18:44:13 -0300 Subject: [Cuis-dev] Fix to ExtractMethod bug Message-ID: Hi, attached is a fix to a bug when looking for similar code in the Extract Method refactoring. It comes with a test that reproduces it. Cheers! Hernan. -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7366-ExtractMethodInnerBlocksFix-HernanWilkinson-2025Jul21-17h30m-HAW.001.cs.st Type: application/octet-stream Size: 834 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: UnsavedChangesTo-BaseImageTests-HAW.002.cs.st Type: application/octet-stream Size: 1202 bytes Desc: not available URL: From hfern at free.fr Tue Jul 22 01:35:09 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Tue, 22 Jul 2025 10:35:09 +0200 Subject: [Cuis-dev] Missing framebuffer device for Cuis Smalltalk Message-ID: Hi , Some one asked about Framebuffer with Cuis. I don't know what to answer. I found difficult to search the mailing list Any clue? [1] https://www.reddit.com/r/smalltalk/comments/1m1q22y/missing_framebuffer_device_for_cuis_smalltalk/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From joel.camera at 10pines.com Tue Jul 22 13:51:18 2025 From: joel.camera at 10pines.com (Joel Camera) Date: Tue, 22 Jul 2025 17:51:18 -0300 Subject: [Cuis-dev] STON implementation in Cuis? Message-ID: Hi folks! Does anyone know if there's a STON ( https://github.com/svenvc/ston/tree/master) implementation for Cuis? I couldn't find any. Thanks! Joel C?meraAgile Software Development Alem 896, Floor 6, Buenos Aires, Argentina +54 9 011 6091 3125 -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Tue Jul 22 14:47:32 2025 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Tue, 22 Jul 2025 14:47:32 -0700 Subject: [Cuis-dev] Missing framebuffer device for Cuis Smalltalk In-Reply-To: References: Message-ID: Yes, there is a vm-display-fbdev for Linux. https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/platforms/unix/vm-display-fbdev You have to build a VM with the proper libraries installed for evdev and fbdev. The conventonal build checks that the proper libraries are installed and does not build vm-display-fbdev otherwise. Note file: https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt HTH, -KenD On 2025-07-22 01:35, Hilaire Fernandes via Cuis-dev wrote: > Hi , > > Some one asked about Framebuffer with Cuis. I don't know what to > answer. > > I found difficult to search the mailing list > > Any clue? > > [1] > https://www.reddit.com/r/smalltalk/comments/1m1q22y/missing_framebuffer_device_for_cuis_smalltalk/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button > > -- > http://mamot.fr/@drgeo From ken.dickey at whidbey.com Tue Jul 22 14:51:10 2025 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Tue, 22 Jul 2025 14:51:10 -0700 Subject: [Cuis-dev] STON implementation in Cuis? In-Reply-To: References: Message-ID: On 2025-07-22 13:51, Joel Camera via Cuis-dev wrote: > Hi folks! > > Does anyone know if there's a STON > (https://github.com/svenvc/ston/tree/master) implementation for Cuis? I > couldn't find any. Joel, I did a fairly complete port of STON as part of a package to browse Tonel format Smalltalk code: https://github.com/KenDickey/Cuis-Smalltalk-Tonel-Browser HTH, -KenD From ebirman77 at gmail.com Tue Jul 22 14:51:11 2025 From: ebirman77 at gmail.com (Ezequiel Birman) Date: Tue, 22 Jul 2025 22:51:11 +0100 Subject: [Cuis-dev] Missing framebuffer device for Cuis Smalltalk In-Reply-To: References: Message-ID: Ha! I was going to reply that I remembered Ken was using the framebuffer device. To search the mailing lists, you can type: "site:cuis.st. OR site: jvuletich.org framebuffer" in Google. Cheers, -- Eze On Tue, 22 Jul 2025 at 22:47, ken.dickey--- via Cuis-dev < cuis-dev at lists.cuis.st> wrote: > Yes, there is a vm-display-fbdev for Linux. > > > https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/platforms/unix/vm-display-fbdev > > You have to build a VM with the proper libraries installed for evdev and > fbdev. The conventonal build checks that the proper libraries are > installed and does not build vm-display-fbdev otherwise. > > Note file: > > > https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt > > HTH, > -KenD > > On 2025-07-22 01:35, Hilaire Fernandes via Cuis-dev wrote: > > > Hi , > > > > Some one asked about Framebuffer with Cuis. I don't know what to > > answer. > > > > I found difficult to search the mailing list > > > > Any clue? > > > > [1] > > > https://www.reddit.com/r/smalltalk/comments/1m1q22y/missing_framebuffer_device_for_cuis_smalltalk/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button > > > > -- > > http://mamot.fr/@drgeo > -- > Cuis-dev mailing list > Cuis-dev at lists.cuis.st > https://lists.cuis.st/mailman/listinfo/cuis-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Tue Jul 22 15:04:20 2025 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Tue, 22 Jul 2025 15:04:20 -0700 Subject: [Cuis-dev] Missing framebuffer device for Cuis Smalltalk In-Reply-To: References: Message-ID: <26dbb3376994ce4aefc73f376a6ab5b7@whidbey.com> On 2025-07-22 14:51, Ezequiel Birman via Cuis-dev wrote: > Ha! I was going to reply that I remembered Ken was using the > framebuffer device. Guilty as charged. There is a cute "easter egg" in the splash screen. Tested to work on aarch64/arm64 and riscv64. I neglected to mention that different hardware+OS has different bindings for /dev/input devices. Use evtest to find out which gets mouse & keyboard inputs. You can then set values in the shell bindings (e.g. in .bashrc) and not have to pass them as startup parameters to the VM. E.g. ##FrameBuffer wants: (test with evtest) export SQUEAK_VM=display-fbdev export SQUEAK_FBDEV=/dev/fb0 export SQUEAK_MSDEV=/dev/input/event3 export SQUEAK_KBDEV=/dev/input/event4 HTH, -KenD From joel.camera at 10pines.com Wed Jul 23 04:29:37 2025 From: joel.camera at 10pines.com (Joel Camera) Date: Wed, 23 Jul 2025 08:29:37 -0300 Subject: [Cuis-dev] STON implementation in Cuis? In-Reply-To: References: Message-ID: Thanks Ken! I asked because we need a Tonel implementation for Cuis! I'll check it out if it meets our needs. The readme says it is a work in progress, what would be needed for it to be considered stable? Thanks again!! Joel C?meraAgile Software Development Alem 896, Floor 6, Buenos Aires, Argentina +54 9 011 6091 3125 El mar, 22 jul 2025 a las 18:51, escribi?: > On 2025-07-22 13:51, Joel Camera via Cuis-dev wrote: > > > Hi folks! > > > > Does anyone know if there's a STON > > (https://github.com/svenvc/ston/tree/master) implementation for Cuis? I > > couldn't find any. > > Joel, I did a fairly complete port of STON as part of a package to > browse Tonel format Smalltalk code: > > https://github.com/KenDickey/Cuis-Smalltalk-Tonel-Browser > > HTH, > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Wed Jul 23 07:06:39 2025 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Wed, 23 Jul 2025 07:06:39 -0700 Subject: [Cuis-dev] STON implementation in Cuis? In-Reply-To: References: Message-ID: <152b767e97285622b2c9967ff461c45c@whidbey.com> On 2025-07-23 04:29, Joel Camera via Cuis-dev wrote: > Thanks Ken! I asked because we need a Tonel implementation for Cuis! > I'll check it out if it meets our needs. > The readme says it is a work in progress, what would be needed for it > to be considered stable? That depends on your needs. You will see that I took a shortcut to be able to browse Tonel format files -- they get rewritten as Chunk format. Then just use our standard browser. I also added the ability to "bilk convert" directories of Tonel format files into Chunk format. This lets me browse, e.g. the Bee runtime code. Primarily, the code needs testing. I have found and fixed a few edge cases in the rewrite code, but I suspect there are others. I have done almost nothing to test rewrite of Chunk format into Tonel. Also, I am not a "parser guy", so more not very organized. I basically "muddle through", fix and improve as I go along. HTH, -KenD From joel.camera at 10pines.com Wed Jul 23 11:56:02 2025 From: joel.camera at 10pines.com (Joel Camera) Date: Wed, 23 Jul 2025 15:56:02 -0300 Subject: [Cuis-dev] STON implementation in Cuis? In-Reply-To: <152b767e97285622b2c9967ff461c45c@whidbey.com> References: <152b767e97285622b2c9967ff461c45c@whidbey.com> Message-ID: Thanks Ken for your answers and the repo! I'll see if this fits for us or not, but it is a good starting point. Thanks again, have a nice day! Joel C?meraAgile Software Development Alem 896, Floor 6, Buenos Aires, Argentina +54 9 011 6091 3125 El mi?, 23 jul 2025 a las 11:06, escribi?: > On 2025-07-23 04:29, Joel Camera via Cuis-dev wrote: > > > Thanks Ken! I asked because we need a Tonel implementation for Cuis! > > I'll check it out if it meets our needs. > > The readme says it is a work in progress, what would be needed for it > > to be considered stable? > > That depends on your needs. > > You will see that I took a shortcut to be able to browse Tonel format > files -- they get rewritten as Chunk format. Then just use our standard > browser. > > I also added the ability to "bilk convert" directories of Tonel format > files into Chunk format. This lets me browse, e.g. the Bee runtime > code. > > Primarily, the code needs testing. I have found and fixed a few edge > cases in the rewrite code, but I suspect there are others. > > I have done almost nothing to test rewrite of Chunk format into Tonel. > > Also, I am not a "parser guy", so more not very organized. I basically > "muddle through", fix and improve as I go along. > > HTH, > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hernan.wilkinson at 10pines.com Fri Jul 25 11:25:18 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Fri, 25 Jul 2025 15:25:18 -0300 Subject: [Cuis-dev] Run To Cursor performance improvement Message-ID: Hi, attached is a .cs that improves the performance of the debugger's button "Run to Cursor". Now it sends the message #doStep (step over) when possible, instead of #stepIntoBlock (step through), which runs faster. Cheers Hernan. -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7371-RunToCursorImprovement-HernanWilkinson-2025Jul25-15h21m-HAW.001.cs.st Type: application/octet-stream Size: 492 bytes Desc: not available URL: From juan at cuis.st Fri Jul 25 13:11:01 2025 From: juan at cuis.st (Juan Vuletich) Date: Fri, 25 Jul 2025 17:11:01 -0300 Subject: [Cuis-dev] Fix to ExtractMethod bug In-Reply-To: References: Message-ID: Integrated. Thanks, On 21/07/2025 6:44 PM, Hern?n Wilkinson via Cuis-dev wrote: > Hi, > ?attached is a fix to a bug when looking for similar code in the > Extract Method refactoring. It comes with a test that reproduces it. > > ?Cheers! > ?Hernan. > > > -- > *Hern?n Wilkinson > Agile Software Development, Teaching & Coaching* > *Phone: +54-011*-4893-2057 > *Twitter: @HernanWilkinson* > *site: http://www.10Pines.com * > Address: Alem 896, Floor 6, Buenos Aires, Argentina > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From juan at cuis.st Fri Jul 25 13:19:13 2025 From: juan at cuis.st (Juan Vuletich) Date: Fri, 25 Jul 2025 17:19:13 -0300 Subject: [Cuis-dev] [WARNING] Recent updates breaking compatibility Message-ID: Hi Folks, Today I pushed a series of updates to the repo that break compatibility and could affect your code. I added two new subclasses to LayoutMorph: LinearLayoutMorph and FormLayoutMorph. The behavior of the old LayoutMorph is now provided by LinearLayout. If your code creates subclasses of LayoutMorph, please update it to subclass LinearLayout instead. If your code creates instances of LayoutMorph, updating your code is not strictly required, as the instance creation methods remain in LayoutMorph, but will answer instances of LinearLayoutMorph. I have already updated all the packages in the https://github.com/Cuis-Smalltalk organization. If your code lives in one of our repos there, just pull updates. Apologies for the disruption. Thanks, -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich From juan at cuis.st Fri Jul 25 13:06:45 2025 From: juan at cuis.st (Juan Vuletich) Date: Fri, 25 Jul 2025 17:06:45 -0300 Subject: [Cuis-dev] Run To Cursor performance improvement In-Reply-To: References: Message-ID: Integrated. Thanks! On 25/07/2025 3:25 PM, Hern?n Wilkinson via Cuis-dev wrote: > Hi, > ?attached?is a .cs that improves the performance of the debugger's > button "Run to Cursor". > ?Now it sends the message #doStep (step over) when possible,?instead > of #stepIntoBlock (step through), which runs faster. > > ?Cheers > ?Hernan. > > -- > *Hern?n Wilkinson > Agile Software Development, Teaching & Coaching* > *Phone: +54-011*-4893-2057 > *Twitter: @HernanWilkinson* > *site: http://www.10Pines.com * > Address: Alem 896, Floor 6, Buenos Aires, Argentina > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Sun Jul 27 01:49:11 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sun, 27 Jul 2025 10:49:11 +0200 Subject: [Cuis-dev] [WARNING] Recent updates breaking compatibility In-Reply-To: References: Message-ID: <7e2284d5-5575-49da-9c90-61d2d703cfb0@free.fr> Thanks Juan for the notice and to take care of the third-party package in Cuis-Smalltalk. I think documentation will need to be updated. May be the Cuis Book too, I am not sure, nice if some one ca take a look. Did you get a chance to look at my email regarding event handling with argument? Hilaire -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Sun Jul 27 01:50:05 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Sun, 27 Jul 2025 10:50:05 +0200 Subject: [Cuis-dev] August meeting? Message-ID: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> Hi, Do we arrange a Cuis meeting for the 6th of August? -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From hernan.wilkinson at 10pines.com Sun Jul 27 12:37:12 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Sun, 27 Jul 2025 16:37:12 -0300 Subject: [Cuis-dev] August meeting? In-Reply-To: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> References: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> Message-ID: It would be great, but I will not be able to participate that day. Hernan. On Sun, Jul 27, 2025 at 5:50?AM Hilaire Fernandes via Cuis-dev < cuis-dev at lists.cuis.st> wrote: > Hi, > > Do we arrange a Cuis meeting for the 6th of August? > > -- http://mamot.fr/@drgeo > > -- > Cuis-dev mailing list > Cuis-dev at lists.cuis.st > https://lists.cuis.st/mailman/listinfo/cuis-dev > -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Mon Jul 28 02:00:45 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Mon, 28 Jul 2025 11:00:45 +0200 Subject: [Cuis-dev] StringRequestMorph extension Message-ID: <78f24785-0407-4b0e-b8e8-8a99b28adf43@free.fr> Hi, For the Art of Morph book, I have this example where StringRequestMorph is extended as a FileRequesstMorph. The user can optionally selects a file from the file selector panel below: When a file is selected, its path is set on the TextModelMorph above. However to get the #response event to be properly handled and the text model morph entry updated, I have to toggle the hasUnacceptedEdits attribute, this is obscure. entry: anEntry ??? textMorph hasUnacceptedEdits: false. ??? response := anEntry asString. ??? self changed: #response. ??? textMorph hasUnacceptedEdits: true. Any explanation? Thanks -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ch02-FileRequestMorph.png Type: image/png Size: 19888 bytes Desc: not available URL: From hfern at free.fr Mon Jul 28 02:30:59 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Mon, 28 Jul 2025 11:30:59 +0200 Subject: [Cuis-dev] StringRequestMorph extension In-Reply-To: <78f24785-0407-4b0e-b8e8-8a99b28adf43@free.fr> References: <78f24785-0407-4b0e-b8e8-8a99b28adf43@free.fr> Message-ID: <5a90223f-40d5-4594-bf07-0e5b5a42ac63@free.fr> For the context, PDF WIP of the booklet at https://github.com/DrCuis/TheArtOfMorph -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From juan at cuis.st Mon Jul 28 08:53:01 2025 From: juan at cuis.st (Juan Vuletich) Date: Mon, 28 Jul 2025 12:53:01 -0300 Subject: [Cuis-dev] StringRequestMorph extension In-Reply-To: <78f24785-0407-4b0e-b8e8-8a99b28adf43@free.fr> References: <78f24785-0407-4b0e-b8e8-8a99b28adf43@free.fr> Message-ID: <1e7a4f1a-40c6-49d8-bed9-d8ae70ee856a@cuis.st> Hi Hilaire, Please share the code and any instructions so I can play with this. I need to run the actual code and see what's happening so I can understand when / why you need to toggle the hasUnacceptedEdits attribute. Thanks, On 28/07/2025 6:00 AM, Hilaire Fernandes via Cuis-dev wrote: > > Hi, > > For the Art of Morph book, I have this example where > StringRequestMorph is extended as a FileRequesstMorph. The user can > optionally selects a file from the file selector panel below: > > > When a file is selected, its path is set on the TextModelMorph above. > However to get the #response event to be properly handled and the text > model morph entry updated, I have to toggle the hasUnacceptedEdits > attribute, this is obscure. > > entry: anEntry > ??? textMorph hasUnacceptedEdits: false. > ??? response := anEntry asString. > ??? self changed: #response. > ??? textMorph hasUnacceptedEdits: true. > > Any explanation? > > Thanks > -- > http://mamot.fr/@drgeo > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ch02-FileRequestMorph.png Type: image/png Size: 19888 bytes Desc: not available URL: From juan at cuis.st Mon Jul 28 09:08:58 2025 From: juan at cuis.st (Juan Vuletich) Date: Mon, 28 Jul 2025 13:08:58 -0300 Subject: [Cuis-dev] triggering event with argument, emitter or listener last word? In-Reply-To: <08bc51b3-3d48-4910-b0fb-53ee2ddc1fa4@free.fr> References: <08bc51b3-3d48-4910-b0fb-53ee2ddc1fa4@free.fr> Message-ID: <2cd63f3f-ac29-4096-88cf-aa490c0f8129@cuis.st> Hi Hilaire, I don't know what was the expected behavior when that code was written. I think it comes from Squeak and is like 24 years old. I think the behavior you expect makes sense: When someone triggers an event, it includes the 'default' arguments, but whoever subscribed to it specifying which selector to use, if they also specify arguments, then those arguments should be used instead. The attach is my code for this. It doesn't seem to affect the base image at all, but I can't say about external packages. Everybody, please take a look and try it. If nobody sees a problem, I'll push it. Thanks, On 19/07/2025 8:24 AM, Hilaire Fernandes via Cuis-dev wrote: > > Hi, > > I have this situation where an *objectA* can emit event with a default > argument (*self*): > > FilePreviewMorph>>doubleClick: event localPosition: position > ??? self triggerEvent: #doubleClick with: *self * > > And the listening *objectB* wants to be notified with a different > argument (*fileEntry*) > > fileView when: #doubleClick send: #open: to: self with: *fileEntry*]. > > However when the event is triggered in *objectA* the optional prefered > argument by *objectB* (fileEntry) is not used. It is still the *self* > argument. > > Is it the expected behavior? > > The behavior is revealed here: > > > arguments contains the fileEntry but it is ignored as show the value > of argsToUse. > > Change in method bellow adjust this behavior. Not sure it is what is > expected. > > collectArguments: anArgArray ??? "Private" ??? | staticArgs | ??? > staticArgs := self arguments. ??? ^(anArgArray size = staticArgs size) > ??????? ifTrue: [*staticArgs asNewArra*] ??????? ifFalse: ??????????? > [(staticArgs isEmpty ??????????????? ifTrue: [ staticArgs := Array > new: selector numArgs] ??????????????? ifFalse: [staticArgs > asNewArray] ) ??????????????????? replaceFrom: 1 ??????????????????? > to: (anArgArray size min: staticArgs size) ??????????????????? with: > anArgArray ??????????????????? startingAt: 1] > > Thanks > > Hilaire > > -- > http://mamot.fr/@drgeo > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: QcSmOQvTsvdvH4tp.png Type: image/png Size: 87632 bytes Desc: not available URL: -------------- next part -------------- 'From Cuis7.5 [latest update: #7385] on 28 July 2025 at 12:36:44 pm'! !MessageSend methodsFor: 'private' stamp: 'jmv 7/28/2025 11:01:22'! collectArguments: anArgArray "Arguments set when builing the receiver (i.e. set when registering for an event) take precedence over anArgArray (i.e. set when triggering the event). If you want to use arguments set at trigger event time, set to an empty array, or set individual elements to nil." | staticArgs answer | staticArgs := self arguments. answer := Array new: selector numArgs. 1 to: answer size do: [ :i | | each | each := staticArgs at: i ifAbsent: nil. each isNil ifTrue: [ each := anArgArray at: i ifAbsent: nil ]. answer at: i put: each ]. ^answer! ! !MessageSend class methodsFor: 'instance creation' stamp: 'jmv 7/28/2025 11:10:37'! receiver: anObject selector: aSymbol arguments: anArray "Note: Arguments set here will take preceence over those set when doing #valueWithArguments: and #triggerEvent:withArguments:. If you want them to take precedence, pass here #() or individual nil elements in anArray. See #collectArguments:" ^ self new receiver: anObject; selector: aSymbol; arguments: anArray! ! !WeakMessageSend methodsFor: 'private' stamp: 'jmv 7/28/2025 11:01:41'! collectArguments: anArgArray "Arguments set when builing the receiver (i.e. set when registering for an event) take precedence over anArgArray (i.e. set when triggering the event). If you want to use arguments set at trigger event time, set to an empty array, or set individual elements to nil." | staticArgs answer | staticArgs := self arguments. answer := Array new: selector numArgs. 1 to: answer size do: [ :i | | each | each := staticArgs at: i ifAbsent: nil. each isNil ifTrue: [ each := anArgArray at: i ifAbsent: nil ]. answer at: i put: each ]. ^answer! ! !WeakMessageSend class methodsFor: 'instance creation' stamp: 'jmv 7/28/2025 11:11:17'! receiver: anObject selector: aSymbol arguments: anArray "Note: Arguments set here will take preceence over those set when doing #valueWithArguments: and #triggerEvent:withArguments:. If you want them to take precedence, pass here #() or individual nil elements in anArray. See #collectArguments:" ^ self new receiver: anObject; selector: aSymbol; arguments: anArray! ! From juan at cuis.st Mon Jul 28 09:10:33 2025 From: juan at cuis.st (Juan Vuletich) Date: Mon, 28 Jul 2025 13:10:33 -0300 Subject: [Cuis-dev] August meeting? In-Reply-To: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> References: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> Message-ID: <27104e6f-d67e-42e6-93e6-a6e18c98c3a0@cuis.st> Yes, please. On 27/07/2025 5:50 AM, Hilaire Fernandes via Cuis-dev wrote: > > Hi, > > Do we arrange a Cuis meeting for the 6th of August? > > -- > http://mamot.fr/@drgeo > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Tue Jul 29 01:58:36 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Tue, 29 Jul 2025 10:58:36 +0200 Subject: [Cuis-dev] triggering event with argument, emitter or listener last word? In-Reply-To: <2cd63f3f-ac29-4096-88cf-aa490c0f8129@cuis.st> References: <08bc51b3-3d48-4910-b0fb-53ee2ddc1fa4@free.fr> <2cd63f3f-ac29-4096-88cf-aa490c0f8129@cuis.st> Message-ID: Hi Juan, Your change works fine on my little testing. This option for the observer to pass argument seems to be very rarely, if not never, used. It is nice to improve it, 24 years latter ;-) Le 28/07/2025 ? 18:08, Juan Vuletich a ?crit?: > > Hi Hilaire, > > I don't know what was the expected behavior when that code was > written. I think it comes from Squeak and is like 24 years old. > -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From hfern at free.fr Tue Jul 29 05:54:19 2025 From: hfern at free.fr (Hilaire Fernandes) Date: Tue, 29 Jul 2025 14:54:19 +0200 Subject: [Cuis-dev] August meeting? In-Reply-To: <27104e6f-d67e-42e6-93e6-a6e18c98c3a0@cuis.st> References: <97c2c0e1-1bf6-42de-aeb3-4bf9e6f3342b@free.fr> <27104e6f-d67e-42e6-93e6-a6e18c98c3a0@cuis.st> Message-ID: Ok, let's plan the meeting. I suggest we take a look at the doc workbench, there are some documents mostly finished, we can try to put the final touch on these documents then move them to the appropriate place in the document structure: * https://github.com/DrCuis/Workbench/wiki/Command_Line_Options * https://github.com/DrCuis/Workbench/wiki/Cuis_Launching_Procedure * https://github.com/DrCuis/Workbench/tree/main/Theme Any topics we want to discuss? Hilaire -- http://mamot.fr/@drgeo -------------- next part -------------- An HTML attachment was scrubbed... URL: From juan at cuis.st Tue Jul 29 05:55:47 2025 From: juan at cuis.st (Juan Vuletich) Date: Tue, 29 Jul 2025 09:55:47 -0300 Subject: [Cuis-dev] triggering event with argument, emitter or listener last word? In-Reply-To: References: <08bc51b3-3d48-4910-b0fb-53ee2ddc1fa4@free.fr> <2cd63f3f-ac29-4096-88cf-aa490c0f8129@cuis.st> Message-ID: <3b5c4de3-e728-4cd9-abf5-d29c25f24e31@cuis.st> Thanks, Hilaire. I just pushed them. On 29/07/2025 5:58 AM, Hilaire Fernandes via Cuis-dev wrote: > > Hi Juan, > > Your change works fine on my little testing. This option for the > observer to pass argument seems to be very rarely, if not never, used. > It is nice to improve it, 24 years latter ;-) > > Le 28/07/2025 ? 18:08, Juan Vuletich a ?crit?: >> >> Hi Hilaire, >> >> I don't know what was the expected behavior when that code was >> written. I think it comes from Squeak and is like 24 years old. >> > -- > http://mamot.fr/@drgeo > -- Juan Vuletich www.cuis.st github.com/jvuletich researchgate.net/profile/Juan-Vuletich independent.academia.edu/JuanVuletich patents.justia.com/inventor/juan-manuel-vuletich -------------- next part -------------- An HTML attachment was scrubbed... URL: From hernan.wilkinson at 10pines.com Wed Jul 30 12:54:42 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Wed, 30 Jul 2025 16:54:42 -0300 Subject: [Cuis-dev] PluggableButtonMorph>>#defaultBorderColor Message-ID: Hi, attached is a cs that changes the button defaultBorderColor from nil to Color transparent. The reason is that if the border color can be nil, code to handle that case is necessary. Being the default border color transparent then no special treatment is necessary and it looks the same visually. Cheers Hernan. -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7389-PluggableButtonMorphDefaultBorderColor-HernanWilkinson-2025Jul30-15h59m-HAW.001.cs.st Type: application/octet-stream Size: 262 bytes Desc: not available URL: From hernan.wilkinson at 10pines.com Thu Jul 31 11:51:41 2025 From: hernan.wilkinson at 10pines.com (=?UTF-8?Q?Hern=C3=A1n_Wilkinson?=) Date: Thu, 31 Jul 2025 15:51:41 -0300 Subject: [Cuis-dev] LayoutAdjustingMorph>>#cursor Message-ID: Hi, attached is a cs that shows the cursor of the LayoutAdjustingMorph depending on if it is tall or wide. Cheers! Hernan. -- *Hern?n WilkinsonAgile Software Development, Teaching & Coaching* *Phone: +54-011*-4893-2057 *Twitter: @HernanWilkinson* *site: http://www.10Pines.com * Address: Alem 896, Floor 6, Buenos Aires, Argentina -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7390-LayoutAdjustingMorph_cursor_dependsOnBounds-HernanWilkinson-2025Jul30-18h09m-HAW.001.cs.st Type: application/octet-stream Size: 287 bytes Desc: not available URL: