1

One-click Social Media Client

 1 year ago
source link: https://lifeofpenguin.blogspot.com/2022/10/one-click-social-media-client.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

One-click Social Media Client

sm-reddit.png
Reddit: Dashboard and details view
sm-twitter.png
Twitter: Dashboard and details view
sm-tumblr.png
Tumblr: Dashboard and details view

GNU Emacs as a Social Media Client

Consumption of social media typically necessitates few repeated actions - like, share, comment and follow. If these actions are assigned to convenient keyboard keys, the consumption becomes easier - no more pointing and clicking tiny icons. Here's an attempt to unify this experience using GNU Emacs, tumblesocks and oauth2.

(require 'tumblesocks)
(require 'oauth2)
;; service below is one of twitter, reddit or tumblr
(setq tumblesocks-service-conf
   (service . (client-id secret-key redirect-url))
 
Use M-x sm-twitter , M-x sm-reddit or M-x sm-tumblr. First time, it will open a browser window. You'll need to login to the service and allow the permissions in following window. Then you'll be redirected to a URL. You'll need to copy the code (code=value#_) in the URL without the # and _ . Then you can use l for like, r for reblog, b for viewing a different channel, g for refresh, RET for detail view, n for next post, p for previous post etc.

Goals

  • Keyboard based action
  • Page navigation instead of endless scroll
  • List view (for home and timelines) and detailed view (for threaded discussion)
 

Concepts

Sites use different terminology for some concepts. Here are few of them
  • Channel - sub-reddit, blogs or timelines
  • Like: Upvote
  • Share: Reblog, retweet
  • Comments: Notes, replies
  • https://github.com/atamariya/tumblesocks
  • https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/wid-edit.el (Tree widget)
  • https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/net/oauth2.el (Oauth2 commit: 5d54ed16363d27b14f533b6e2755ccacc46b8038) 

Comments

Popular posts from this blog

Formula Editor in GNU Emacs

    Here's a simple formula editor using SVG for quick note taking in GNU Emacs. Presently, it's a single line editor. You can use arrow keys to move around, Shift+arrow keys for selection and backspace for deleting characters. Use Ctrl + x prefix for special actions like grouping (g), fractions (f) and exponents (e). (require 'formula)   M-x formula-mode Code: https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/svg.el https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/formula.el   How it works? In the video, an event loop is started in the scratch buffer. All the edit operations update text and text property in a temporary buffer, say a.txt. Based on this information, in-memory SVG DOM is updated. Ultimately, the display engine updates the view with this SVG image.

GNU Emacs: A configurable browser

Now you can use GNU Emacs as a full featured browser. It uses webkit2gtk for rendering. Here's a short video demonstrating the features. Hit-a-hint Developer tools Features: - Adblock - Disabled tracking API (navigator.sendBeacon()) - Inline videos à la Youtube - Hit-a-Hint - Keyboard based navigation: left/right character for left/right scroll, prev/next line, prev/next page, beginning/end of buffer for top/end of page, +/-/z for zoom in/out/reset - Multi-input modes: single key interactive mode, line input mode via minibuffer and textarea input mode via new buffer - Password auto-fill and management via authinfo - Configurable Home page and search URL - Bookmarks - Download unsupported mime types - User script à la Tampermonkey / Greasemonkey - User styles - Developer tools / Web Inspector Finally you can have a browser as you want. Code: https://gitlab.com/atamariya/emacs/-/blob/dev/src/xwidget.c https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/xwidget.el https://gitlab.com/a

Draw and Scribble Notes in GNU Emacs

        SVG seems to be quite handy for quick note-taking. You can easily draw simple shapes, use symbols from an SVG library and augment it with some freehand drawing. Combined with excellent keyboard editing of Emacs, you'll not miss anything while taking notes. Code: https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/svg.el   Installation When you are drawing programmatically, you need to be able to track nodes by unique ids. e.g. if you call (svg-circle) followed by (svg-rect) using the same id, you should end up with an SVG rectange node. With out of the box svg.el, you'll end up with SVG circle node with attributes from (svg-rect). Hence canvas mode will not work with out of the box svg.el as is.   Till my patch which addresses this issue is merged in Emacs core (see https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00798.html ), you'll need to add following commands in your init file (~/.emacs) to use it.   ;; Assuming you have downloaded svg.el to ~/ (load

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK