You could also have a look at ZnClientTests>>#testProgress where Notification are used, try the example in the comment. But that is probably not what you are looking for.
> On 5 Feb 2017, at 20:32, Yuriy Tymchuk <[email protected]> wrote: > > This is a really nice solution for STON, thank you! > > But in general terms, imagine I have some task and it’s not the trivial to > add a progress bar. I could spawn a string morph and make circle the digits > with some interval, but maybe there is something easier. For example Kommiter > had a spinner morph that you could just open and it would be spinning. So > when you run a task you can easily see that the task is still running > > Uko > >> On 5 Feb 2017, at 20:01, Sven Van Caekenberghe <[email protected]> wrote: >> >> A bit off topic, but I would do the STON writing as follows: >> >> [ >> (FileLocator temp / 'file.ston') writeStreamDo: [ :out | >> (STON writer on: out) in: [ :stonWriter | >> 30 timesRepeat: [ >> stonWriter nextPut: Smalltalk allClasses ] ] ]. >> ] timeToRun. "0:00:00:02.176" >> >> But in light of alternative streams and some optimisation, this works too: >> >> [ >> | file | >> file := (File named: '/tmp/file.ston') openForWrite. >> [ >> ZnBufferedWriteStream on: (ZnCharacterWriteStream on: file) do: [ :out | >> (STON writer on: out) in: [ :stonWriter | >> 30 timesRepeat: [ >> stonWriter nextPut: Smalltalk allClasses ] ] ] >> ] ensure: [ file close ]. >> ] timeToRun. "0:00:00:00.385" >> >> Which is faster. >> >> Total file size is ~1.2MB. >> >> BTW, we need #readStreamDo: and #writeStreamDo: on File I think, as it >> encourages proper resource management. >> >>> On 5 Feb 2017, at 19:16, Henrik Nergaard <[email protected]> wrote: >>> >>> http://smalltalkhub.com/#!/~Latsabben/GafletFremgangFremviser >>> >>> --------------------- >>> | ston file| >>> >>> ston := (1 to: 30) flatCollect: [:ix |STON toStringPretty: Smalltalk >>> allClasses]. >>> file := (FileStream fileNamed: 'file.ston'). >>> >>> ston whileDisplayingProgress >>> action: [ :stream | file nextPutAll: stream ] whenDone: [ file close ]; >>> open; >>> fillOwner >>> --------------------- >>> >>> Best regards, >>> Henrik >>> >>> -----Opprinnelig melding----- >>> Fra: Pharo-dev [mailto:[email protected]] På vegne av Yuriy >>> Tymchuk >>> Sendt: 05 February 2017 16:56 >>> Til: Pharo Development List <[email protected]> >>> Emne: [Pharo-dev] How can I create a trivial "spinner" etc, to see if image >>> is busy? >>> >>> Hi all, >>> >>> is there an easy was to do some thing that is constantly changing? so if my >>> image freezes (to export a 1gb ston file for example) I can see when it’s >>> done. Or maybe there is a way to send a mac notification from Pharo? >>> >>> Cheers. >>> Uko >> >> > >
