Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 7 participants
- 50354 messages
Re: [Pharo-users] BlockStyler: Make Blocks more recognizable in source code
by Stephane Ducasse
Hi Manuel
This is coooooool.
How linked to nautilus it is?
Stef
On Wed, Sep 6, 2017 at 1:52 PM, Manuel Leuenberger <leuenberger(a)inf.unibe.ch
> wrote:
> Hi everyone,
>
> I built a little syntax highlighting extension for the Nautilus source
> code pane, which puts a background color behind blocks, so that nested
> blocks are easily recognizable.
>
>
> Install with:
>
> Metacello new
> baseline: 'BlockStyler';
> repository: 'github://maenu/BlockStyler/repository';
> load
>
> GitHub: https://github.com/maenu/BlockStyler
>
> Doesnât work with âFormat as you readâ, just as the IconStyler. If anybody
> has an idea how to integrate it properly into Nautilus as a plugin, let me
> know. Currently itâs an ugly meta-link hack to get access to the
> sourceTextModel.
>
> Cheers,
> Manuel
>
Sept. 7, 2017
Re: [Pharo-users] Pharo 6 FileSystem>>changeDirectory: is missing
by Andreas Sunardi
Hi Alistair,
I found fogbugz #19717 where this was discussed.
https://pharo.fogbugz.com/f/cases/19717/FileSystem-workingDirectory-wrong-a…
The issue seems to be the current working directory is saved in instance
variable workingDirectory. When the image is moved to another directory,
this workingDirectory becomes incorrect. Instance variable 'store', through
its #defaultWorkingDirectory, always gives the right answer (however, this
answer is the image directory, not directory where the command is invoked,
which is the issue in #05723 you mentioned).
Here's a snippet from fogbugz #19717 original problem on how to reproduce
it:
QUOTE
1/ open an image. evaluate './pharo-local' asFileReference and keep the
inspector.
2/ save and quit
3/ move the image to another directory
4/ open the image
5/ evaluate self fullName on the file reference => it will give a wrong
path with a reference to the working directory used at file reference
creation.
ENDQUOTE
I don't know if it's still debatable, which './pharo-local' the file
reference should refer to, but I think I agree with fogbugz #19717 that it
should stay as relative path.
But this is a separate issue than losing the ability to change working
directory, which seems to me an unintentional side-effect in the solution.
I'll see if I can jump onto $05723 to request support for changing working
directory.
On a side note, is current working directory the same as image directory in
Pharo? I wonder why we have these issues if they are separate things. I
haven't dived into this, so I can't say much.
--
Andreas
On Wed, Sep 6, 2017 at 12:42 PM, Alistair Grant <akgrant0710(a)gmail.com>
wrote:
> On Wed, Sep 06, 2017 at 10:50:05AM -0700, Andreas Sunardi wrote:
> > It isn't only #changeDirectory: method that is missing. Method #
> > workingDirectoryPath: and instance variable workingDirectory are also
> missing.
> >
> > FileSystem >> changeDirectory: aPath
> > self workingDirectoryPath: (self resolve: aPath)
> >
> > FileSystem >> workingDirectoryPath: aPath
> > aPath isAbsolute
> > ifFalse: [ self error: 'Cannot set the working directory to a
> relative
> > path' ].
> > workingDirectory := aPath
> >
> >
> > To solve my problem, I implemented those and also fixed
> #initializeWithStore:
> > and changed #workingDirectoryPath
> >
> > FileSystem >> initializeWithStore: aStore
> > store := aStore.
> > workingDirectory := store defaultWorkingDirectory
> >
> > FileSystem >> workingDirectoryPath
> > ^ workingDirectory
> >
> >
> > Those are from Pharo 5. However, this breaks Monticello (when opening
> > Monticello Browser). A FileSystem instance has instance variable
> > workingDirectory set to nil. This should be impossible. I set 'self
> halt' in #
> > initializeWithStore:. It doesn't get triggered, which tells me the
> instance
> > isn't created by normal way. I don't know what's going on there.
> >
> >
> > To fix it, I changed #workingDirectoryPath to
> >
> > FileSystem >> workingDirectoryPath
> > workingDirectory ifNil: [
> > workingDirectory := store defaultWorkingDirectory ].
> > ^ workingDirectory
> >
> >
> > That solves my problem, but this is a specific tool. I don't know what
> other
> > problems those changes will cause. This #ifNil: guard is not in Pharo 5,
> so
> > that makes me worry. In general, the change in FileSystem gives
> impression that
> > the it is intentional. But I haven't found the new Pharo 6.1 way to
> change
> > working directory, if there's any.
>
> I couldn't find a fogbugz issue relating to this - if anyone knows the
> issue, please post it here as it would be good to understand the
> rationale for the change.
>
> My interpretation of the changes are that the decision was made to hard
> code the working directory to the image directory. There are quite a
> few people who don't agree with this. :-)
>
> There is already a proposed patch to change the working directory to the
> process working directory, see fogbugz #05723.
> https://pharo.fogbugz.com/f/cases/5723/Default-Working-Directory
>
> The patch is waiting on a fix to include UFFI in the kernel.
>
> It currently doesn't allow the working directory to be changed,
> but if I remember correctly, Rajula developed the code to change the
> working directory.
>
> I think this approach has the advantage that it will automtically work
> with forked processes, e.g. using OSProcess / OSSubprocess.
>
> It would be worthwhile adding a comment to the issue asking Rajula to
> add the change directory functionality to the patch.
>
> Cheers,
> Alistair
>
>
>
> > --
> > Andreas
> >
> > On Tue, Sep 5, 2017 at 12:46 AM, Stephane Ducasse <
> stepharo.self(a)gmail.com>
> > wrote:
> >
> > Thanks for reporting.
> > I do not remember an action around me for this change.
> > Do you have the definition in Pharo 50 at hand?
> >
> > Stef
> >
> > On Wed, Aug 30, 2017 at 11:09 PM, Andreas Sunardi <
> a.sunardi(a)gmail.com>
> > wrote:
> > > I found FileSystem class has changed from Pharo 5 to Pharo 6. I've
> been
> > > using FileSystem>>changeDirectory to make my program (Pharo 5)
> runs in
> > the
> > > current working directory (thus able to find local files).
> > >
> > > This is now broken because #changeDirectory doesn't exist anymore.
> The
> > > change seems intentional.
> > >
> > > Question: Is there a different way in Pharo 6 do set working
> directory or
> > is
> > > this a bug?
> > >
> > > --
> > > Andreas
> >
> >
> >
>
>
Sept. 6, 2017
Re: [Pharo-users] Spec "bindings"
by Rob Rothwell
Hi Stef,
I think you are correct and you would still always perform actions like:
initializeWidgets (to create components and sub-components)
initializePresenter (to define interactions between components)
But, there could also be a third initialization step like
initializeSubject: aSubjectModel
That would allow you to initialize the domain model of each component
relative to your overall model.
Then, by exposing the aspects of your model available for viewing by a UI
as ValueHolders, it looks pretty straightforward (for simple objects) to
extend Spec to use those ValueHolders so that UI elements can implicitly
update themselves.
The source of my inspiration is the Dolphin "Better Hello World" example(s)
here:
http://object-arts.com/blog/files/better-hello-world.html
To try it out, I added a few Spec extensions and tried a little "counter"
test (like your MOOC example) displayed by a CounterApp (having an
increment button, decrement button, and label to show the count) such that
CounterApp showOn: counter
triggers
CounterApp>>initializeSubject: aSubjectModel
subject := aSubjectModel.
countLabel initializeSubject: subject countHolder
This results in replacing the UI label ValueHolder with the Counter's
"count" ValueHolder. If I had more aspects of my model I wanted to
connect, I would do it here, or if I wanted to connect the same thing to
multiple widgets (like a slider, for example), I would do that here as well.
This allows direct interactions with the Counter model (for example, an
"increment" button) to be reflected directly by the UI without having to
explicitly update the value after the interaction or listening for events.
I'll have to think about it some more, but I think Spec has what it needs
already to create a nice set of "type presenters" instead of what is
currently seems more like "widget presenters."
Then, instead of adding a LabelModel to a ComposableModel, you could add
something like a NumberPresenter and specify the spec you want to use
(which would in turn display the desired widget).
I didn't go that far yet, and created a NumberLabelModel for my example
above. It worked, but seems like the wrong way to go about it. Or maybe
you need both...I'm not sure!
I also want to take a look at self-updating complex widgets as well (lists,
tables, etc...) so that telling a list presenter it's list means that
adding a value to that list could automatically update the widget and so
on.
I had some crude prototyping success with that in VW before deciding
(hopefully for the last time) that "native" widgets aren't as important to
me as a solid and simple way to connect a model to a UI presentation.
This seems much easier to achieve in Pharo, and after years of intermittent
attempts I am hopeful that my knowledge level has finally become sufficient
to contribute something to this heroic effort.
Take care,
Rob
On Tue, Sep 5, 2017 at 6:08 PM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> Rob
>
> Spec deserves another pass.
> I see your point with showOn: now I do not see how you could avoid the
> presenter building. But may be I'm not enough into it.
> So I'm interested in your feedback.
>
> Stef
>
> Stef
>
> On Tue, Sep 5, 2017 at 8:49 PM, Rob Rothwell <r.j.rothwell(a)gmail.com>
> wrote:
> > Hello,
> >
> > I was wondering what more experienced users than myself thought of the
> idea
> > of an explicit Spec "connection point" to a domain model object similar
> to
> > Dolphin's "showOn:" method, like:
> >
> > CounterApp showOn: counter.
> >
> > This would perhaps trigger something like Dolphin's Presenter>>model:
> > message (although I've always found the use of "model" confusing when
> there
> > are so many "models" involved.) after the widgets had been created:
> >
> > ComposableModel>>initializeBindings: anObject
> >
> > In many cases, if your domain model uses ValueHolders as well (like Spec
> > does), making a connection could just mean replacing the Spec ValueHolder
> > with your domain ValueHolder so changes to the domain model would
> > automatically propagate to the UI presentation without providing explicit
> > code in ComposableModel>>initializePresenter.
> >
> > However, since I am still trying to understand and learn Spec, it's quite
> > possible I am missing some key point and there are reasons not to explore
> > this line of thinking!
> >
> > Thank you,
> >
> > Rob
> >
>
>
Sept. 6, 2017
Re: [Pharo-users] Pharo 6 FileSystem>>changeDirectory: is missing
by Alistair Grant
On Wed, Sep 06, 2017 at 10:50:05AM -0700, Andreas Sunardi wrote:
> It isn't only #changeDirectory: method that is missing. Method #
> workingDirectoryPath: and instance variable workingDirectory are also missing.
>
> FileSystem >> changeDirectory: aPath
> self workingDirectoryPath: (self resolve: aPath)
>
> FileSystem >> workingDirectoryPath: aPath
> aPath isAbsolute
> ifFalse: [ self error: 'Cannot set the working directory to a relative
> path' ].
> workingDirectory := aPath
>
>
> To solve my problem, I implemented those and also fixed #initializeWithStore:
> and changed #workingDirectoryPath
>
> FileSystem >> initializeWithStore: aStore
> store := aStore.
> workingDirectory := store defaultWorkingDirectory
>
> FileSystem >> workingDirectoryPath
> ^ workingDirectory
>
>
> Those are from Pharo 5. However, this breaks Monticello (when opening
> Monticello Browser). A FileSystem instance has instance variable
> workingDirectory set to nil. This should be impossible. I set 'self halt' in #
> initializeWithStore:. It doesn't get triggered, which tells me the instance
> isn't created by normal way. I don't know what's going on there.
>
>
> To fix it, I changed #workingDirectoryPath to
>
> FileSystem >> workingDirectoryPath
> workingDirectory ifNil: [
> workingDirectory := store defaultWorkingDirectory ].
> ^ workingDirectory
>
>
> That solves my problem, but this is a specific tool. I don't know what other
> problems those changes will cause. This #ifNil: guard is not in Pharo 5, so
> that makes me worry. In general, the change in FileSystem gives impression that
> the it is intentional. But I haven't found the new Pharo 6.1 way to change
> working directory, if there's any.
I couldn't find a fogbugz issue relating to this - if anyone knows the
issue, please post it here as it would be good to understand the
rationale for the change.
My interpretation of the changes are that the decision was made to hard
code the working directory to the image directory. There are quite a
few people who don't agree with this. :-)
There is already a proposed patch to change the working directory to the
process working directory, see fogbugz #05723.
https://pharo.fogbugz.com/f/cases/5723/Default-Working-Directory
The patch is waiting on a fix to include UFFI in the kernel.
It currently doesn't allow the working directory to be changed,
but if I remember correctly, Rajula developed the code to change the
working directory.
I think this approach has the advantage that it will automtically work
with forked processes, e.g. using OSProcess / OSSubprocess.
It would be worthwhile adding a comment to the issue asking Rajula to
add the change directory functionality to the patch.
Cheers,
Alistair
> --
> Andreas
>
> On Tue, Sep 5, 2017 at 12:46 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
> wrote:
>
> Thanks for reporting.
> I do not remember an action around me for this change.
> Do you have the definition in Pharo 50 at hand?
>
> Stef
>
> On Wed, Aug 30, 2017 at 11:09 PM, Andreas Sunardi <a.sunardi(a)gmail.com>
> wrote:
> > I found FileSystem class has changed from Pharo 5 to Pharo 6. I've been
> > using FileSystem>>changeDirectory to make my program (Pharo 5) runs in
> the
> > current working directory (thus able to find local files).
> >
> > This is now broken because #changeDirectory doesn't exist anymore. The
> > change seems intentional.
> >
> > Question: Is there a different way in Pharo 6 do set working directory or
> is
> > this a bug?
> >
> > --
> > Andreas
>
>
>
Sept. 6, 2017
Re: [Pharo-users] Pharo 6 FileSystem>>changeDirectory: is missing
by Andreas Sunardi
It isn't only #changeDirectory: method that is missing. Method
#workingDirectoryPath: and instance variable workingDirectory are also
missing.
FileSystem >> changeDirectory: aPath
self workingDirectoryPath: (self resolve: aPath)
FileSystem >> workingDirectoryPath: aPath
aPath isAbsolute
ifFalse: [ self error: 'Cannot set the working directory to a relative
path' ].
workingDirectory := aPath
To solve my problem, I implemented those and also fixed
#initializeWithStore: and changed #workingDirectoryPath
FileSystem >> initializeWithStore: aStore
store := aStore.
workingDirectory := store defaultWorkingDirectory
FileSystem >> workingDirectoryPath
^ workingDirectory
Those are from Pharo 5. However, this breaks Monticello (when opening
Monticello Browser). A FileSystem instance has instance variable
workingDirectory set to nil. This should be impossible. I set 'self halt'
in #initializeWithStore:. It doesn't get triggered, which tells me the
instance isn't created by normal way. I don't know what's going on there.
To fix it, I changed #workingDirectoryPath to
FileSystem >> workingDirectoryPath
workingDirectory ifNil: [
workingDirectory := store defaultWorkingDirectory ].
^ workingDirectory
That solves my problem, but this is a specific tool. I don't know what
other problems those changes will cause. This #ifNil: guard is not in Pharo
5, so that makes me worry. In general, the change in FileSystem gives
impression that the it is intentional. But I haven't found the new Pharo
6.1 way to change working directory, if there's any.
--
Andreas
On Tue, Sep 5, 2017 at 12:46 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> Thanks for reporting.
> I do not remember an action around me for this change.
> Do you have the definition in Pharo 50 at hand?
>
> Stef
>
> On Wed, Aug 30, 2017 at 11:09 PM, Andreas Sunardi <a.sunardi(a)gmail.com>
> wrote:
> > I found FileSystem class has changed from Pharo 5 to Pharo 6. I've been
> > using FileSystem>>changeDirectory to make my program (Pharo 5) runs in
> the
> > current working directory (thus able to find local files).
> >
> > This is now broken because #changeDirectory doesn't exist anymore. The
> > change seems intentional.
> >
> > Question: Is there a different way in Pharo 6 do set working directory
> or is
> > this a bug?
> >
> > --
> > Andreas
>
>
Sept. 6, 2017
Re: [Pharo-users] Brea wiki software
by Offray Vladimir Luna Cárdenas
Hi,
On 06/09/17 02:12, H. Hirzel wrote:
> So at the moment I am fine to get it up and running using a FossilRepo.
> Later on I will work on replacing it with a JSON data store.
Please let me know if you need any permissions into the repository to
make JSON data store available in Brea.
>
> On 9/6/17, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>> I understand that it makes a lot of sense to reuse the functions
>> implemented in the FossilRepo.
>>
>> Installation of the Fossil version control system seems to be very
>> simple, just put a single executable file into the pharo folder for
>> example
>>
>> https://fossil-scm.org/index.html/doc/trunk/www/index.wiki
Yes. Fossil is simpler and self-contained. A lot of friendly and
powerful user experience without importing the external complexities of
other developer cultures, like the popular systems (*coff... Git). I use
the one provided by my package manager, but we have installed Fossil and
started to use in our workshops and is a lot easier to start being
productive without the almost always gratuitous extra complexities,
specially for non tekies. Fossil gives me and easy distributed wiki out
of the box.
>> On 9/6/17, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>>> What I wanted to write is that the class FossilRepo is not included.
>>>
>>> And that the setup of the Teapot server should not be hidden in lazy
>>> initialisation method but made explicit with some methods in a method
>>> category called 'setup' or 'configuration'.
Please update your ConfigurationOfBrea, which fixes this two issues.
>>>> On 9/6/17, Offray Vladimir Luna Cárdenas <offray.luna(a)mutabit.com>
>>>> wrote:
>>>>> Hi, Hannes,
>>>>>
>>>>> Sorry it took so long.
>>>> No problem. It was actually less than 14 days which is not long .....
>>>>
>>>> :-)
Despite of being just one week after I told you I would look at the
issue, because the first one I have not access to my computer, is kind
of a lot considering the good support times in this community (with rare
exceptions, like when I feedback GT Tools and get no response :-/).
Cheers,
Offray
Sept. 6, 2017
Let's prepare for Google Code-In 2017 with Pharo Consortium
by Jigyasa Grover
Hello Pharo-ers !
On behalf of the community, I would like to thank each one of you for their
significant contribution in the recently concluded *Google Summer of Code
2017* with *Pharo Consortium*. We aspire to take-off on a long flight after
this successful stint. In this spirit, I proposed at ESUG 2017 that we take
part in the upcoming *Google Code-In 2017*.
GCI is a contest to introduce pre-university students (ages 13-17) to open
source software development. Because Google Code-in is often the first
experience many students have with open source, the contest is designed to
make it easy for students to jump right in with /bite-sized tasks/ (3 to 5
days) having categorised as: Code, Documentation/Training,
Outreach/Research, Quality Assurance, or User Interface.
Students search for a task from the list created by us that interests them
and claim it. They have at least three days to complete it. The student
works on the task, getting guidance from mentors, if needed. Once the
student is ready, they submit their work for review through the contest
website. Mentors from the organisation evaluate the work, provide feedback,
and if it's complete, accept it so that student can claim a new task.
Otherwise, specific feedback is provided, and the student goes back to
improving it.
Participants who complete at least 1 task get a digital certificate.
Participants who complete 3 or more tasks receive a t-shirt too. At the end
of the contest, each organisation chooses five finalists to receive limited
edition Google Code-in hoodies. Two finalists from each organisation get to
be the grand prize winners and go on a trip to Google Headquarters in
California !
The contest runs for about 6-8 weeks in December & January generally. With
organisation applications beginning in October/November, we need to be well
prepared for this seasonâs application with a hope to get selected.
As an open source evangelist and a Pharo developer, I would like to invite
all the experienced members to be a part of the "GCI with Pharo Consortium"
Team and mentor students. To get added to the âprivate repositoryâ (we need
to keep prospective students away from the task list before the program
begins ð ) where you can put in your tasks/suggestions kindly EMail me or
any of the previously added mentor.
Looking forward to an appreciable representation from the Pharo community.
Best regards
Jigyasa Grover
Pharo Consortium Org Admin, Google Summer of Code 2017
grover.jigyasa1(a)gmail.com
Link to know more about GCI: https://codein.withgoogle.com/archive/
<https://codein.withgoogle.com/archive/ >
Link to sample tasks:
https://developers.google.com/open-source/gci/resources/example-tasks
<https://developers.google.com/open-source/gci/resources/example-tasks>
Link to FAQs: https://developers.google.com/open-source/gci/faq
<https://developers.google.com/open-source/gci/faq >
Link to contest rules:
https://developers.google.com/open-source/gci/resources/contest-rules
<https://developers.google.com/open-source/gci/resources/contest-rules>
Link to GCI presentation for outreach:
https://developers.google.com/open-source/gci/resources/downloads/Google-Co…
<https://developers.google.com/open-source/gci/resources/downloads/Google-Co…>
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Sept. 6, 2017
BlockStyler: Make Blocks more recognizable in source code
by Manuel Leuenberger
Hi everyone,
I built a little syntax highlighting extension for the Nautilus source code pane, which puts a background color behind blocks, so that nested blocks are easily recognizable.
Install with:
Metacello new
baseline: 'BlockStyler';
repository: 'github://maenu/BlockStyler/repository';
load
GitHub: https://github.com/maenu/BlockStyler <https://github.com/maenu/BlockStyler>
Doesnât work with âFormat as you readâ, just as the IconStyler. If anybody has an idea how to integrate it properly into Nautilus as a plugin, let me know. Currently itâs an ugly meta-link hack to get access to the sourceTextModel.
Cheers,
Manuel
Sept. 6, 2017
Re: [Pharo-users] Usability issues with Calypso
by Tim Mackinnon
Hey Denis - I didn't mean to interrupt your ESUG (I should have mentioned it was something to follow up on afterwards). Enjoy it and help lots of ideas.
Should I raise a bug for the saving issue in fogbugz?
I'll have to look at how you add define shortcuts in Calypso as I'm not familiar with that bit - so I'm using both browsers at the moment.
Tim
Sent from my iPhone
> On 6 Sep 2017, at 10:45, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>
> Hi Tim.
>
> Sorry for late response. During Esug I am a bit out of mails.
>
> About saving method problem it is definitely a bug. Thank's for the report.
>
> About source code refactoring:
> Supporting source code commands was easy to do with suggestions. In fact text editor menu is still working old way. That's why some extra source code menus of Nautilus is not supported in Calypso.
> But general Idea is to redo all these commands with Commander. So it is todo. It is not complex task. And it will be available soon.
> Now it is already possible to define shortcuts for missing source code refactorings. So if you need some concrete command we can add it very fast using shortcut .
>
>
>
> 2017-09-06 1:14 GMT+02:00 Tim Mackinnon <tim(a)testit.works>:
>> BTW - Is it intended that when you save a method in a Calypso tab, it shifts focus to the first non saved tab? I find this quite confusing as suddenly I'm not where I thought I was and wonder if I saved my method?
>>
>> This said, I love the fact you can move to a new method with unsaved changes and no nag prompt.
>>
>> Tim
>>
>> Sent from my iPhone
>>
>>
>>
>> Sent from my iPhone
>>> On 3 Sep 2017, at 22:25, Tim Mackinnon <tim(a)testit.works> wrote:
>>>
>>
>>> Ah - you are right that rename is in there (Iâd never noticed it was in the suggestions menu - which I find a confusingly named sub-menu ) - but I am missing the more appropriately named âSource Code Refactoringâ menu, which it also appears along with extract method etc. This menu is not in Calypso right?
>>>
>>> Tim
>>>
>>>> On 3 Sep 2017, at 17:24, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>>>>
>>>> Hi Tim.
>>>>
>>>> No. It is available by cmd+r and from suggestions menu like in Nautilus. But maybe I do not know other place which you use for this
>>>>
>>>> 2017-09-03 17:03 GMT+02:00 Tim Mackinnon <tim(a)testit.works>:
>>>>> Hi Denis - I just noticed that the source refactoring menu is missing in Calypso as well? (So you canât rename a temp for example).
>>>>>
>>>>> Tim
>>>>>
>>>>>> On 2 Sep 2017, at 10:30, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> 2017-09-01 14:26 GMT+02:00 kmo <voxkmp(a)gmail.com>:
>>>>>>> I have been keen to use Calypso (I love the way it shows inherited methods)
>>>>>>> as my browser but I am finding some usability issues. It may be just me but
>>>>>>> some things I find off-putting.
>>>>>>
>>>>>> Any feedback is very important.
>>>>>>
>>>>>>>
>>>>>>> I don't really like the way that adding a new class is done by a new tab
>>>>>>> that appears now and then in the editing area. To my mind the Nautilus way
>>>>>>> of launching a dialog to create a class seems more natural - and opens the
>>>>>>> way in future for a class creation wizard - something that can't be done in
>>>>>>> a code window. If we have to do it in a code tab then it would be better if
>>>>>>> the tab remained there all the time - I don't like the way it appears and
>>>>>>> disappears. It takes a while to learn what to click to do this.
>>>>>>
>>>>>> In fact current behaviour is not replacement of old context menu command. It is just rethinking of classic single source code pane of old browsers.
>>>>>> So we will add missing command to context menu. But I think the command should open the current "New class" tab instead of old dialog request.
>>>>>> Also old browser behaviour is still working. You can create new class from the class editor tab. Just type new class name in the definition of selected class.
>>>>>>
>>>>>>>
>>>>>>> Also, all class creation presumes a subclass of Object in Calypso. i miss
>>>>>>> the ability in Nautilus to select a class and immediately create a subclass
>>>>>>> of it. Am I missing something here? Is there a way?
>>>>>>
>>>>>> You are right. It is missing command like previous one. We will add it.
>>>>>>
>>>>>>>
>>>>>>> On the topic of my ignorance - what is a /project /in Calypso? How do you
>>>>>>> create one?
>>>>>>
>>>>>> Now it is more like a stub.
>>>>>> There is integration with new package management Cargo (Christophe is working on it). But it is probably not ready yet.
>>>>>> I think we should also implement Metacello backend.
>>>>>> Anyway project mode will become default view in future.
>>>>>>
>>>>>>>
>>>>>>> And what does realize do?
>>>>>>
>>>>>> It creates stub implementation of abstract methods (found in superclasses).
>>>>>> I think in Calypso this command is not needed anymore because there is "should be implemented" method group which shows all these abstract methods.
>>>>>>
>>>>>>>
>>>>>>> Also I think that the pop up menus could be subdivided into categories
>>>>>>> rather than present all the options in an unbroken list. And the order of
>>>>>>> options seems odd. To my mind/ senders /and /implementers /are two menu
>>>>>>> options that should always go together - not be separated by/ rename/ and
>>>>>>> /move to class side/ et cetera.
>>>>>>
>>>>>> Yes, I will add it.
>>>>>>
>>>>>> You can report issues directly at github project https://github.com/dionisiydk/Calypso/issues.
>>>>>> Thank's for you feedback.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Just my two cents.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>
Sept. 6, 2017
Re: [Pharo-users] Usability issues with Calypso
by Denis Kudriashov
Hi Tim.
Sorry for late response. During Esug I am a bit out of mails.
About saving method problem it is definitely a bug. Thank's for the report.
About source code refactoring:
Supporting source code commands was easy to do with suggestions. In fact
text editor menu is still working old way. That's why some extra source
code menus of Nautilus is not supported in Calypso.
But general Idea is to redo all these commands with Commander. So it is
todo. It is not complex task. And it will be available soon.
Now it is already possible to define shortcuts for missing source code
refactorings. So if you need some concrete command we can add it very fast
using shortcut .
2017-09-06 1:14 GMT+02:00 Tim Mackinnon <tim(a)testit.works>:
> BTW - Is it intended that when you save a method in a Calypso tab, it
> shifts focus to the first non saved tab? I find this quite confusing as
> suddenly I'm not where I thought I was and wonder if I saved my method?
>
> This said, I love the fact you can move to a new method with unsaved
> changes and no nag prompt.
>
> Tim
>
> Sent from my iPhone
>
>
>
> Sent from my iPhone
> On 3 Sep 2017, at 22:25, Tim Mackinnon <tim(a)testit.works> wrote:
>
> Ah - you are right that rename is in there (Iâd never noticed it was in
> the suggestions menu - which I find a confusingly named sub-menu ) - but I
> am missing the more appropriately named âSource Code Refactoringâ menu,
> which it also appears along with extract method etc. This menu is not in
> Calypso right?
>
> Tim
>
> On 3 Sep 2017, at 17:24, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>
> Hi Tim.
>
> No. It is available by cmd+r and from suggestions menu like in Nautilus.
> But maybe I do not know other place which you use for this
>
> 2017-09-03 17:03 GMT+02:00 Tim Mackinnon <tim(a)testit.works>:
>
>> Hi Denis - I just noticed that the source refactoring menu is missing in
>> Calypso as well? (So you canât rename a temp for example).
>>
>> Tim
>>
>> On 2 Sep 2017, at 10:30, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>>
>> Hi
>>
>> 2017-09-01 14:26 GMT+02:00 kmo <voxkmp(a)gmail.com>:
>>
>>> I have been keen to use Calypso (I love the way it shows inherited
>>> methods)
>>> as my browser but I am finding some usability issues. It may be just me
>>> but
>>> some things I find off-putting.
>>>
>>
>> Any feedback is very important.
>>
>>
>>>
>>> I don't really like the way that adding a new class is done by a new tab
>>> that appears now and then in the editing area. To my mind the Nautilus
>>> way
>>> of launching a dialog to create a class seems more natural - and opens
>>> the
>>> way in future for a class creation wizard - something that can't be done
>>> in
>>> a code window. If we have to do it in a code tab then it would be better
>>> if
>>> the tab remained there all the time - I don't like the way it appears and
>>> disappears. It takes a while to learn what to click to do this.
>>>
>>
>> In fact current behaviour is not replacement of old context menu command.
>> It is just rethinking of classic single source code pane of old browsers.
>> So we will add missing command to context menu. But I think the command
>> should open the current "New class" tab instead of old dialog request.
>> Also old browser behaviour is still working. You can create new class
>> from the class editor tab. Just type new class name in the definition of
>> selected class.
>>
>>
>>>
>>> Also, all class creation presumes a subclass of Object in Calypso. i miss
>>> the ability in Nautilus to select a class and immediately create a
>>> subclass
>>> of it. Am I missing something here? Is there a way?
>>>
>>
>> You are right. It is missing command like previous one. We will add it.
>>
>>
>>>
>>> On the topic of my ignorance - what is a /project /in Calypso? How do you
>>> create one?
>>>
>>
>> Now it is more like a stub.
>> There is integration with new package management Cargo (Christophe is
>> working on it). But it is probably not ready yet.
>> I think we should also implement Metacello backend.
>> Anyway project mode will become default view in future.
>>
>>
>>> And what does realize do?
>>>
>>
>> It creates stub implementation of abstract methods (found in
>> superclasses).
>> I think in Calypso this command is not needed anymore because there is
>> "should be implemented" method group which shows all these abstract methods.
>>
>>
>>>
>>> Also I think that the pop up menus could be subdivided into categories
>>> rather than present all the options in an unbroken list. And the order of
>>> options seems odd. To my mind/ senders /and /implementers /are two menu
>>> options that should always go together - not be separated by/ rename/ and
>>> /move to class side/ et cetera.
>>>
>>
>> Yes, I will add it.
>>
>> You can report issues directly at github project https://github.com/dio
>> nisiydk/Calypso/issues.
>> Thank's for you feedback.
>>
>>
>>
>>>
>>> Just my two cents.
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>
>>>
>>
>>
>
>
Sept. 6, 2017