9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Alternative to fine-grained mouse usage?
@ 2021-07-01  1:15 Dworkin Muller
  2021-07-01  2:51 ` umbraticus
                   ` (4 more replies)
  0 siblings, 5 replies; 24+ messages in thread
From: Dworkin Muller @ 2021-07-01  1:15 UTC (permalink / raw)
  To: 9fans

I have physical issues with trying to perform fine-grained mouse
operations (uncontrollable small hand tremors).  The net effect is
that anything more much specific than window selection is difficult
and takes several seconds - pretty much the antithesis of the study
results that showed that editing using the mouse to point to where you
want to type, select text, etc was as efficient as keyboard-driven
edit.  To give an idea of the scale of the problem, it's difficult to
get the mouse positioned into the scrollbars or the command bar of
acme windows, let alone point between two specific characters for
inserting new text.

So, my question is, are there any viable alternatives for use with
Plan9?  Throwing special hardware at the problem unfortunately isn't
all that viable mainly due to budgetary issues - all the other
environments I use support keyboard short-cuts for just about
everything, so it's hard to justify spending any significant amount of
money for what is essentially a low-priority hobby.

If the answer is just to use sam, I can do that, but it doesn't really
help the problem of needing to copy/paste previous commands in
terminal windows, etc.

Hopefully I'm missing something obvious....

Thanks.

Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Me09f8341e9c38135813ead15
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
@ 2021-07-01  2:51 ` umbraticus
  2021-07-01  4:36   ` Paul Lalonde
  2021-07-03  9:09   ` Dworkin Muller
  2021-07-01 11:12 ` igor
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 24+ messages in thread
From: umbraticus @ 2021-07-01  2:51 UTC (permalink / raw)
  To: 9fans

> needing to copy/paste previous commands in terminal windows, etc.

see " and "" scripts

The finnicky mouse stuff is indeed an annoyance in acme.  I use sam &
a trackball & a huge font.  some conveniences have been added to sam,
^B and ^G to switch from sam window and back to buffer.  Make use of
<>!| commands and so on...  standard ^W ^U ^A ^E stuff...  plumbing,
searching, command language.  rio window placement mostly automated.
I have sam just open files fullscreen automatically, which is quite nice…

umbraticus

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Ma610880200ac6ba2e64f4e5b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  2:51 ` umbraticus
@ 2021-07-01  4:36   ` Paul Lalonde
  2021-07-01  5:05     ` umbraticus
  2021-07-03  9:09   ` Dworkin Muller
  1 sibling, 1 reply; 24+ messages in thread
From: Paul Lalonde @ 2021-07-01  4:36 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1537 bytes --]

There's a huge difference using my mouse in Plan9 than in Plan9port on my
mac.  Plan9 feels almost unusable by comparison.  I suspect much of this is
the very finely tuned acceleration/fine-pointing behavior of the mouse on
modern desktop platforms.
That's probably a ripe space for improving the Plan9 user experience.

I wish there were better accessibility solutions for Plan9 as regards the
mouse.  That's likely another ripe area for tuning - taking advantage of
Fitts' law in UI interactions (with a real acceleration/precision model)
would be nice.  There's few enough UI elements in our toolkit that it might
even be feasible to do as a hobbyist.

Paul

On Wed, Jun 30, 2021 at 7:53 PM <umbraticus@prosimetrum.com> wrote:

