this post was submitted on 13 Jun 2023
7 points (100.0% liked)

Emacs

2194 readers
1 users here now

Our infinitely powerful editor.

founded 4 years ago
MODERATORS
 

The lack of keyboard interface on Lemmy is killing me, but really what I want is a good client in Emacs. However, it's beyond my Elisp to design and start such a project, but I could probably help. Anyone on it?

top 13 comments
sorted by: hot top controversial new old
[–] HaHaBudBud@lemmy.world 1 points 1 year ago (1 children)

Any emacs interface would be great. Perhaps someone who is familiar with elfeed could hook into that?

[–] StrangeAstronomer@lemmy.ml 1 points 1 year ago (1 children)

FWIW I'm reading lemmy RSS feed with elfeed (hope this gets through - popping my lemmy cherry here)

[–] blawsybogsy@lemmy.ml 1 points 1 year ago* (last edited 1 year ago) (1 children)

can you see comments that way? you just subscribe to communities i imagine?

[–] StrangeAstronomer@lemmy.ml 1 points 1 year ago

Sorry for delayed response, just getting used to lemmy ...

No, I don't see comments - if I'm interested in the headline, I press 'b' to pop up the full item in my browser.

Yes, I subscribe to communities like this:

(use-package elfeed
  :bind (:map elfeed-search-mode-map
              ("s" . elfeed-search-set-filter)
              ("S" . elfeed-search-live-filter))
  :config (setf elfeed-sort-order 'ascending))

;; elfeed-dashboard is a nice add-on
(use-package elfeed-dashboard
  :ensure t
  :bind ("C-x w" . 'elfeed-dashboard)
  :config
  (setq elfeed-dashboard-file "~/.config/emacs/elfeed-dashboard.org")
  ;; update feed counts on elfeed-quit
  (advice-add 'elfeed-search-quit-window :after #'elfeed-dashboard-update-links))

(setq elfeed-feeds '(
                     ("http://xkcd.com/rss.xml" comic xkcd)
                     ("http://rss.slashdot.org/Slashdot/slashdotMain" slashdot)
                     ("https://www.reddit.com/r/emacs/new/.rss?sort=new" reddit emacs)
                     ("https://www.reddit.com/r/linux/new/.rss?sort=new" reddit linux)
                     ("https://rss.beehiiv.com/feeds/iiTciQgHPG.xml" fossweekly linux)
                     ("https://distrowatch.com/news/dw.xml" news distrowatch linux)
                     ("http://oglaf.com/feeds/rss/" comic oglaf)
                     ("https://www.reddit.com/r/linuxquestions/new/.rss?sort=new" reddit linuxquestions)
                     ("https://www.reddit.com/r/fedora/new/.rss?sort=new" reddit fedora)
                     ("https://feeds.bbci.co.uk/news/rss.xml" news bbc)
                     ("https://www.rt.com/rss/" news rt)
                     ("https://hnrss.org/frontpage?count=100" news hacker)
                     ("https://www.reddit.com/r/swaywm/new/.rss?sort=new" reddit sway)
                     ("https://www.reddit.com/r/i3wm/new/.rss?sort=new" reddit i3wm)
                     ("https://www.reddit.com/r/nordvpn/new/.rss?sort=new" reddit nordvpn)
                     ("https://lwn.net/headlines/rss" news LWN.net)
                     ("https://lobste.rs/t/linux.rss" news lobsterlinux linux)
                     ("https://www.emacswiki.org/emacs?action=rss" news EmacsWiki emacs)
                     ("https://feeds.arstechnica.com/arstechnica/index" news arstechnica)
                     ("https://www.engadget.com/rss.xml" news engadget)
                     ("https://lemmy.ml/feeds/c/emacs.xml?sort=Active" emacs lemmy)
                     ("https://lemmy.ml/feeds/c/linux.xml?sort=New" linux lemmy)
                     ("https://lemmy.ml/feeds/c/swaywm.xml?sort=New" sway lemmy)))
[–] solrize@lemmy.ml 1 points 1 year ago

I had also been thinking about this and figured it would make sense as a backend for gnus.el. I thught of starting a thread here but found this one first, so am posting to say I'm also interested in using such a thing. Idk if I'm organized enough to code it myself, due to RL distractions.

[–] DarthRedLeader@lemmy.world 1 points 1 year ago

This might work -https://codeberg.org/martianh/mastodon.el

[–] blawsybogsy@lemmy.ml 1 points 1 year ago

made some progress. mainly spent time working on getting the sorting types and listing types going, so you can cycle between them on the go. v basic display of post details in byline, etc., but that can easily be spruced up by pulling code from mastodon.el. + markdown rendered posts/comments, uwu!

https://codeberg.org/martianh/lem. the readme has a rough todo list.

logging in and loading lem as package is still pretty rough, or kinda broken. but i'll get it sorted soon.

still gotta build a comments tree also, that's a biggie.

[–] blawsybogsy@lemmy.ml 1 points 1 year ago* (last edited 1 year ago) (1 children)

I have quite a few endpoints working now, each mostly just with the basic options implemented, and its easy to add endpoints with a handy macro i wrote. There are still quite a few quirks with lemmy itself that i'm struggling to work out, like how to search for my second account on another instance and actually have it appear in results. I might ask in a support room. The type-heavy rust and ts code is super foreign to me, it's also very large. Moreover, the various documentation links, another one is https://join-lemmy.org/api/classes/LemmyHttp.html, sometime contradict each other. Maybe having the basics down I cd start on some necrco diy interface. [posted and edited via lem.el]

[–] asterisk@lemmy.world 0 points 1 year ago (1 children)

I think this would be the best way to go.

Myself, I'd love to be able to interact with Lemmy through Gnus, but it would be great to have a general emacs API for flexibility so you can choose the front-end.

It looks as though the api for a client is defined in api_common.

[–] blawsybogsy@lemmy.ml 0 points 1 year ago* (last edited 1 year ago) (1 children)

thanks for the link. so https://github.com/LemmyNet/lemmy/blob/main/src/api_routes_http.rs shows the paths and params, i tried them in a rest client and it's no too hard to follow.

the mastodon.el http layer isn't great, but it could be v quickly adapted for this case.

[–] asterisk@lemmy.world 0 points 1 year ago (1 children)

Thanks, yes that's a more useful source than my one.

[–] blawsybogsy@lemmy.ml 1 points 1 year ago

https://codeberg.org/martianh/lem has some basics, functions returning plain JSON. i didn't do any auth, but if its oauth and so similar to mastodon.el, we cd also just move its auth code into the fedi.el library. and fedi-http.el is already set up to handle auth tokens.

discovering lemmy's query parameters is quite a pain for me, as i don't know rust.