Skip to content

Hacker News (YCombinator) news feed for the Mac Touch Bar

License

Notifications You must be signed in to change notification settings

mrmekon/toucHNews

Repository files navigation

toucHNews: Hacker News news feed for the Mac Touch Bar

OSX/Linux Build Status Crates.io Version

toucHNews is a simple, interactive Hacker News news feed for the Mac Touch Bar.

It lives persistently in the "Control Strip", the small cluster of icons permanantly displayed on the right side of the Touch Bar. When its icon (cleverly labeled hn) is clicked, it expands to display the latest headlines from Hacker News across the Touch Bar.

It is written in Rust.

Interface

One headline is shown at a time. To interact:

  • Single tap the headline to show the next one.
  • Double tap the article counter to return to the beginning.
  • Swipe right until the text turns blue and release to open the article in your default browser
  • Swipe left until the text turns orange to permanently remove the article from the bar.
  • Tap the 'X' in the circle on the left to minimize back into the Control Strip.
  • Tap the 'X' in the square on the right to quit.

Screencast

Installing toucHNews

Pre-built Mac App

WARNING Apps are not signed with a developer ID. After running for the first time, you must open the Security & Privacy tab of System Preferences and unblock toucHNews.

GitHub

$ git clone https://github.com/mrmekon/toucHNews.git
$ cd toucHNews
$ cargo run

Requirements

  • A Mac with a Touch Bar, of course. Or you can use the Touch Bar simulator in XCode if you don't have one and want to test it out.
  • "Control Strip" enabled on the Touch Bar. The Control Strip is the always-available shortcuts on the right-hand side. It is enabled by default. If it's not enabled for you, open System Preferences -> Keyboard, and in the Touch Bar shows drop-down select App Controls with Control Strip.

Direct Dependencies

  • fruitbasket - Rust framework for Mac app lifecycle
  • rubrail - Rust Touch Bar UI library
  • hn - Rust Hacker News API wrapper
  • open - Opens things