> > needing to copy/paste previous commands in terminal windows, etc.
> 
> see " and "" scripts
> 
> The finnicky mouse stuff is indeed an annoyance in acme.  I use sam &
> a trackball & a huge font.  some conveniences have been added to sam,
> ^B and ^G to switch from sam window and back to buffer.  Make use of
> <>!| commands and so on...  standard ^W ^U ^A ^E stuff...  plumbing,
> searching, command language.  rio window placement mostly automated.
> I have sam just open files fullscreen automatically, which is quite nice…
> 
> umbraticus

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Ma67e1972b37912dac460dfc1
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 2954 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  4:36   ` Paul Lalonde
@ 2021-07-01  5:05     ` umbraticus
  2021-07-01 10:36       ` hiro
  0 siblings, 1 reply; 24+ messages in thread
From: umbraticus @ 2021-07-01  5:05 UTC (permalink / raw)
  To: 9fans

> taking advantage of Fitts' law in UI interactions

another fairly standard practice: organise window management
to leave a pixel or two around the edge to allow slamming
mouse to the nearest extremity in order to access rio b3 menu.

blasphemy: I occasionally wonder how difficult it would be
to implement windows-style Ctrl+←/→ word boundary jumping,
maybe even Shift to select…

umbraticus

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M962e5aa87312fb3af7063d84
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  5:05     ` umbraticus
@ 2021-07-01 10:36       ` hiro
  0 siblings, 0 replies; 24+ messages in thread
From: hiro @ 2021-07-01 10:36 UTC (permalink / raw)
  To: 9fans

i don't think you're missing anything obvious in terms of acme, it's
clearly not made for you.

your options are either to modify acme itself and insert keyboard
shortcuts, or to ignore acme and try to make as many little scripts as
possible, executed from rio terminals.

i often feel like i can not justify the time to spend and create
scripts for everything, when i can instead use an iterative
interactive process of running and editing and then rerunning commands
in rio.

but given your input problems, i am sure you can not only use this
excuse to spend more time on automation, but you'll get rather good at
it, too, over time, meaning you will be able to remember more and
re-use more of your own commands for many different use cases...

at some point you'll have invented your own couple hundred private
languages that will require just plain text based input methods. it's
very effective, just not very standard and not very acme-like.

so yeah, personally i'd chose this: just make more rc scripts, as many
as you can :)

On 7/1/21, umbraticus@prosimetrum.com <umbraticus@prosimetrum.com> wrote:
>> taking advantage of Fitts' law in UI interactions
> 
> another fairly standard practice: organise window management
> to leave a pixel or two around the edge to allow slamming
> mouse to the nearest extremity in order to access rio b3 menu.
> 
> blasphemy: I occasionally wonder how difficult it would be
> to implement windows-style Ctrl+←/→ word boundary jumping,
> maybe even Shift to select…
> 
> umbraticus

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M2fad8ae63eacb802507bb294
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
  2021-07-01  2:51 ` umbraticus
@ 2021-07-01 11:12 ` igor
  2021-07-01 17:48 ` Ethan Gardener
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 24+ messages in thread
From: igor @ 2021-07-01 11:12 UTC (permalink / raw)
  To: 9fans; +Cc: igor

If you are looking for a more keyboard driven window management
version of rio, sigrid has made some experiments with this here:

  - https://git.sr.ht/~ft/riow

It gives you virtual desktops to move windows around in, by
pressing keys, like i3. It features:

 • virtual desktops
 • switch between desktops
 • move windows between desktops
 • toggle fullscreen on the current window
 • start a new window
 • "sticky" programs
 • toggle "sticky" mode for current window

All that with simple shortcuts.

Maybe if combined with the sam tricks that umbraticus mentioned and
the addition of your own scripts as pointed out by 23hiro you might
be able to create an improved user experience for yourself.

Quoth Dworkin Muller <dlm-9fans@weaselfish.com>:
> I have physical issues with trying to perform fine-grained mouse
> operations (uncontrollable small hand tremors).  The net effect is
> that anything more much specific than window selection is difficult
> and takes several seconds - pretty much the antithesis of the study
> results that showed that editing using the mouse to point to where you
> want to type, select text, etc was as efficient as keyboard-driven
> edit.  To give an idea of the scale of the problem, it's difficult to
> get the mouse positioned into the scrollbars or the command bar of
> acme windows, let alone point between two specific characters for
> inserting new text.
> 
> So, my question is, are there any viable alternatives for use with
> Plan9?  Throwing special hardware at the problem unfortunately isn't
> all that viable mainly due to budgetary issues - all the other
> environments I use support keyboard short-cuts for just about
> everything, so it's hard to justify spending any significant amount of
> money for what is essentially a low-priority hobby.
> 
> If the answer is just to use sam, I can do that, but it doesn't really
> help the problem of needing to copy/paste previous commands in
> terminal windows, etc.
> 
> Hopefully I'm missing something obvious....
> 
> Thanks.
> 
> Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mbedcb91b73943c44f64a6e2b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
  2021-07-01  2:51 ` umbraticus
  2021-07-01 11:12 ` igor
