[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacspeak] Emacs: Hidden Holiday Gems



Hi Robert,

I'm certainly happy to share my configs and see if I can help in any way. Having said that, I think it is also important to be clear regarding individual circumstances and requirements as that can make a lot of difference - what works for me may not work for you etc.

So firstly, my situation ....

- I have limited sight. I had about 15 years of nothing but small amount of light perception. I could tell if the light was on or if it was night/day, but that was about it. About 10 years ago, I was lucky enough to get an operation which restored considerable amount of sight, somewhere a little less than 5%. I mention this because it has significantly changed how I use and rely on Emacspeak. I still find sighted reading very difficult and slow, but I can see prompts and tell when there are multiple windows open etc. Having been in both worlds, I can appreciate the less obvious differences and altered priorities between the two environments.

- I no longer use a Mac. While working, I used a mac because too many employers would not support Linux at the desktop level. Not that I ever required support, the real problem was they often used 'enterprise' tools which simply did not work on Linux but which did work on macOS. However, once I retired, I moved back to Linux 100%. I now run Fedora with the i3 window manager.

- I tend to build my own Emacs from git. Currently, I'm running Emacs 29.  Up until recently, I was running emacs 30, but recently decided to go back to Emacs 29 as I prefer the stability over the fragility of the development version.

- I run Emacspeak from git. I'm not as diligent with keeping this up to date as I use to be. I now tend to just update either when I encounter a problem or when Raman announces a new release. (when running Emacs dev version, I tend to update emacspeak far more frequently).

- I'm running the outloud speech sesrver with espeak as the backup. This is from Voxin.

- I keep my email as simple as possible these days. I don't run any local mail server and rely on imap and basic smtp clients. The mail clients I use include web based clients, neomutt, mu4e and gnus. I have mail accounts with gmail, outlook and a small linnode based server run by a friend. I access mail from my iphone and from Linux. Both neomutt and mu4e rely on isync for imap syuncing of messages. Gnus uses its built-in imap support. and neomutt uses emacs as its editor. My main email cleint is mu4e, which I build from the dev sources and keep up-to-date. 

- The biggest challenge I had with email was just getting mailboxes sorted out with Gmail. Google uses a bit of 'cleverness' with respect to how it manages iamp mailboxes. It also sets things up such that mail is never really deleted unless you go through a few extra hoops. The big challenge when using imap is to avoid downloading messages multiple times. Google keeps all the messages in an 'all mail' folder and then just uses pointers in their pseudo mailboxes to that folder. If not careful, you can end up downloading the same message multiple times, depending on how you hav eyour mail filtered/stored. I use to have lots of gmail mail boxes and would use filters to sort mail into different mailboxes based on sender, subject, mail list memebership etc. I have pretty much gotten rid of all of that. I now only have a couple of mail boxes and I only really access 3 of them via mu4e, mutt or gnus. On the rare occasion I really need to access the others, I will use the web interface. I basically maintain an inbox, a 'refile' box and a couple of specialised list boxes such as the emacspeak list. Any important email messages I want to keep go into the refile box and then every couple of weeks or so, I go through that box and either delete or store the message in some other mailbox used primarily for archiving. I'm a lot more ruthless with regards to email than I use to be and will aggressively delete messages rather than keep them 'just in case'. 

- I have added a couple of bits of advice to mu4e to make it work a little better with emacspeak. Basically, I ahve modified how it reads out messages in the summary window. I also had some advice for the message window, but that has become obsolete as mu4e has adapted to rely more on the built in gnus functionality.  With gmail I also use application passwords to avoid the whole oauth problem. However, as gmail has flagged their intention to remove application password support at some stage, I will likely have to change this at some point, but I'll burn that bridge when I come to it.

- My completions and in particular, my corfu setup is very simple. I find keeping this to a minimum and avoiding too much customization is the way to go. It is very easy to spiral down into all sorts of problems if you try to over configure it. However, I am also in the midst of reviewing this at the moment and I do have a couple of minor issues to sort out. I will provide my corfu setup once I'm happy with it. Essentially, it consists of just a couple of lines and the use of the cape package. However, I'm not sure how much of a completions person I really am. I mean I find it useful sometimes, but I don't like it popping up all the time as I type as seems to be the current trend. I'm a very fast typist and more often than not, just typing out the full word is as fast or faster than using any completion. I tend to only use it when I need a reminder regarding the exact symbol name. I rarely use it like some who tend to use it to explore an API. For that, I prefer to browser the API documentation as I find that a much more effective way to identify the most appropriate function to use etc. I find the exploration mehtod tend sot end up with poor code structure and less than optimum algorithms. I prefer my code to be driven by the algorithm and not by the API.  I also tend to only code in 5 languages these days - _javascript_, clojure, SQL, shell and elisp, plus occassional lue (though I am thinking about going down the Roku route for a while just to see what it is like).  The main thing I need to fix with myh completions at the moment is better integration of snippets. I want code snippets to be included with symbol completion and have clarity regarding with a candidate is a symbol or a snippet completion. I think I actually use code snippets much more than I use symbol completion. Combining them may not be the right approach and I may just have to use different key bindings for each, but having it all in just one would be better.

