⚠️ 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:
Toggl.
Native desktop applications for the leading time tracking toolAbout • Download • Build • Change log • Contribute
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.
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
macOS
Requirements
- macOS 11+, Xcode 12.2+ and Swift 5+
- Install Bundler
$ sudo gem install bundler
Build
# 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 andlibXScrnSaver-devel
in rpm-based)
You can install them all in debian with a command:
$ 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
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.
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.
Change log
Change log can be viewed at http://toggl.github.io/toggldesktop/
Contribute
Before sending us a pull request, please format the source code:
$ make fmt
Also, please check for any cpplint issues:
$ make lint
Check if unit tests continue to pass:
$ make test