GithubHelp home page GithubHelp logo

jonhoo / buzz Goto Github PK

View Code? Open in Web Editor NEW
136.0 5.0 12.0 416 KB

A simple system tray application for notifying about unseen e-mail

License: Apache License 2.0

Rust 100.00%
imap email systray notifications

buzz's People

Contributors

0x61nas avatar chapeupreto avatar danielvoogsgerd avatar dependabot[bot] avatar ftilde avatar hamidrezakp avatar jmchacon avatar jonhoo avatar joshka avatar lihram avatar mathiaspius avatar robinkrahl avatar rtkay123 avatar simenb avatar tudyx avatar wasabi375 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

buzz's Issues

Please list dependencies for buzz

Hi,
Is it possible to try to list all the needed dependencies for compiling buzz somewhere? It might be tricky to install otherwise (and takes forever as you have to compile, install missing dependencies, compile again and repeat for each missing package).

Here is the non-complete list of development headers I had to install on my Fedora 25 machine:

  • openssl-devel
  • dbus-devel
  • glib2-devel
  • cairo-devel
  • atk-devel
  • pango-devel
  • gdk-pixbuf2-devel
  • gtk3-devel
  • libappindicator-devel
  • libappindicator-gtk3-devel
  • clang-devel

I'm pretty sure this list is non-exhaustive as I've installed other development headers before for other crates.

macOS support

Biggest blockers:

  • Find right path for config files (xdg equivalent)
  • Figure out how to do notifications (e.g., notify-send)

System tray icons

I recently added Buzz to my system and so far I've really liked it.

I noticed that the icons in the system tray were not showing up. It looks like it's because the icons are hardcoded and are not installed on my system. Now I'm thinking of the best way of making these icons configurable, and so far the best solution I've come up with it making a special category in config.toml that is not an account but instead defines the location of the icons.

What do you think?

Make tray icon optional

I know that buzz is advertised as a tray application but Iโ€™d like to use it only with notifications and without the system tray icon. Would you accept a PR that makes the tray icon and the systray dependency optional (though enabled by default)?

Cargo install failed on Ubuntu 17.10

cargo install buzz failed on Ubuntu 17.10. It looks like some dependency issues. Any idea to help?

[23:31] jethros@x1c ~ $ cargo install buzz
    Updating registry `https://github.com/rust-lang/crates.io-index`
  Installing buzz v1.0.6
 Downloading base64 v0.9.1
 Downloading serde v1.0.43
 Downloading pkg-config v0.3.11
 Downloading atty v0.2.9
error: failed to compile `buzz v1.0.6`, intermediate artifacts can be found at `/tmp/cargo-install.DZbyvjWJqzdW`

Caused by:
  multiple packages link to native library `gtk`, but a native library can be linked only once

package `gtk-sys v0.3.4`
    ... which is depended on by `libappindicator v0.2.0`
    ... which is depended on by `systray v0.2.0`
    ... which is depended on by `buzz v1.0.6`
links to native library `gtk`

package `gtk-sys v0.4.0`
    ... which is depended on by `libappindicator-sys v0.1.2`

Windows support

Biggest blockers:

  • Find right path for config files (xdg equivalent)
  • Figure out how to do notifications (e.g., notify-send)

Outright not working :[

Starts and runs but even though I do get new email, it doesn't notify me about it.

How should I go about troubleshooting this?

No errors whatsoever.

Specify inboxes

Right now the application searches the entire email account for unread emails. It would be awesome if we could limit that to a list of inboxes, or the other way around, exclude some inboxes. For example, I personally do not need to be notified for things like newsletters.

Buzz does not build using rustc 1.41

Snippet from the build:

   Compiling syntex_syntax v0.54.0
error[E0423]: expected function, tuple struct or tuple variant, found struct `ast::Name`
   --> /home/dominik/.cargo/registry/src/github.com-1ecc6299db9ec823/syntex_syntax-0.54.0/src/symbol.rs:146:27
    |
146 |                       name: ast::Name($index),
    |                             ^^^^^^^^^
...
165 | / declare_keywords! {
166 | |     // Invalid identifier
167 | |     (0,  Invalid,        "")
168 | |
...   |
231 | |     (56, CrateRoot, "{{root}}")
232 | | }
    | |_- in this macro invocation

The issue is also described here and happens due to the dependency-chain systray -> libappindicator -> libappindicator-sys -> (an ancient version of) bindgen -> aster -> syntex_syntax.

The issue is fixed in libappindactor and the master branch of systray. However, the latter does not build at the moment due to other issues. The fix for this project is probably to wait until a new, fixed version of systray is published. In the meantime, if anyone wants to build buzz using rustc 1.41, they can temporarliy use the PR-branch that I submitted to systray to fix the upgrade-issues (at least for Linux/*BSD/...) using a patch section in the Cargo.toml of buzz:

[patch.crates-io]
systray = { git = "https://github.com/ftilde/systray-rs" }

Fail to build on Ubuntu 17.10

I ran cargo install buzz but it failed to build on Ubuntu 17.10.

   Compiling aster v0.38.0
   Compiling syntex v0.54.0
   Compiling quasi v0.29.0
   Compiling libloading v0.3.4
   Compiling quasi_codegen v0.29.0
   Compiling bindgen v0.22.1
   Compiling libappindicator-sys v0.3.0
error: failed to run custom build command for `libappindicator-sys v0.3.0`
process didn't exit successfully: `/tmp/cargo-installZDpxQj/release/build/libappindicator-sys-237c515d683c452d/build-script-build` (exit code: 101)
--- stdout
cargo:rustc-link-lib=appindicator3

--- stderr
thread 'main' panicked at 'libappindicator3 library not found!', /home/jethros/.cargo/registry/src/github.com-1ecc6299db9ec823/libappindicator-sys-0.3.0/build.rs:37:27
note: Run with `RUST_BACKTRACE=1` for a backtrace.

warning: build failed, waiting for other jobs to finish...
error: failed to compile `buzz v1.1.0`, intermediate artifacts can be found at `/tmp/cargo-installZDpxQj`

Caused by:
  build failed
[12:15] jethros@x1c ~ $ cargo install libappindicator-sys
    Updating registry `https://github.com/rust-lang/crates.io-index`
  Installing libappindicator-sys v0.3.0
error: specified package has no binaries

Unwraps when parsing config values

There are some unwraps in the code which could be replaced with match statements to make the general experience of building a config less confusing.

For example, given the following configuration:

[gmail]
server = "imap.gmail.com"
port = "993"
username = "[email protected]"
pwcmd = "secret-tool lookup name example"

We try to convert the value "993" to an integer, which panics.

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.