Metadata-Version: 2.4
Name: nx_work_log
Version: 1.2.0
Summary: NX Solutions Work Log
Author-email: Xander Hendriks <xander@nx-solutions.com>
License: Copyright (c) 2020 NX Solutions
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
Project-URL: Documentation, https://xanderhendriks.github.io/nx-work-log
Project-URL: Issues, https://github.com/xanderhendriks/nx-work-log/issues
Project-URL: Repository, https://github.com/xanderhendriks/nx-work-log
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: pywin32; platform_system == "Windows"
Requires-Dist: pystray; platform_system == "Linux"
Requires-Dist: Pillow; platform_system == "Linux"
Provides-Extra: dev
Requires-Dist: wheel; extra == "dev"
Requires-Dist: check-manifest; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-rtd-theme; extra == "doc"
Dynamic: license-file

NX Work Log
===========

I wrote this program originally in Borland C++ Builder. It adds an icon to the windows system tray that is green when it's
measuring time and red when it's paused. I use it to measure my working hours, so I can switch it off when doing non work
related tasks.

When I found `Simon Brunning SysTrayIcon  <http://www.brunningonline.net/simon/blog/archives/SysTrayIcon.py.html>`_ I decided
to rewrite the application in Python as I wanted to make some improvements to the tool and no longer wanted to use my outdated
version of C++ Builder.

As I was exploring the winpy32 package I found it contains a resource file parser and I thought it would be cool to define
the dialog in Microsoft Visual Studio and see how this can be used in Python.


Linux port
==========
As I'm also working on Projects requiring Ubuntu, I wanted to make the tool cross platform. 

The Linux tray implementation uses ``pystray`` and behavior depends on the backend provided by the desktop environment.

- Left/right mouse button behavior is not always identical to Windows. With the AppIndicator backend, primary click is menu-focused, so left click may open the menu instead of toggling pause.
- Hover tooltip text is often not shown by Linux shells even when the application updates the tray title.
- As a workaround for missing hover text, the current logged time is shown as the first (disabled) menu entry.
- If AppIndicator libraries are missing, the app falls back to the Xorg backend. On Xorg, menu support is limited and right-click menu entries may be unavailable.

For full tray menu support on Ubuntu, install:

.. code-block:: bash

	sudo apt update
	sudo apt install libayatana-appindicator3-1 gir1.2-ayatanaappindicator3-0.1

You can force a specific backend for troubleshooting by setting the ``PYSTRAY_BACKEND`` environment variable (for example ``appindicator`` or ``xorg``) before starting ``nxworklog``.
