Giter VIP home page Giter VIP logo

tweet-tray's Introduction

Tweet Tray ๐Ÿฆ

CircleCI Github Downloads GitHub Release Project License

Table of Contents

Introduction

OSX Day Windows Day

Tweet Tray is a small application which allows you to tweet from your desktop taskbar or menubar, without any further distractions. The core technology used consists of Electron, React + Redux and Styled Components. All transpiled from ES6 Javascript.

Downloads

๐ŸŽ MacOS

๐Ÿจ Windows

๐Ÿง Linux (AppImage)

๐Ÿง Linux (DEB File)

See releases for more information.

Install with Homebrew

You can also install Tweet Tray with Homebrew Cask, brew cask install tweet-tray.

Settings

Some application settings can be passed via commandline arguments. For a full list, run the executable from the commandline with the --help argument.

  • --proxy You can configure Tweet Tray to use a HTTP proxy server, by setting the --proxy argument. This takes a string value of the proxy server address and port, in the form of --proxy address:port. This also supports SOCKS5 by using the socks5 protocol prefix, eg --proxy socks5://address:port.

Report Bugs

Please create a Github issue and provide as much information as possible regarding the bug, including images or error codes. To make things as uniform as possible please follow the guidelines set out in ISSUE_TEMPLATE.md.

Development

  1. Fork the Tweet Tray repository on Github to your own account then clone it locally.

  2. To run Tweet Tray locally you will need to first install npm and yarn package managers.

  3. Setup the applications' dependencies by navigating to the tweet-tray directory and run yarn install.

  4. Before you can use all functions of Tweet Tray you'll need to create your own Twitter OAuth Application to test. You don't need to set a callback URL, as Tweet Tray uses a mannually input Authorization code. After that, take the Consumer Key and Secret and update your local config.js file found under app/utils.

  5. After everything has been installed simply call yarn dev to run the development build. To run the production build you can call yarn prestart followed by yarn start.

For all new features or bug fixes please create an issue in the main repository first (so we can track what goes into each release) then simply submit a pull request from your own fork into the original develop branch. To make sure the changes are easily reviewable please repect the format set out in PULL_REQUEST_TEMPLATE.md.

Deployment

To create an installable build simply call yarn package, which will create an executable based on your current operating system. If you want to debug something in a packaged build you can call DEBUG_PROD=true yarn package.

Acknowledgements

This project is based off electron-react-boilerplate, all methodologies still apply, except for the removal of Flow and SASS. Issue and pull request templates based on formats by yoshuawyts.

tweet-tray's People

Contributors

akovalyov avatar akozhemiakin avatar amilajack avatar buckymaler avatar catalinmiron avatar chentsulin avatar davej avatar dependabot-preview[bot] avatar domasx2 avatar dplusic avatar dustintownsend avatar emlyn-h avatar epilande avatar g1ibby avatar greenkeeperio-bot avatar jefffriesen avatar jhen0409 avatar jonathontoon avatar kilian avatar knpwrs avatar kubijo avatar longlivechief avatar riomarmccartney avatar talha131 avatar trstringer avatar tsemerad avatar wincent avatar xwartz avatar yeti-or avatar zeevl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tweet-tray's Issues

Separate out composer window management into a separate class

Things are getting really messy in main.dev.js, should abstract some of it out similar to the OAuthManager class.

Expected Behavior

Everything should be easily read and understood without a huge file to scroll through.

Current Behavior

Everything is just dumped into one file. It works, but is awfully messy.

Possible Solution

Move the management of the composer browser window to it's own class.

Context

Makes debugging and development slow.

Add option to launch Tweet Tray on system start

A small request over on Twitter that I thought could be simple enough to do at some point.

Expected Behavior

Add a toggle in Settings to allow a user to enable this option. Upon doing so Tweet Tray will launch on system start.

Current Behavior

Nothing.

Possible Solution

Seems like here is a good place to start.

Support multiple images in one tweet

Twitter supports up to 4 images (but only 1 GIF) per tweet, should't be too complex just time consuming to rewrite the image uploader and media upload endpoint to handle multiple.

Icons are not displayed on Linux

Expected Behavior

screenshot from 2018-02-11 16-28-54

Current Behavior

screenshot from 2018-02-11 16-31-03

Your Environment

Software Version(s)
Package 1.0.3
Runtime Linux
Package Manager yarn
Operating System Ubuntu (elementary OS)

Correct window position when tray is pushed aside

Expected Behavior

Current Behavior

The tray is pushed aside inside the menu bar on macOS, so when launching the tweet-tray window, it's pushed to the boundary of the screen. It should have a small padding between the side and the window, so that it doesn't look cut off.

Possible Solution

When the window is pushed aside & touching the border of the screen, it should have the same 20px spacing from the menu bar, between the window and the screen border.

Context

Better window placement

Your Environment

Develop branch

Software Version(s)
Runtime 1.0.2
MacOS 10.13.3 (17D47)

Fix Twitter logo spacing & balance in resources

screen shot 2018-02-04 at 3 11 40 pm

