I don't want to hijack this thread, but it would be useful for me to have a
cheatsheet to allow me to do the usual operations I do with the mouse,
programatically. I've had some difficulties with simple things in the past.
For example, to delete all Transcript or Playground windows, I use calls
such as

(World submorphs select: [ :w | ((w model printString beginsWith: 'a
> GTPlayground') or: [ w model printString beginsWith: 'Transcript' ]) not ])
> do: [ :w | w delete ].
>

I'm missing ways to query World submorphs to know exactly my target
instance. For example:
- Which is the leftmost window?
- Which window has the focus?
- Which windows have "grouping" enabled?
- Which Playground instance I used more recently?

And operations such as:
- Maximize morph.
- Activate "class side" in Nautilus.
- Select "accessing" protocol.
- Select package X.
- Select "Hierarchy".
- Choose the next child when "hierarchy" is active.

> - Resize the method panel.
>

Also, basic things like:
- Move to the next word.
- Highlight previous word.
- Highlight current line.

That would be very helpful for me. I'm not saying it's difficult to do, I'm
just saying for me it'd be helpful.
That's basically why I love Emacs, because I can do with the keyboard
anything that can be done with the mouse, and more.

Thanks!

El jue., 24 ene. 2019 a las 19:05, Dimitris Chloupis (<kilon.al...@gmail.com>)
escribió:

> Playground is a REPL inside Pharo so I am not sure I understand what you
> are asking. Everything in Pharo is just Classes and methods so you can do
> whatever you want. If you are a bit more descriptive maybe I can help you
> more. There is no such thing as a bad idea, just an idea that has not
> mature enough :D
>
> On Thu, Jan 24, 2019 at 7:53 PM Jose San Leandro <jose.sanlean...@osoco.es>
> wrote:
>
>> I was aware of that. I was imaging a way to use the tools available in
>> Pharo, but within a REPL session.
>> Probably a bad idea anyway. I just think the mouse is useful when
>> exploring, but it's ridiculously inefficient once you know exactly what you
>> want to do.
>> In my 4k monitor I often feel like if I was saying "no, I want to resize
>> the window, not moving it, not changing the focus, thanks". I have to waste
>> time being accurate enough with the mouse, because it's the expected way to
>> communicate with live objects. Mouse, then keyboard. Not good.
>>
>> El jue., 24 ene. 2019 a las 18:36, Dimitris Chloupis (<
>> kilon.al...@gmail.com>) escribió:
>>
>>> "I am sure there will always be skeptics. But my own experience was
>>> different. For me, the most weird thing about Squeak (and now Pharo) IDE
>>> is its insistence in showing only one method at a time. A method is too
>>> small a chunk of code. It is easy to miss the forest for the trees. In
>>> Dimitris video, you see lots more code in one glance in vim session. So
>>> there are pragmatic reasons why some coders fallback to using fileOuts
>>> for browsing classes."
>>>
>>> I could not agree more , I find the column GUI weird and a waste of
>>> space. This is why I have ended up relying a lot on GTSpotter (finder)
>>> which help me browse classes a lot faster than the class browser. Kinda
>>> ironic.
>>>
>>> I am using Pharo since 2011. I am still dont like Class Browser :D
>>>
>>> "In summary, if someone misses Emacs or Vim when working with Pharo, it
>>> could be due to:
>>> - being stuck in the file-based way to think of coding.
>>> "
>>> Its a common misconception that Pharo does not heavily rely on text
>>> files, it actually does. Not only the source file makes it possible to view
>>> the code even the oldest method of version control tha Pharo being a fork,
>>> inherited from Squeak, the known mcz files they may look small binary files
>>> like the Pharo image but they are merely zip files with source code text
>>> files with the st extension.
>>>
>>> The image is merely the bytecode, the VMs machine code sort of, the
>>> actually source works the same way as other languages. Like other languages
>>> you dont need the source code to execute , only the bytecode. What makes
>>> the image special is that its one file and its a memory dump which makes it
>>> easy to store both live code and live state. Which is very helpful,
>>> technically its mandatory for true live coding, but still Pharo has to rely
>>> on source code files to make our lives easy. From there on is just a
>>> question whether you break the source code files in several small ones, or
>>> keep one large.
>>>
>>> "Besides that, is there an easy way to run an image in text-only mode,
>>> with a REPL or a playground or something like that?"
>>>
>>> Yeap its possible and has been around for a very long time. Pharo also
>>> makes it dead easy to expose any method as command line argument, so its
>>> possible to code completely from the command line although definitely not
>>> recommended.
>>>
>>> Deep Into Pharo book explains how.
>>>
>>> On Thu, Jan 24, 2019 at 7:17 PM K K Subbu <kksubbu...@gmail.com> wrote:
>>>
>>>> On 24/01/19 9:47 PM, Sven Van Caekenberghe wrote:
>>>> >
>>>> >
>>>> >> On 24 Jan 2019, at 17:04, K K Subbu <kksubbu...@gmail.com> wrote:
>>>> >>
>>>> >> On 24/01/19 7:23 PM, Sven Van Caekenberghe wrote:
>>>> >>> Everybody is of course totally free to do whatever they want,
>>>> >>> but really, why the hell would you want to do that ?
>>>> >> Because text has many uses other than just feeding into a compiler
>>>> >> for translation to machine code? People who come from Unix/Linux
>>>> >> world are used to using a rich collection of tools that deal with
>>>> >> text in various ways.
>>>> >
>>>> > I am myself a server/linux guy, an emacs user, I know what is all
>>>> > possible and what the unix philosophy is.
>>>>
>>>>
>>>> No offense intended. Just wanted to point out that text can have
>>>> different purposes. Historically, Smalltalk presented itself as a
>>>> OS+IDE. Today, that is no longer true. Pharo is just a multi-platform
>>>> IDE.
>>>>
>>>> > I also know how to integrate Pharo into that world, and this is super
>>>> > important.
>>>> Thanks. This is what I intended to bring out.
>>>>
>>>> >>> You lose so much by doing that, I do not even know where to
>>>> >>> start.
>>>> >>
>>>> >> Live coding (i.e. coding in the presence of instances) is
>>>> >> undoubtedly more powerful than edit-compile-run cycle. Text is used
>>>> >> to direct IDE to edit live objects. But text has many more uses
>>>> >> than just issuing commands.  If beginners start using vim just to
>>>> >> edit code due to established habits, they will soon realize the
>>>> >> ease of live coding and remain in IDE. This is a self-correcting
>>>> >> error.
>>>> >
>>>> > Well, I don't think so.
>>>> > The users that you are going to attract in this way (the ones that
>>>> > don't want to leave their own IDE/editor), will look at textual Pharo
>>>> > and find it very strange and ill suited to textual editing (and they
>>>> > are absolutely right), they will not discover the power, will not
>>>> > learn (from this experience alone) what object
>>>> > design/programming/power is, and will ask for more (e.g. give me ,
>>>> > style compiler errors, better/easier structure of the file, fixed the
>>>> > !! escape issue, etc, ...).
>>>>
>>>> I am sure there will always be skeptics. But my own experience was
>>>> different. For me, the most weird thing about Squeak (and now Pharo)
>>>> IDE
>>>> is its insistence in showing only one method at a time. A method is too
>>>> small a chunk of code. It is easy to miss the forest for the trees. In
>>>> Dimitris video, you see lots more code in one glance in vim session. So
>>>> there are pragmatic reasons why some coders fallback to using fileOuts
>>>> for browsing classes.
>>>>
>>>> Regards .. Subbu
>>>>
>>>>

Reply via email to