From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] acme From: "Russ Cox" Date: Tue, 5 Jun 2007 11:00:37 -0400 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20070605145703.36DA71E8C1C@holo.morphisms.net> Topicbox-Message-UUID: 7857d7fa-ead2-11e9-9d60-3106f5b1d025 > I won't like to start a flame-war (possibly), however, I decided > to make some comments on my favourite, and *BELOVED* UI, The > Acme: perhaps you could line-wrap your emails. > Cut+Paste (or, mouse-2-3) on a tagline leaves the frame in a > 'dirty' state: this bug has not been present in earlier (abou 2 > years ago, or so) versions of Acme. can't reproduce this. i remember fixing it long ago. > Mouse-3 on highlighted path in a tagline doesn't move cursor to > that frame in case it is visible, unlike when done in regular > frame; strangely, it works when that frame is NOT visible, for > both tagline, and regular frame. And, it also works from tagline > when the path is mouse-3-dragged, so definitely a bug. can't reproduce this. > Mouse-3 on filename opens the frame 'around a corner' if the > current layout is so that frames are tightly stacked at the > bottom (frame is quasi-maximized). Popping up the frame may > need clicking several times. yes, this is annoying. i'd like to fix this but only so much time. > Scrolling the tagline using downarrow/uparrow does not work; > scroling with dragging mouse-1 is too fast even on my 'primeval' > S3 card. the p9p acme just shows the entire tagline as multiple lines if you type down-arrow, but there are window layout problems. i should really track them down. that might fix the "around a corner" thing. > 'Del' has no special position on the tagline, thus closing > multiple frames sucks. Could we have 'Del' on far left, preceding > filepath??? Or , perhaps, e.g., mouse1+3, or Alt+mouse-1, or > ...., over the frame 'handle' would do? Are you strictly against > combinations of keyboard with mouse?? I personally perceive it > O.K., however, i'm not disabled. Oberon UI, which, I think, > initially inspired Acme, is much more exhaustive considering > possible keyboard-mouse interactions (well, I mean classic Native > Oberon UI, not the Gadgets/Bluebottle, which, IMHO, downgraded > the UI to 'standard windozish' one) if you want to do some repetitive task, write a program. here's a little shell script i use called Clean. you can execute Clean /sys/src/cmd/acme and it will delete all the windows with that in their tags. #!/bin/rc rfork e if(~ $#* 0) pattern=. if not pattern=$1 cd /mnt/acme for (i in [0-9]*){ if(test -d $i){ tag=`{cat $i/tag} tagline = $"tag file=$tag(1) # must match our pattern if given, must be a clean window, # and must not be an Errors window, mail, or win. if(! ~ $file */ *+Errors* */-* */mail/* && ! ~ $tagline *Put* && echo $file | grep $pattern >/dev/null >[2]/dev/null) echo del >$i/ctl } } status='' now that there is an edit command you can also do Edit X./sys/src/cmd/acme.D or Edit Y/'/D > A command that will switch fullpath/basename from the tagline > might be useful for orientation (well, I can do 'Sort' often). Sort is probably better than this. > When many frames are open in a column, moving cursor to the > frames 'behind the horizon' requires multiple mouse-3 clicks, > until it eventually comes up. same problem as above. > There is some 'dead space' at the bottom of the Acme's window, > where nothing is drawn, and nothing happens. Bug?? no. that space is not big enough to hold an entire line of text, so it holds nothing. > No way to kill a busy (non-responding) frame?? kill the underlying program that is not responding. slay Mail | rc for example. or kill the hung file server that acme is talking to for that window. > No way to hide columns except the current one (==maximize frame > | column horizontally). We could easily use columns 'handle > square' (violet one at the upper left corner) exactly in the way > the frame's handle is used: mouse-3 == maximize, mouse-2 == show > condensed columns, mouse-1 == increment column width. i suppose we could. i think most acme users just don't move their columns very much. > Maybe, double-click mouse-2 on 'Del' could close a dirty frame > immediatelly, without asking (and w/o saving). interesting. > GRRRRRRR..... : the dot is not persistent: if I have selected > areas of text in different frames, returning to the frame and > Snarf'ing does *NOT* pick up the relevant 'dot' (just the one > last selected)..... this is *VERY* annoying, indeed. can't reproduce this. if you click on Snarf in a window's tag then acme snarfs from that window. if you click on Snarf in a column's tag then acme snarfs from that column's active window (the last one with a mouse or keyboard action). > And, the frames should behave the same way, shouldn't they?? I > spot different behavior of frames showing dirs from those showing > files. yes, and I don't even mention that the tagline is a very > special frame of its own... sure they behave differently. one presents directory contents so they're never going to be identical. if you were more specific about what you didn't like you might get a more useful response. > Would welcome more keyboard actions, like line up/line down, > jumping to starts of words, to line-beginning/end. I appreciate > very much moving left/right over characters, in case of hi-res > screen (laptop), where exact mouse positioning is tedious. shhh. don't tell uriel. ^A ^E for line-beginning/end. > Personal remark: I miss very much something like a command window > in 'Sam'... tagline is both very restrictive, and redundant, > IMHO. Frame-specific commands could just remember the last-touched > frame (or two, if a parameter is to be sent) to solve the problem > of frame-owned taglines (Am I right?? Dunno...). the bigger tags in the p9p acme solve this a different way that seems to fit better. if you had a separate ~~sam~~ window you couldn't make each command in it frame-specific because the commands are just text -- there's no underlying data structure sitting underneath. you can always open a new nameless window and fill it with Edit commands that specifically name a window: Edit X/name.c/ ,s/foo/bar/g or even just X-less commands ,s/foo/bar/g that you highlight and then 3-2 click Edit in the window where you want to apply them. russ