Currently, the icon used in resources like App icon, tray icon and more, aren't optically aligned. Twitter recently updated their brand guides that includes circular icons and square icons. I'll be replacing with those instead of the existing ones :)


screen shot 2018-02-04 at 12 42 30 pm

From Twitter's Brand Guidelines

Icon is not displaying in Menu Bar

Expected Behavior

Icon should be visible in the menu bar at all times.

Current Behavior

After opening the app the icon is no visible until clicking on the space where it should be at which point it is highlighted and displays the active state.

screenshot 2018-02-12 17 53 05

screenshot 2018-02-12 17 53 11

Your Environment

Software Version(s)
Package v1.0.3
Operating System MacOS 10.13.2

Can't paste into the app

Hey! ๐Ÿ‘‹

Firstly, thanks for starting an awesome open source project ๐Ÿ™

When I first started the app and was prompted to sign in with Twitter, I couldn't paste in my password nor my 2FA code, and have just tried copy pasting something as a tweet, and that hasn't worked either.

Having had a quick Google, it seems like a fairly well documented issue, and requires setting up an app menu.

I'll have a go at fixing this myself if I have time โœŒ๏ธ

Please provide an AppImage for Linux on GitHub Releases

"AppImage"

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

Prevent multiple oauth windows

Expected Behavior

If an OAuth window has already been presented it should be the only possible instance and remain open until closed.

Current Behavior

I can continue to click the Sign in with Twitter and it keeps opening Twitter OAuth windows.

Possible Solution

Check the OAuthManager has an active window object before creating a new BrowserWindow.

Context

Could possible cause some issues with signing up, but it doesn't stop me from using Tweet Tray, just looks really jank.

Your Environment

Found on develop.

Software Version(s)
Tweet Tray 1.0.2
Windows 10 1709

Add support for localizations

Going to use react-localization. Even though Twitter accounts have a language setting which comes down from the API I think basing the locale off what the computer is using will be the way to go. Will avoid allowing a user to customize their language for now.

Below is a list of all the custom strings supported by Tweet Tray (which cannot already be sourced from Twitter's apps), and a list of which languages require localization.

If you would like to contribute, you can submit a pull request (following these (guidelines)[https://github.com/jonathontoon/tweet-tray#development]) for strings per language found under app/localizations. If the there is not a file for your language (e.g: en-US.json) you can create it as part of the pull request.

Language Status
Arabic (ar) โŒ
Bengali (bn) โŒ
Czech (cz) โŒ
Danish (da) โŒ
German (de) โœ”๏ธ
Greek (el) โŒ
Spanish (es) โœ”๏ธ
Persian (pr) โŒ
English (en) โœ”๏ธ
Finnish (fi) โŒ
Filipino (fill) โŒ
French (fr) โœ”๏ธ
Hebrew (he) โŒ
Hindi (hi) โŒ
Hungarian (hu) โŒ
Indonesian (id) โŒ
Italian (it) โŒ
Japanese (ja) โœ”๏ธ
Korean (ko) โœ”๏ธ
Malay (msa) โŒ
Dutch (nl) โŒ
Norwegian (no) โŒ
Polish (pl) โŒ
Portuguese (pt) โŒ
Romanian (ro) โŒ
Russian (ru) โŒ
Swedish (sv) โœ”๏ธ
Thai (th) โŒ
Turkish (tr) โŒ
Ukrainian (uk) โŒ
Urdu (ur) โŒ
Vietnamese (vi) โŒ
Chinese (Simplified) (zh-CN) โœ”๏ธ
Chinese (Traditional) (zh-TW) โœ”๏ธ

Proxy Support

Can you add configurable proxy support? Without it I can't use this.

Composer window is displayed in the middle of the screen

When the composer window is displayed it's always in the middle of the screen, not understand where the tray icon is. Would love someone who has more experience with Linux to pick this up.

Expected Behavior

When I click the tray icon to show the window centered horizontally below it.

Current Behavior

Your Environment

Software Version(s)
Package 1.0.3
Runtime Linux
Package Manager npm
Operating System Ubuntu 17.10

Linux system tray icon is quite low quality

Replace icon that is used for Linux as it's quite low quality. I can't seem to find any documentation for what the general expected size is either.

Expected Behavior

Not blurry.

Current Behavior

screenshot from 2018-02-11 16-28-54

Your Environment

Software Version(s)
Package 1.3.0
Runtime Linux
Package Manager yarn
Operating System Ubuntu 17.10

Add support for profile theme color

Twitter profiles support custom tint colors, which are also available on the verifyCredentials endpoint of the Twitter API. Originally discussed here.

Expected Behavior

Whenever I sign in with my Twitter profile, everything which uses the default blue tint color should automatically update to use the user's theme color.

Current Behavior

Doesn't exist. ๐Ÿ˜ข

Possible Solution

Add the custom theme color to the userCredentials object in Redux, and then overwrite the usage of the main blue tint color when it's available. The biggest issue that would need to be tackled though is that currently all of the SVG images used are a single blue color, would need to implement some way to tint them or to move over to using a webfont.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.