Give me a couple of days and I'll send through my completions config. It may or may not help, but happy to provide just in case. 

Tim

On Sun, 17 Dec 2023 at 06:11, Robert Melton <lists@xxxxxxxxxxxxxxxx> wrote:
Tim--

Do you have a recommended configuration for confu?  I have tried it a few times, I always end up in a situation where I get a lot of split windows on long completions, I feel like I have a misconfiguration...

Embark is ... awesome.  I am discovering tons of new things from just reading through the Embark recommendations.

I am not sure if I am slow or what... but trying to get my multiple email accounts working in mu4e and similar stuff is just, incredibly painful. 


> On Dec 15, 2023, at 21:13, Tim Cross (via emacspeak Mailing List) <emacspeak@xxxxxxxxxxxxx> wrote:
>
>
>
> A good list to post at this time of the year where people might have the
> space to perhaps look at some of these gems.
>
> After over 25 years of using Emacs and Emacspeak, I still find new gems
> or get to better appreciate old ones.
>
> I find it interesting when I've reviewed various 'canned' emacs
> configuraitons like spacemacs, doom, prelude, etc at how often I see
> existing core emacs functionality being re-worked or wrapped in another
> layer for what feels like little actual benefit. Your reference to dired
> is a good example. I see many of these setups using things like treemacs
> instead of good old dired and I often wonder why. If you really want
> something different to dired which is a little more like other file
> browsers, you also have good old 'speedbar' which has been there for
> decades. Likewise, any of the popular navaigation aid packages are
> often just alternate wrappers around existing functionality provided by
> registers and the mark ring. I still recall my first use of wdired. Like
> my first use of ange-ftp and tramp, it was a game changer.
>
> I have actually been spending a bit of time recently in streamlining my
> emacs configuration. I've experimented with various package managers
> like straight and elget etc and I've tried out various configuration
> like spacemacs, doom, prelude, purcell's emacs.d, crafted and others and
> now I've boiled it all down to the simplist and easiest to maintain
> setup I can. I have significantly modified how I manage my emacs setup.
>
> - I now make extensive use of customize. I use to prefer my own hand
>  crafted init files, but now I tend to rely heavily on customize. I do
>  keep my settings in a dedicated 'custom.el' file rather than the
>  default bottom of your init.el, but apart from that, it is pretty
>  standard.
>
> - I use package.el and have dropped all other package managers. While I
>  really like straight.el and could see some advantages with others like
>  elget, the additonal overheads and maintenance I found with using
>  these alternatives became hard to justify. I do tend to use
>  use-package quite a bit (but leverage off the :custom stanza within
>  that macro to ensure it leverages the built-in custom system).
>
> - I setup package.el such that it gives priority to GNU ELPA, then
>  NONGNU elpa, then MELPA. I try hard to minimise my use of melpa, but
>  need it for a couple of core packages, such as magit.
>
> - I prefer built-in or core emacs packages over external
>  alternatives. For example, I use eglot rather than lsp-mode,
>  project.el rather than projectile etc. It is quite amazing how eglot
>  and the whole LSP stuff has simplified things for configuraiton a good
>  coding environment.
>
> - I use both GNUS and mu4e for email. I like them both. I was a VM user
>  for many years, but found it less useful once everything moved to an
>  imap based setup (I always found VM's imap support unreliable and
>  slow). I find the combination of mu4e, isync and smtp.el works well
>  for me.
>
> - Really enjoying vertico, corfu and embark as the basis for my
>  completions setup. I no longer use company, helm or ivy.
>
> - The biggest departure I make from standard Emacs is evil mode. I
>  simply prefer modal editing and love the benefits of having an editing
>  a navigation and a 'visual' mode and all the simplicity that brings
>  with respect to key bindings. Despite many years (decades even) of
>  standard Emacs bindings, I still missed my VI based workflow and now
>  with evil mode, I have it back. It does have its own limitations and
>  quirks, but it works well for me.
>
> I think that last statement is the core benefit of Emacs. I primarily
> use and love emacs because it can be the editor I want and work how I
> want rather than forcing me to work how it thinks I shold work. However,
> it also encompasses the experiemnce and originality of thousands of
> other users, providing great access to existing wheels we can learn to
> leverage.
> Emacspeak discussion list -- emacspeak@xxxxxxxxxxxxx
> To unsubscribe send email to:
> emacspeak-request@xxxxxxxxxxxxx with a subject of: unsubscribe



--
regards,

Tim

--
Tim Cross



|Full archive May 1995 - present by Year|Search the archive|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page