@ 2021-07-01 17:48 ` Ethan Gardener
  2021-07-01 18:01   ` Sigrid Solveig Haflínudóttir
  2021-07-02 15:03   ` [9fans] Alternative to fine-grained mouse usage? silas poulson
  2021-07-02  2:20 ` Cyber Fonic
  2021-07-07  3:14 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
  4 siblings, 2 replies; 24+ messages in thread
From: Ethan Gardener @ 2021-07-01 17:48 UTC (permalink / raw)
  To: 9fans

I used to enjoy Acme, but had to give it up when I no longer had an ergonomic desk. Using the mouse hurt too much. In the way I work, often switching files, Sam's menus are practically worse than Acme. I tried sam -d (command-line only) and ed, but... well, I get in a muddle with regexps. Most people don't, and Plan 9's are more regular than most, so I recommend sam -d. It's a bit cleaner and more powerful than ed. The weakest point in sam -d is still switching files, you have to type whole filenames, but I think if you never use the plumber, you won't have to type any full pathnames. You could also use ed. It's one-file only, but sam -d can't display line numbers, ed can.

With a usable text editor, you can write temporary scripts to work around the issue of reissuing commands. For all but the simplest commands, I prefer that way of working to a regular command line. When I needed to write more than Acme/Rio features comfortably allowed, I'd name a temporary script tt or ss or something. If you don't want to make them in your working directory, you'll want a short path for them. Perhaps `bind -bc /tmp/bin /bin` and in sam, `B /bin/tt`.

Incidentally, I barely used the scrollbars. I used the up and down arrow keys, home and end, or sometimes if I was in a hurry, page up & page down. I did use the scrollbars for precise pagination when reading plain-text ebooks or 9front commit messages, but I didn't really need to.

