GithubHelp home page GithubHelp logo

process-viewer's Introduction

process-viewer Build Status

A process viewer GUI in rust. It provides current status of your processes (cpu and memory usage) and your system (usage of every core and of your RAM, and the temperature of your components if this information is available).

It can be run on the following platforms:

Please run it in release mode to have good performance:

cargo run --release

or to install it as binary

cargo install process_viewer

Building/running on Linux, MacOS

Take a look at the gtk-rs installation guide to know how install GTK dependencies.

Running on Raspberry

It'll be difficult to build on Raspberry pi directly. A good way-around is to be build on Linux before sending it to your Raspberry pi:

rustup target add armv7-unknown-linux-gnueabihf
cargo build --target=armv7-unknown-linux-gnueabihf

Donations

If you appreciate my work and want to support me, you can do it here:

Become a patron

Screenshots

screenshot screenshot

process-viewer's People

Contributors

andrewdavidmackenzie avatar bilelmoussaoui avatar coder543 avatar dallyshalla avatar genodeftest avatar gkoz avatar guillaumegomez avatar jbicha avatar kamwithk avatar nickgerace avatar razorheadfx avatar rofrol avatar sdroege avatar silwol 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

process-viewer's Issues

Gtk warning when quickly reopening the info window in the Networks tab

Hi.
In the Networks tab, if I click on "More information", close the window and quickly click again on "More information", the window doesn't show up again and the terminal says:

(process_viewer:13975): Gtk-WARNING **: 10:45:44.987: A window is shown after it has been destroyed. This will leave the window in an inconsistent state.

I close the window with a keyboard shortcut from my WM, so maybe you cannot reproduce with the mouse alone.

Thanks!

I don't want this to be a bash against Electron (some of my favorite apps are built with Electron), but I did want to say I found the following refreshing:

ls -lh /Users/me/.cargo/bin/process_viewer
-rwxr-xr-x  1 me  me   1.3M Mar 21 16:37 /Users/me/.cargo/bin/process_viewer

Nice job on the app!

Windows Requirements Documentation Does Not Work

I am not using Winodws, but I noticed the the requirements link for gtk-rs on Windows does not work.
This should (probably) be updated to the Windows GTK setup documentation since the old link does not work nor exist.

Graph api is bad

Instead of not computing maximum if no maximum value was provided, it should be the opposite.

Document GTK requirements for Ubuntu

I just tried install process-viewer on my machine (Ubuntu Mate Bionic) running by cargo install --git https://github.com/GuillaumeGomez/process-viewer --force and the build failed with a pkg-config error when trying to build the pango crate.

Fixed it installing libgtk-3-dev as per the updated gtk-rs docs.
Apparently Debian and Ubuntu don't ship dev dependencies for gtk any more.

Code cleanup is needed

Since the new gtk API provides a timeout_add function which doesn't require Send, Mutexes and other wrappers aren't necessary anymore.

No releases?

I wanted to try this out real quick but ... there's nothing in the Releases.

repository doesn't contain the 'src/procs.rs' path in 'master

I just want to mention that my GitHub account just suddenly mentioned your project. You are missing src/procs.rs file in your master branch!?

image

I also have no clue what the hack is going on with GitHub.com.

But just that know you ๐Ÿ‘๐Ÿฝ .

Regards,
~ Melroy

network usage does not show a graph

the default gnome system-viewer displays 3 things in the default resources: cpu, memory and network usage.
rust process-viewer doesn't display network in a graph alongside the cpu and memory. It would be ideal if there was an option to make that happen.

Thank you for listening.

Too high CPU

This tool generates about 10-25% of a single core, using Linux Mint 17.1 Rebecca with Cinnamon 2.6 (8GB ram, 8 cores 3.1ghz, 2GB intel HD 4000, 500GB SSD).

100% CPU load on one core; Lags

Even with graphs disabled, running the latest process-viewer from git master eats one core of my CPU. As a result, it is unable to process input events in time and feels very laggy.

This issue is present for both debug and release builds, although it is less bad on release builds. I've compiled process-viewer using
rust-1.22.1-1.fc27.x86_64
cargo-0.23.0-1.fc27.x86_64
on Fedora 27 on a 4.14.3-300.fc27.x86_64 #1 SMP kernel.

Relicense under dual MIT/Apache-2.0

Why?

The MIT license requires reproducing countless copies of the same copyright
header with different names in the copyright field, for every MIT library in
use. The Apache license does not have this drawback, and has protections from
patent trolls and an explicit contribution licensing clause. However, the
Apache license is incompatible with GPLv2. This is why Rust is dual-licensed as
MIT/Apache (the "primary" license being Apache, MIT only for GPLv2 compat), and
doing so would be wise for this project. This also makes this crate suitable
for inclusion in the Rust standard distribution and other project using dual
MIT/Apache.

How?

To do this, get explicit approval from each contributor of copyrightable work
(as not all contributions qualify for copyright) and then add the following to
your README:

## License

Licensed under either of
 * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you shall be dual licensed as above, without any
additional terms or conditions.

and in your license headers, use the following boilerplate (based on that used in Rust):

// Copyright (c) 2015 t developers
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT
// license <LICENSE-MIT or http://opensource.org/licenses/MIT>,
// at your option. All files in the project carrying such
// notice may not be copied, modified, or distributed except
// according to those terms.

And don't forget to update the license metadata in your Cargo.toml!

Contributor checkoff

Build failed

   Compiling cairo-rs v0.1.0
   Compiling gdk v0.5.0
   Compiling gtk v0.1.0
   Compiling libc v0.2.12
   Compiling gdk-pixbuf v0.1.0
   Compiling bitflags v0.5.0
   Compiling c_vec v1.0.12
   Compiling bitflags v0.4.0
   Compiling gio v0.1.0
   Compiling pkg-config v0.3.8
   Compiling sysinfo v0.1.15
   Compiling gio-sys v0.3.1
   Compiling pango-sys v0.3.1
   Compiling atk-sys v0.3.1
   Compiling cairo-sys-rs v0.3.1
   Compiling gdk-sys v0.3.1
   Compiling gtk-sys v0.3.1
Build failed, waiting for other jobs to finish...
error: failed to run custom build command for `cairo-sys-rs v0.3.1`
Process didn't exit successfully: `/home/ivanyang/Documents/process-viewer/target/debug/build/cairo-sys-rs-a65fc7ef6b06ddf7/build-script-build` (exit code: 1)
--- stderr
`"pkg-config" "--libs" "--cflags" "cairo >= 1.10"` did not exit successfully: exit code: 1
--- stdout
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo' found

sysinfo when building with Rust 1.5

Hi,
When I try to build using Rust 1.5 I get the following error:
sysinfo.rs:11:1 #[feature] may not be used on the stable release channel.
sysinfo.rs:11 #![feature(convert)]

Any clue?
Thanks!

Menu handling

Instead of the current way to generate menus, I should use Gio::Menu (to have the nice menus in the headbar on OSX for example).

Change units

Would be good to display kb/mb/gb instead of a raw integer.

Allow to hide a graph line

For instance, if there are 6 CPUs, you can hide one of them and only print the others. Adding a checkbox in the list of items on the right of the graph would be enough I think.

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.