jonhoo / buzz Goto Github PK
View Code? Open in Web Editor NEWA simple system tray application for notifying about unseen e-mail
License: Apache License 2.0
A simple system tray application for notifying about unseen e-mail
License: Apache License 2.0
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:
I'm pretty sure this list is non-exhaustive as I've installed other development headers before for other crates.
Biggest blockers:
xdg
equivalent)notify-send
)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?
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 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`
Biggest blockers:
xdg
equivalent)notify-send
)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.
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.
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" }
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
There are some unwrap
s 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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.