vermiculus / sx.el

Stack Exchange for Emacs
http://stackapps.com/q/3950
709 stars 40 forks source link

inbox display reputation changes and number of unread items #346

Open Boruch-Baum opened 6 years ago

Boruch-Baum commented 6 years ago

The stack exchange javascript interface displays unread reputation changes and the number of unread notification items as two numbers in red circles in the upper right corner near the inbox icons. I'm no expert in the API, but it seems that this can be done in sx.el by counting the .is_unread items in the json the API sends, and for changes in reputation, accumulating the data from the .is_unread items.

Is that the correct method?

Where should the data be displayed?

Was this once already done, and is it a bug, or is it something not yet done?

vermiculus commented 6 years ago

I don't believe this has been attempted yet, but I'd be open to any interface idea you have for it 👍 Typically over at magithub I'd include this as some sort of buffer header.

The approach you suggest seems reasonable enough to implement -- if there are issues with it, they can be found and fixed as they occur.

I've not used sx.el's inbox functionality myself, but is there space for it in the header line of that buffer?

Boruch-Baum commented 6 years ago

is there space for it in the header line of that buffer?

That's a loaded question, that will depend a lot on a specific user's display width, resolution, font size, and ... customization.

What happens for me is that when I first invoke either inbox (s i or C-u s i) the buffer appears in a new narrow vertical window in the current frame (think C-x 3). In those initial dimensions, my personal system has no room for more information, presuming keeping the current header content, and presuming a one-line limit for the header. Likewise, I see no room in the current header for the "questions" buffer.

Much of the current content of the header lines strike me as unnecessary. The content is currently a keybinding cheatsheet, which is useful, but some of the items a typical user of this package will already instinctively know, eg. "RET:Display k,j,p,n:Navigate".

Oh goody! This may be an opportunity to use some code I've written elsewhere! Check out my fork for ivy, awaiting pull-request merge by abo-abo, which includes a pop-up customizable keybinding cheatsheet - there are two small screenshots there.