### ⚠️ Project Status: Superseded by new rewritten apps. We have rewritten our MacOS and Windows apps and for that reason **we will no longer implement nor accept pull requests** implementing new features in this repository. If you'd like to try these rewritten native apps, visit: * [ ] 🍏 [MacOS Toggl Track](https://toggl.com/track/time-tracking-mac) * [ ] 🖥 [Windows Toggl Track](https://toggl.com/track/time-tracking-windows/)

Toggl Track

Native desktop applications for the leading time tracking tool Toggl.

GitHub last commit GitHub issues GitHub pull requests Licence BSD-3

AboutDownloadBuildChange logContribute

# About **Toggl Desktop** is a Toggl time tracking client with many helper functions that make tracking time more effortless and smooth. Features such as Idle detection, reminders to track and Pomodoro Timer make this app a great companion when productivity and efficiency is the goal. Toggl Desktop apps # Download Toggl built and signed apps for all platforms ## Mac
64bit dmg    |     Mac App Store

Officially macOS 10.11 and newer stable macOS versions are supported. ## Windows
64bit installer    |    32bit installer   |    Chocolatey    |    Microsoft Store

App has been tested on Windows 7, 8, 8.1 and 10. Toggl Desktop Windows app has not been tested on Surface type touchscreen environments. ## Linux
Tarball    |    Flathub    

Only 64bit is supported # Build Please check OS specific requirements below. _By default the app builds for testing server. To use the compiled app with live server see this guide [https://github.com/toggl-open-source/toggldesktop/wiki/Building-Toggl-Desktop-from-source-for-usage-with-live-servers](https://github.com/toggl-open-source/toggldesktop/wiki/Building-Toggl-Desktop-from-source-for-usage-with-live-servers)_ ## macOS ### Requirements - macOS 11+, Xcode 12.2+ and Swift 5+ - Install Bundler ```bash $ sudo gem install bundler ``` ### Build ```bash # Prepare cocoapod $ make init_cocoapods ``` Run `bundle exec pod repo update` in case there is an error about out-of-date source repos (some pod version is missing). - Open workspace at `src/ui/osx/TogglDesktop.xcworkspace` - Select TogglDesktop scheme and build. ## Linux ### Dependencies You'll need these Qt (at version 5.12 or higher) modules: QtWidgets (with private headers), QtNetwork, QtNetworkAuth, QtDBus, QtX11Extras If Qt is not installed from your distribution's package manager, you will need to set the `CMAKE_PREFIX_PATH` environment variable to point to the `lib/cmake` folder in the Qt version you wish to use. These dependencies are mandatory: * libXScrnSaver (`libxss-dev` in deb-based distros and `libXScrnSaver-devel` in rpm-based) You can install them all in debian with a command: ```bash $ sudo apt install libxss-dev build-essential libgl-dev libreadline-dev ``` These dependencies are optional and will be bundled if the `USE_BUNDLED_LIBRARIES` CMake argument is set or your system does NOT have their development packages installed: * POCO * Lua * jsoncpp * Qxt These libraries will be bundled regardless of your system: * bugsnag-qt * qt-oauth-lib ### Build the app *in the toggldesktop source tree root* ```bash mkdir -p build && pushd build # Create build directory cmake .. # Setup cmake configs make -j8 # Build the app. The number defines the count of parallel jobs (number of your CPU cores is a good value for that) ./src/ui/linux/TogglDesktop/TogglDesktop # Run the built app ``` ## Windows Install Visual Studio 2019 with `.NET desktop development`, `Desktop development with C++` and `Universal Windows Platform development` components checked during installation. You can download free Visual Studio Community [here](https://visualstudio.microsoft.com/vs/community/). Then open the solution file `src\ui\windows\TogglDesktop\TogglDesktop.sln` and run it in `Debug` mode. The solution is using OpenSSL binaries. To rebuild OpenSSL from sources refer to [this page](docs/win/build-openSSL.md). # Change log Change log can be viewed at [http://toggl.github.io/toggldesktop/](http://toggl.github.io/toggldesktop/) # Contribute Before sending us a pull request, please format the source code: ```bash $ make fmt ``` Also, please check for any cpplint issues: ```bash $ make lint ``` Check if unit tests continue to pass: ```bash $ make test ```