Giter Site home page Giter Site logo

waishnav / watcher Goto Github PK

View Code? Open in Web Editor NEW
130.0 1.0 11.0 12.5 MB

Minimal open source Screen-Time Tracker for Linux

Home Page: https://watcher-org.github.io/Watcher

License: MIT License

Shell 9.79% Python 90.21%
screen-time tracker productivity watcher linux minimal arch-linux debian watcher-cli hacktoberfest

watcher's Introduction

Watcher

Minimal Open source Screen-Time Tracker (CLI-app)

Table of Contents

About

Watcher is CLI-app (at this moment) which helps you to get perspective about your Screen-time

Gallery

Day Summary Week Summary

Funfact: You might be thinking how can someone has 14 hrs of screen time in a single day, Well ! short ans is AFK-feature is not implemented yet... Most of the time I left my laptop as it is so it also counts that AFK time as Screen-time

Installation

  • Note: Install xprintidle and xdotool on your system ( the only dependancies other than python3 ). Install python3 if not installed in your machine.
  • First, Install the following dependancy xprintidle and xdotool
$ sudo [package-manager] install xprintidle xdotool
  • Second, Copy the Following Command and paste in terminal
$ bash <(curl -s https://raw.githubusercontent.com/Waishnav/Watcher/main/install)
  • Then run install script
$ chmod +x ./install && ./install

Want to Contribute

If you are interseted in contibuting checkout CONTRIBUTING.md

You can currently contribute to one of the three projects listed below throughout the HACTOBERFEST.

To contribute, clone the relevant branch anywhere you wish to.

To-do

  • AFK feature
  • GUI only if got 300 stars Probably Tauri App.

watcher's People

Contributors

anilmandliya avatar augustin64 avatar ethanmlee avatar nothingbutsyntaxerror avatar omthakare16 avatar pawanpatil19 avatar ujjwall-r avatar waishnav 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

watcher's Issues

Repo getting cloned again during installation

Hi, great work with Watcher!

git clone https://github.com/Waishnav/Watcher -b v2.0 && cd Watcher

I noticed the repo getting cloned from the installation script. User would have already cloned the repo to run the installation script. Why clone the repo again from v2.0 branch?

Also, the user would have most probably cloned the repo from the git clone command from the README file (atleast I did!). Instead of cloning the repo again from the installation script, how about updating the README with git clone https://github.com/Waishnav/Watcher -b v2.0 in the installation instructions itself?

switch to python3 in shebang

Make changes in the src/bin/watcher file so that watcher will implicitly use python3 as an interpreter.
Also, add python3 as a dependency in README.md

v2.0 issue as the day changed

First, read COTRIBUTING.md to get an overall idea of v1.0 and v2.0 and their differences.

Issue Explained
At midnight of the next day (after 24:00), the previous day's Data (which is a dictionary containing the app name and its usage) get copied to the next day so we get the previous day's usage in the next day as well.

Where to work
You need to first clone the v2.0 branch after forking the repo.
And then make changes in src/Watcher/watch_log.py according to issue.

macOS support

Implement watcher for macOS.

Things to consider before implementation
-- You need to make the module for accessing Active app-name or you can use dependency.
-- So you'll have to make changes in src/Watcher/get_Windows.py

Usage Feature Request

hello my friend and thanks for the great app
i am requesting to update README file and add more information about usage ... because i got confused at first .. should i run watcher --start always when i start my pc or how does it work ? and thanks again

ValueError in week summary

logs:

$ watcher -ws   
Traceback (most recent call last):
  File "/usr/share/Watcher/week_analysis.py", line 35, in <module>
    for x, y in rc.final_report(window_opened, time_spent).items():
  File "/usr/share/Watcher/report_creation.py", line 37, in final_report
    time = to.time_addition(j[1], time)
  File "/usr/share/Watcher/time_operations.py", line 36, in time_addition
    mn = int(b[3:5]) + int(a[3:5])
ValueError: invalid literal for int() with base 10: ':1'

Installation script recursively clone the repo

In second line of install script

1. #!/bin/bash
2. git clone https://github.com/Waishnav/Watcher -b v2.0 && cd Watcher && ./install

due to last call to ./install, it again creates new thread and clone git repo again and it goes on. Please fix it or merge the request #39

False usage is showing on week -summary command in v1.0

watcher -ws result watcher -ds result

As a result, we are getting twice the value of actual time spent. The image on the right side is showing the correct result of daily usage.

Before going to start working on issue clone v1.0 branch instead of main branch. and do changes according to an issue.

Test Watcher v2.0 and make BUGS.md that you have found.

Use Watcher v2.0 for 1-2 days and make a log of any issues or concerns.
Then post some issues that u found during testing.

to install Watcher v2.0 use following command
git clone https://github.com/waishnav/watcher/ -b v2.0
and then cd into Watcher
./install

Watcher-Website is in developement

Watcher-web is a  project that serves as the watcher's landing page.
The goal of this landing page is to make people aware of their screen time and thus the watcher.
You might also find some hacktoberfest issues to contribute to there.
Wacther-web should be checked out.
Do check it out : Wacther-website.

make CONTRIBUTING.md

As Hactoberfest is about to start, to make this project open for contribution write CONTRIBUTING.md so that other fellow devs can understand the project structure and v1.0 branch and v2.0 branch, and the main branch and the workflow of making PR and merging PR into respective branches.

wayland support to the watcher1.0

Right now watcher has X11 support. The active window name is accessed through the dependency "xdotool"
So try to find dependency for Wayland support as well.

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.