As for Rio, from looking at your mail, am I right in saying you know how to have the riostart script open windows, and that you can reuse them? I wrote scripts to get the screen size and calculate the figures for the window corners. I don't know where they are now, but they were very short. The only catch is quoting can get funky in this one case of . It's not bad, just some surprising runs of ''''' every time you need a quote.

I'm tired today. I've only just now remembered some other options:

There's also a Vim port. I can't remember if it runs in vt(1) or stand-alone. I also can't remember if it's been updated. Perhaps ask in 9front channels, one of the regulars was/is a Vim user.

Speaking of vt, if you can find/port/make rlwrap, you could use rc under vt with command history and keyboard editing. These features are also nice with sam -d or ed. (Yes, Plan 9 purists, I was naughty enough to try it. ;)


On Thu, Jul 1, 2021, at 2:15 AM, Dworkin Muller wrote:
> I have physical issues with trying to perform fine-grained mouse
> operations (uncontrollable small hand tremors).  The net effect is
> that anything more much specific than window selection is difficult
> and takes several seconds - pretty much the antithesis of the study
> results that showed that editing using the mouse to point to where you
> want to type, select text, etc was as efficient as keyboard-driven
> edit.  To give an idea of the scale of the problem, it's difficult to
> get the mouse positioned into the scrollbars or the command bar of
> acme windows, let alone point between two specific characters for
> inserting new text.
> 
> So, my question is, are there any viable alternatives for use with
> Plan9?  Throwing special hardware at the problem unfortunately isn't
> all that viable mainly due to budgetary issues - all the other
> environments I use support keyboard short-cuts for just about
> everything, so it's hard to justify spending any significant amount of
> money for what is essentially a low-priority hobby.
> 
> If the answer is just to use sam, I can do that, but it doesn't really
> help the problem of needing to copy/paste previous commands in
> terminal windows, etc.
> 
> Hopefully I'm missing something obvious....
> 
> Thanks.
> 
> Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M130b45cec16dbc1eaeb15846
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01 17:48 ` Ethan Gardener
@ 2021-07-01 18:01   ` Sigrid Solveig Haflínudóttir
  2021-07-01 21:59     ` [9fans] Sam tricks (was: Alternative to fine-grained mouse usage?) Silas McCroskey
  2021-07-02 15:03   ` [9fans] Alternative to fine-grained mouse usage? silas poulson
  1 sibling, 1 reply; 24+ messages in thread
From: Sigrid Solveig Haflínudóttir @ 2021-07-01 18:01 UTC (permalink / raw)
  To: 9fans

9front's sam has additional "^" and "_" commands which make output of
specified commands go into the command window.  Loading a rc file with
a bunch of "fn ...  {" simplifies things quite a lot in general, see
http://runjimmyrunrunyoufuckerrun.com/rc/s as an example.


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M0ae22ece737b5a8240680332
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Sam tricks (was: Alternative to fine-grained mouse usage?)
  2021-07-01 18:01   ` Sigrid Solveig Haflínudóttir
@ 2021-07-01 21:59     ` Silas McCroskey
  0 siblings, 0 replies; 24+ messages in thread
From: Silas McCroskey @ 2021-07-01 21:59 UTC (permalink / raw)
  To: 9fans, eekee57, ftrvxmtrx

> often switching files, Sam's menus are practically worse than Acme
> The weakest point in sam -d is still switching files, you have to type
> whole filenames

X/pathregex/b

sam will dump a warning about an expected blank, but it'll otherwise
do what you hope for (switch to the open file matching the regex).

> Loading a rc file with a bunch of "fn ...  {" simplifies things quite a lot in general

Seconded on ^ and _ (though I rarely use the latter). I use "bind -b
lib/sam /bin" within sam, though, as I prefer separate files so I can
organize stuff by language and such (e.g. ^c/ind indents . with tabs,
^py/ind indents . with spaces, and language-specific poor-man's
parsing for stuff like selecting the entire body of the function
you're in). Also nice: a lot of my "scripts" just use "#!/bin/sed 1d"
or "#!/bin/sed /^#/d" so they don't need to mess with shell evaluation
at all, e.g.:

mystia% cat lib/sam/d
#!/bin/sed /^#/d
,> diff -c $% /fd/0

(outputs the diff between the buffer and the file -- mostly ends up in
/tmp/sam.err)

mystia% cat lib/sam/gd
#!/bin/sed /^#/d
!@{cd `{basename -d $%} && git/diff `{basename $%}}

(outputs the git diff of the current file -- mostly ends up in /tmp/sam.err)

- sam-d

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T274bbf3037e0edb1-Mb6b866d13c89e6a36656b2e3
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
                   ` (2 preceding siblings ...)
  2021-07-01 17:48 ` Ethan Gardener
@ 2021-07-02  2:20 ` Cyber Fonic
  2021-07-07  3:14 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
  4 siblings, 0 replies; 24+ messages in thread
From: Cyber Fonic @ 2021-07-02  2:20 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2276 bytes --]

I used to have serious CTS issues from using a mouse.  Clenching a mouse
and fine motor movement became physiologically incompatible actions for me.

My simple low cost solution is to have a USB connected Logitech trackball
under my right hand (I'm right handed) and a common wheel USB mouse with
the optical window taped over under the left hand. Moving the mouse has no
effect on the cursor/pointer.

So I position the cursor/pointer with my right hand, rolling the trackball,
sometimes gingerly. When I have the spot right, I raise my right hand so
that the pointer stays put and then click or scroll as required with the
left hand.

On Thu, 1 Jul 2021 at 11:16, Dworkin Muller <dlm-9fans@weaselfish.com>
wrote:

> I have physical issues with trying to perform fine-grained mouse
> operations (uncontrollable small hand tremors).  The net effect is
> that anything more much specific than window selection is difficult
> and takes several seconds - pretty much the antithesis of the study
> results that showed that editing using the mouse to point to where you
> want to type, select text, etc was as efficient as keyboard-driven
> edit.  To give an idea of the scale of the problem, it's difficult to
> get the mouse positioned into the scrollbars or the command bar of
> acme windows, let alone point between two specific characters for
> inserting new text.
> 
> So, my question is, are there any viable alternatives for use with
> Plan9?  Throwing special hardware at the problem unfortunately isn't
> all that viable mainly due to budgetary issues - all the other
> environments I use support keyboard short-cuts for just about
> everything, so it's hard to justify spending any significant amount of
> money for what is essentially a low-priority hobby.
> 
> If the answer is just to use sam, I can do that, but it doesn't really
> help the problem of needing to copy/paste previous commands in
> terminal windows, etc.
> 
> Hopefully I'm missing something obvious....
> 
> Thanks.
> 
> Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M7b4c1723d7b83c3b32784134
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 3688 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01 17:48 ` Ethan Gardener
  2021-07-01 18:01   ` Sigrid Solveig Haflínudóttir
@ 2021-07-02 15:03   ` silas poulson
  2021-07-02 18:06     ` Ethan Gardener
  1 sibling, 1 reply; 24+ messages in thread
From: silas poulson @ 2021-07-02 15:03 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 515 bytes --]

On 1 Jul 2021, at 18:48, Ethan Gardener <eekee57@fastmail.fm<mailto:eekee57@fastmail.fm>> wrote:
sam -d can't display line numbers

You can sort of display them via

,x {
p
}

Though it’s ugly and annoyingly can’t apply sam’s regex to remove the character locations.

Silas

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M379705a7f19743c3d79dfbb2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1924 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-02 15:03   ` [9fans] Alternative to fine-grained mouse usage? silas poulson
@ 2021-07-02 18:06     ` Ethan Gardener
  2021-07-02 18:54       ` Silas McCroskey
  2021-07-03 16:32       ` silas poulson
  0 siblings, 2 replies; 24+ messages in thread
From: Ethan Gardener @ 2021-07-02 18:06 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1559 bytes --]

On Fri, Jul 2, 2021, at 4:03 PM, silas poulson wrote:
>> On 1 Jul 2021, at 18:48, Ethan Gardener <eekee57@fastmail.fm> wrote:
>> sam -d can't display line numbers
> 
> You can sort of display them via
> 
> ,x {
> p
> }
> 
> Though it’s ugly and annoyingly can’t apply sam’s regex to remove the character locations.

My mail client swallowed the line with the equals sign until I tried to reply. If that's happening to anyone else, it's on a line on its own between the opening brace and the p.

It does work, but yeah, it's a bit on the ugly side. I can get line & char numbers onto the same lines as the text, but only on the ends of the lines which is even uglier. It's this:

,x/.*/ {
p
}

The regexp selects whole lines without the newlines. Reversing the order of = and p has no effect.

(This reminds me why I switched to Forth: I can program my editor properly instead of being constrained by a domain-specific language. But part of the problem was I couldn't get my head around Sam's C code. It probably didn't help that I started with terminal-editor communication; that was likely the deep end of the pool.)

In any case, Plan 9's ed has a nice "browse" command which sam can't match. I used to issue "0bn", then just "b" once per page. Or, if you don't want line numbers, leave out the "n".
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M93aa1a889014993c1e185d24
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 3942 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-02 18:06     ` Ethan Gardener
@ 2021-07-02 18:54       ` Silas McCroskey
  2021-07-03  2:29         ` umbraticus
  2021-07-03 11:48         ` Ethan Gardener
  2021-07-03 16:32       ` silas poulson
  1 sibling, 2 replies; 24+ messages in thread
From: Silas McCroskey @ 2021-07-02 18:54 UTC (permalink / raw)
  To: 9fans

> In any case, Plan 9's ed has a nice "browse" command which sam can't match. I used to issue "0bn", then just "b" once per page. Or, if you don't want line numbers, leave out the "n".

"+,+20p" does it. Doesn't work near the end of the file, though; not
sure if that can be improved within the same expression or you just
have to know to "+,$p" instead.

I agree with the camp that considers using line numbers (other than 0)
in sam (and ed, for that matter) to be something of an anti-pattern,
so I stopped letting the lack of 'n' bother me a long time ago. I'm
sure that's not much help for someone who's admitted to giving up on
regex though; you've got me curious how difficult it'd be to add it.

- sam-d

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mceaed1e19b5399da7fe7634c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-02 18:54       ` Silas McCroskey
@ 2021-07-03  2:29         ` umbraticus
  2021-07-03 11:52           ` Ethan Gardener
  2021-07-03 11:48         ` Ethan Gardener
  1 sibling, 1 reply; 24+ messages in thread
From: umbraticus @ 2021-07-03  2:29 UTC (permalink / raw)
  To: 9fans

nothing's tying you to sam syntax:

,|awk '{print NR "\t" $0}'

then undo.

umbraticus

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mc258d9e136ffe16b7aeb04fa
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  2:51 ` umbraticus
  2021-07-01  4:36   ` Paul Lalonde
@ 2021-07-03  9:09   ` Dworkin Muller
  2021-07-03  9:31     ` hiro
  1 sibling, 1 reply; 24+ messages in thread
From: Dworkin Muller @ 2021-07-03  9:09 UTC (permalink / raw)
  To: 9fans

Thanks folks for all the suggestions and pointers.  Now it's just a
small matter of putting it all into practice ;-)

Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Me11ccf659e0e88c10119b85f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-03  9:09   ` Dworkin Muller
@ 2021-07-03  9:31     ` hiro
  0 siblings, 0 replies; 24+ messages in thread
From: hiro @ 2021-07-03  9:31 UTC (permalink / raw)
  To: 9fans

good luck!

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M5e3fc3dea6ef1fe0563bb972
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-02 18:54       ` Silas McCroskey
  2021-07-03  2:29         ` umbraticus
@ 2021-07-03 11:48         ` Ethan Gardener
  1 sibling, 0 replies; 24+ messages in thread
From: Ethan Gardener @ 2021-07-03 11:48 UTC (permalink / raw)
  To: 9fans

On Fri, Jul 2, 2021, at 7:54 PM, Silas McCroskey wrote:
> > In any case, Plan 9's ed has a nice "browse" command which sam can't match. I used to issue "0bn", then just "b" once per page. Or, if you don't want line numbers, leave out the "n".
> 
> "+,+20p" does it. Doesn't work near the end of the file, though; not
> sure if that can be improved within the same expression or you just
> have to know to "+,$p" instead.

Good point, I'd forgotten about that. I used to do it or something like it, but hated having to change the expression for the last page, especially when I didn't know the last page was next.

> I agree with the camp that considers using line numbers (other than 0)
> in sam (and ed, for that matter) to be something of an anti-pattern,
> so I stopped letting the lack of 'n' bother me a long time ago. I'm
> sure that's not much help for someone who's admitted to giving up on
> regex though; you've got me curious how difficult it'd be to add it.

Yup. If I was entirely comfortable with regexes, I would never have mentioned line numbers.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M169fdcccbdad2b6c481dfa4b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-03  2:29         ` umbraticus
@ 2021-07-03 11:52           ` Ethan Gardener
  0 siblings, 0 replies; 24+ messages in thread
From: Ethan Gardener @ 2021-07-03 11:52 UTC (permalink / raw)
  To: 9fans

On Sat, Jul 3, 2021, at 3:29 AM, umbraticus@prosimetrum.com wrote:
> nothing's tying you to sam syntax:
> 
> ,|awk '{print NR "\t" $0}'
> 
> then undo.

Good points. I used to pipe through other tools often, and very often used to make temporary changes and undo them. Can't remember specific uses now, but I remember being very pleased with the temporary-change trick.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M3bbf03fffc996275fbfae648
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-02 18:06     ` Ethan Gardener
  2021-07-02 18:54       ` Silas McCroskey
@ 2021-07-03 16:32       ` silas poulson
  2021-07-03 21:33         ` Ethan Gardener
  1 sibling, 1 reply; 24+ messages in thread
From: silas poulson @ 2021-07-03 16:32 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 513 bytes --]


On 2 Jul 2021, at 19:06, Ethan Gardener <eekee57@fastmail.fm<mailto:eekee57@fastmail.fm>> wrote:

This reminds me why I switched to Forth: I can program my editor properly

Could you expand on this point?

Vaguely aware of Forth, but no experience with forth editors

Silas

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mdb55b296d66f40a958396d89
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1843 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-03 16:32       ` silas poulson
@ 2021-07-03 21:33         ` Ethan Gardener
  2021-07-03 23:19           ` Dworkin Muller
  0 siblings, 1 reply; 24+ messages in thread
From: Ethan Gardener @ 2021-07-03 21:33 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 2830 bytes --]

On Sat, Jul 3, 2021, at 5:32 PM, silas poulson wrote:
>> On 2 Jul 2021, at 19:06, Ethan Gardener <eekee57@fastmail.fm> wrote:
>> 
>> This reminds me why I switched to Forth: I can program my editor properly
> 
> Could you expand on this point?
> 
> Vaguely aware of Forth, but no experience with forth editors

Sure. There's a few things.

I like and sometimes make use of the fact that the input language is a full systems language. I can access all the editor's variables and memory from the input prompt or from my own code. Sometimes it blows up because Forth has even fewer safeguards than C, but I soon learned how to avoid the explosions. It helps that I now use a Forth which displays the stack contents before each prompt; I do recommend that. All this can be summarized with a little misquote: "[Forth] does not prevent you doing stupid things because that would also prevent you doing clever things." ;) Sometimes I wish for type safety, but now I've learned to do without it, it's fine.

Other than that, I make some use of the data stack: I've written several words to leave string references on the stack for use by other words, chaining them together almost like a pipeline. Sam can do things like this so it's not too new, but I can chain anything I like and easily write new commands. I don't always chain them on the same line. If there's a memory copy or blank operation in there, I'll check the parameters look right first. The check doesn't take a second.

Where Sam executes commands in braces "at the same time," not allowing you to change the order, I've got full control of the order of execution. In Sam, I was never successful in changing text with commands in braces. Sam or Acme would always report something about multiple changes at the same time, and Sam would corrupt the text a bit. I don't remember exactly what I was trying to do, but I was sure it would have worked if my commands were executed in order. In Forth by contrast, there's nothing to get commands out of order. I may not be working on large files with complex commands any more, but I write sequences of simple commands all the time.

To be honest, it helps that the editor's source code is only about 2.5KB. ;) Some of that isn't even editor, it's block indexing and multi-block search, but I've replaced one and need to replace the other. Actually, I should rewrite the editor seeing as I don't want my code GPL-licensed and the editor probably is. ("Probably"? There's no license in the editor itself, likely because it's hard to fit licensing boilerplate into 1KB blocks.)





------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mdaa9427b1343b7aa707c8979
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 4982 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-03 21:33         ` Ethan Gardener
@ 2021-07-03 23:19           ` Dworkin Muller
  2021-07-04  9:42             ` Ethan Gardener
  0 siblings, 1 reply; 24+ messages in thread
From: Dworkin Muller @ 2021-07-03 23:19 UTC (permalink / raw)
  To: 9fans

On Sat, 03 Jul 2021 22:33:07 +0100, "Ethan Gardener" <eekee57@fastmail.fm> wrote:
eekee57> To be honest, it helps that the editor's source code is only
eekee57> about 2.5KB. ;)

So you're using the Forth environment as your editor, not just using
Forth to drive sam or acme?

Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M5551457885bf10192e6f2d5e
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-03 23:19           ` Dworkin Muller
@ 2021-07-04  9:42             ` Ethan Gardener
  0 siblings, 0 replies; 24+ messages in thread
From: Ethan Gardener @ 2021-07-04  9:42 UTC (permalink / raw)
  To: 9fans

On Sun, Jul 4, 2021, at 12:19 AM, Dworkin Muller wrote:
> On Sat, 03 Jul 2021 22:33:07 +0100, "Ethan Gardener" 
> <eekee57@fastmail.fm> wrote:
> eekee57> To be honest, it helps that the editor's source code is only
> eekee57> about 2.5KB. ;)
> 
> So you're using the Forth environment as your editor, not just using
> Forth to drive sam or acme?

Correct. The text to be edited is loaded into memory and various words (commands) work on that memory. Obviously, it can't handle extremely large files as Sam and Acme can.

Some Forths have a namespace system which can keep the editor's words from conflicting with others. The Forth I use now doesn't have one, but if I had more applications controlled from Forth, I'd want namespacing. One common scheme simply replaces the first-searched word list when you enter the name of another word list (AKA vocabulary). This is typically extended into something complicated; a full vocabulary stack which needs to be managed with care if you don't want to lose most of the language by accident, but I intend to keep it simple.

I've written an interactive editor too, but I only really use it for editing tables in overwrite mode. It would be more useful for writing prose, but you can't really do that in 1KB blocks. I actually wrote a command-based text-file editor before I started to use blocks, but its command language was awkward. I didn't really know the language at the time and I had overly high expectations of myself. I'm about ready to try again now.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-M5c40e333cc9c6440de1f3fe2
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
                   ` (3 preceding siblings ...)
  2021-07-02  2:20 ` Cyber Fonic
@ 2021-07-07  3:14 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
  2021-07-12  4:01   ` Dworkin Muller
  4 siblings, 1 reply; 24+ messages in thread
From: Lyndon Nerenberg (VE7TFX/VE6BBM) @ 2021-07-07  3:14 UTC (permalink / raw)
  To: 9fans, Dworkin Muller

Dworkin Muller writes:
> I have physical issues with trying to perform fine-grained mouse
> operations (uncontrollable small hand tremors).
[ ... ]
> So, my question is, are there any viable alternatives for use with

Joining the conversation late ... sorry.  Have you thought about
mounting a server on top of the mouse device that reads the raw
positioning data and passes up a running average of the last n
positions?  Basically, interpose a low pass filter to help remove
some of the jitter.  I have no idea if it will work -- it just leapt
to mind as I sit here breadboarding RC audio filters ;-)

--lyndon

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mf23265176eb945efe8e0fc8b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [9fans] Alternative to fine-grained mouse usage?
  2021-07-07  3:14 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
@ 2021-07-12  4:01   ` Dworkin Muller
  0 siblings, 0 replies; 24+ messages in thread
From: Dworkin Muller @ 2021-07-12  4:01 UTC (permalink / raw)
  To: 9fans

On Tue, 06 Jul 2021 20:14:03 -0700, "Lyndon Nerenberg (VE7TFX/VE6BBM)" <lyndon@orthanc.ca> wrote:
lyndon> Have you thought about
lyndon> mounting a server on top of the mouse device that reads the raw
lyndon> positioning data and passes up a running average of the last n
lyndon> positions?  Basically, interpose a low pass filter to help remove
lyndon> some of the jitter.  I have no idea if it will work -- it just leapt
lyndon> to mind as I sit here breadboarding RC audio filters ;-)

It's a thought, but I kinda of doubt it'd work in my case.  The
tremors are irregular and of really widely varying amplitude.  Think
of trying to filter an AM radio signal, removing noise from many
simultaneous lightning storms at various distances.  Yes, it does
sometimes mean I'm also not able to type, as well, but fortunately
it's rarely *that* bad.  I'd go for one of those implants that allows
direct-from-brain input, but I'm pretty sure the health insurance
wouldn't pay for it ;-)

Dworkin

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T716c5aa0e2aa8a27-Mc2f98ea8f7f29ec027feaec4
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2021-07-12  4:02 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-01  1:15 [9fans] Alternative to fine-grained mouse usage? Dworkin Muller
2021-07-01  2:51 ` umbraticus
2021-07-01  4:36   ` Paul Lalonde
2021-07-01  5:05     ` umbraticus
2021-07-01 10:36       ` hiro
2021-07-03  9:09   ` Dworkin Muller
2021-07-03  9:31     ` hiro
2021-07-01 11:12 ` igor
2021-07-01 17:48 ` Ethan Gardener
2021-07-01 18:01   ` Sigrid Solveig Haflínudóttir
2021-07-01 21:59     ` [9fans] Sam tricks (was: Alternative to fine-grained mouse usage?) Silas McCroskey
2021-07-02 15:03   ` [9fans] Alternative to fine-grained mouse usage? silas poulson
2021-07-02 18:06     ` Ethan Gardener
2021-07-02 18:54       ` Silas McCroskey
2021-07-03  2:29         ` umbraticus
2021-07-03 11:52           ` Ethan Gardener
2021-07-03 11:48         ` Ethan Gardener
2021-07-03 16:32       ` silas poulson
2021-07-03 21:33         ` Ethan Gardener
2021-07-03 23:19           ` Dworkin Muller
2021-07-04  9:42             ` Ethan Gardener
2021-07-02  2:20 ` Cyber Fonic
2021-07-07  3:14 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2021-07-12  4:01   ` Dworkin Muller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).