Code Monkey home page Code Monkey logo

unity-pomodoro's Introduction

Unity Pomodoro

About β€’ Documentation β€’ Downloads β€’ Screenshots β€’ Author Notes β€’ Donate β€’ Contribute β€’ Support β€’ Contact

About

Unity Pomodoro is an open source countdown timer app created in Unity designed primarily for desktop use. Unity Pomodoro is a time management tool based on the pomodoro technique, the aim is to improve your productivity by introducing timers for both your work and break sessions. Quickly swap between the two timers to keep you on track and focused.

Platforms: Windows, Mac, Linux, & Android. (Steam, Microsoft Store, Google Play Store)

Version: 2.6.0

Author: Adrian Miasik

License: GPL-3.0

Contributor(s): -
Want to help? If you're interested in contributing to the project, please see our contribution document.

Β 

Downloads

Direct

Platform Specific

  • Steam (Windows)
    • The Steam version includes Steam Achievements.
    • The Steam version includes Steam Cloud Saves for your preferred settings.
    • The Steam version includes Steam Statistics.
  • Google Play Store (Android)
    • The Android version provides Mobile Notifications when the timer is complete.
  • Microsoft Store (Universal Windows Platform)
    • The UWP version provides Windows Notifications when the timer is complete.
    • The UWP version provides Windows Launcher when a user interacts with a URL.

Previous Releases

Β 

Media

unity-pomodoro-release-banner-1.6.0

Screenshots

Light

Dark

Author Notes

  • Unity Pomodoro is a pet project I've been developing in my spare time - A labour of love of sorts
  • See my GitHub profile for more open source work
  • I'm also currently open for work, if you're hiring send me an email at: [email protected]
  • The svg assets have been created myself and/or sourced from The Noun Project
  • Fun fact: This was the first time I tried to do my own foley / audio
  • Special thanks to my microwave

Donate

If you'd like to support my work, you can donate to help support this project via GitHub Sponsors ❀️

Contact Us / Support Line

Need help? Found a bug?
Send your questions, bug reports, and other support related inquiries to:
[email protected] Alternatively, you can also report bugs directly to our issues page

For personal business related inquires / proposals:
[email protected]

Legal

This project is not sponsored by, authorized by, or affiliated with Unity Technologies or its affiliates.

Copyrights and trademarks are the property of their respective owners.

  • Adrian Miasik Logo
  • Github Logo

unity-pomodoro's People

Contributors

adrian-miasik avatar adrian-miasik-2 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

Watchers

 avatar  avatar  avatar  avatar  avatar

unity-pomodoro's Issues

Wiki - Scripting / Component Documentation Out of Date

New plan, we're making a new repository. unity-pomodoro-docs

We need to update our wiki to have our most up to date scripts and relevant info
https://github.com/adrian-miasik/unity-pomodoro/wiki/Components-Documentation

## Core Scripts
- [ ] BooleanSlider
- [ ] BooleanToggle
- [x] ClickButton
- [ ] ClickButtonIcon
- [ ] ClickButtonText
- [ ] ThemeElement
- [ ] TimerProgress
## Component Scripts
- [ ] AboutPanel
- [ ] AudioMimic
- [ ] Background
- [ ] CompletionLabel
- [ ] ConfirmationDialog
- [ ] CreditsBubble
- [ ] DigitFormat
- [ ] DigitSeparator
- [ ] DoubleDigit
- [ ] HotkeyDetector
- [ ] LabelledDropdown
- [x] RightButton
- [ ] SettingsPanel
- [ ] Sidebar
- [ ] SidebarRow
- [ ] SocialButtons
- [ ] ThemeSlider
- [ ] UPIcon
- [x] WriteVersionNumber
## Interfaces
- [ ] IColorHook
- [x] ITimerState
## Scriptable Objects
- [ ] ColorScheme
- [ ] Theme
## UWP
- [ ] NotificationManager

Warning: "Material Circle doesn't have _Stencil property UnityEngine.Canvas:SendWillRenderCanvases ()"

Waiting for Unity -> Proper UI support for ShaderGraph

As the title says, there is a warning in our project that is associated with our circle ShaderGraph material. The warning follows:

Material Circle doesn't have _Stencil property
UnityEngine.Canvas:SendWillRenderCanvases ()

We are missing the standard stencil properties in our ShaderGraph Circle shader. These are typically found in Unity's built in UI HLSL shaders and looks like this:

_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255

_ColorMask ("Color Mask", Float) = 15

This warning can be fixed/suppressed by converting the Circle ShaderGraph shader to HLSL and adding the above stencil properties to the shader. Or alternatively, we can wait for Unity to add proper ShaderGraph support for UI based shaders as they road-mapped here: https://portal.productboard.com/8ufdwj59ehtmsvxenjumxo82/c/50-ui-integration-with-shader-graph?utm_medium=social&utm_source=portal_share

Think I'm going to wait for Unity to support UI ShaderGraph shaders.
Seems like it'll be coming in Unity version 2023.2 - beta 16.

Timer Values Not Updating Correctly On Page Changes

User Bug Report

Description

When changing the timer values then navigating to another page. Upon returning to the timer page, the timer values show the defaults instead of the changed timer values. This can be fixed by restarting the timer to show the correct values or by re-switching pages once more. Seems like a refresh bug.

Reproduction Steps

  1. Open application
  2. Change the default timer values
  3. Switch to the settings page
  4. Switch back to the timer page
  5. Observe values (Showing default instead of previously changed values)

Impacted Version(s)

  • Version: 2.1.1

Impacted Platform(s)

  • Windows - Universal Windows Platform / UWP
  • Windows
  • Mac
  • Linux

Expected Behaviour

  • The timer should show the newly changed values instead of the default values when returning to the timer page

Additional Context/Comments

  • Restarting the timer or invoking another page change and navigating back shows the correct values

UWP 2.1.1 - Blank Screen on Launch?

User Bug Report

Description

  • When launching the Unity Pomodoro UWP app, you see the logo briefly then a white screen. Seems like it crashes or is borked on launch?

Reproduction Steps

  1. Launch Unity Pomodoro (UWP version)
  2. Observe blank screen

Impacted Version(s)

  • Version: 2.1.1

Impacted Platform(s)

  • Windows - Universal Windows Platform / UWP

Expected Behaviour

  • App should launch after seeing the Unity Pomodoro logo and you are expected to see the timer animation / landing page.

Additional Context/Comments

  • Have only tested on a single device. Might not happen on others, would be good to check and repro on other devices to confirm.

NullReferenceException comes up after setting the long break time

User Bug Report

Description

  • After launching the program and finishing the tomato counters, the long break time doesn't start when clicking the play button.

Reproduction Steps

  1. Launch application
  2. Set the time for both work and break time
  3. Let the timer finish
  4. Set the time for the long break time
  5. Click the play button
  6. Notice how the timer doesn't start

Impacted Version(s)

  • Version: 2.4.0

Impacted Platform(s)

  • Windows
  • Android

Expected Behaviour

  • Expected the timer to start after setting the time for long breaks

Screenshots

Here's a screenshot of the exception
Screenshot (37)

Additional Context/Comments

  • I can't pinpoint the reference variable that's causing the null exception since I'm not very familiar with the code. Hope you can give attention to this. Thanks!

FPS unlimited when program is in the background

I can see that the program is limited to 240fps when in the foreground, however, when in the background, this currently runs uncapped at 1900FPS.

99% of the time, the application is in the background.

Cheers

Light/Dark Theme Is Unintentionally Being Switched When Inputting Digits in Timer Setup

General

When users are editing the timer digits in setup mode, they can unintentionally toggle the theme slider via the keyboard shortcut bindings.

This is something that came up in our 1.6.0 release discussion.
Thanks for flagging this down @Miles-Larson! πŸ‘

Implementation

Currently our theme toggle gets triggered when the user presses either of these keys: KeyCode.Alpha1 or KeyCode.Keypad1.

// Theme switch
if (Input.GetKeyDown(KeyCode.Alpha1) || Input.GetKeyDown(KeyCode.Keypad1))
{
    timer.TriggerThemeSwitch();
}

Proposal

We can address this in multiple ways:

  1. The first way would be to find a more appropriate keyboard shortcut for the theme toggle keybinding. (@adrian-miasik)
  2. The second way would be to prevent users from being able to toggle the theme slider keybinding when any digit is currently selected by the user. (@Miles-Larson)

Not quite sure which one I prefer more. But as it stands at the moment, I don't think the theme slider should be bound to the one keys. I think it would be best to find an alternative keybinding.
Note: This means our Keyboard Controls wiki page will need updating.

I also do like option number 2.
It's unlikely that the user intends to change the theme during timer setup, however removing that option feels a bit restricting in regards to accessibility/visibility and keyboard control consistency (i.e. It's not apparent when that specific keyboard binding will be active or not, since there's no feedback indicating that state nor any feedback on preventing that action when it's activated such as a toast popup or error sound). Not the worst offense, and probably won't be noticed most of our users. However, I do think a more appropriate keyboard binding is the better approach. I'll do a bit more thinking on this. Feel free to comment away below if you have an opinion.

Conclusion

Android Build Issue

Steam Integration needs to be platform gated for Android. Not compatible/needed.

Sidebar Menu Rows Occassionally Hidden On First Startup

User Bug Report

Description

  • The sidebar menu rows are occassionally hidden on first startup. After initial launch the sidebar menu rows are displayed properly.

Reproduction Steps

  1. Launch application
  2. Click on the menu toggle (Top left)
  3. Observe hidden but interactable rows in the sidebar menu
  4. Close sidebar menu
  5. Open sidebar menu
  6. Observe visible rows in the sidebar menu (Expected Behaviour)

Impacted Version

  • Version: 1.5.0

Impacted Platform(s)

  • Windows - Universal Windows Platform / UWP
  • Windows
  • Mac
  • Linux

Expected Behaviour

  • Expected to see our sidebar menu rows to properly display and been seen on initial load, not only after first startup.

Additional Context/Comments

  • Reoccurance rate is not 100%, only happens on occasion.
  • I've hit this on multiple devices, not quite sure what's going on but it's worth investigating.

Audio not playing while minimized

User Bug Report

Description

  • Alarm sounds are not playing if app is minimized in taskbar

Reproduction Steps

  1. Start session
  2. Minimize Application

Impacted Version(s)

  • Version: 2.1.1

Impacted Platform(s)

  • UWP (I got the app from Microsoft Store)

Expected Behavior:

  • Prompt the user with a alarm sound even when the application is minimized.

UI is not showing properly

Description

I don't exactly know what the bug is since I only downloaded it from the Play Store then came across this issue with the UI.

Reproduction Steps

  1. Open the app
  2. Then the issue shows

Impacted Version(s)

  • Version: 2.4.1

Impacted Platform(s)

  • Android

325345147_2293176434177747_1481052129488721204_n

Clicking back to window causes timer to drop sharply

User Bug Report

Description

The timer drops sharply in time remaining when I click away from the window and come back.

Reproduction Steps

  1. Start the timer.
  2. Navigate away from the Unity Pomodoro app window (by clicking on another window).
  3. Return to the Unity Pomodoro app window (by clicking anywhere on the Unity Pom. window).
  4. The time remaining drops sharply, by a factor of roughly 50% of how long it's been since I was last at the window.

For example, if I start the timer at 25:00, then navigate away at 24:00, then return at 22:00, then the time remaining drops to 21:00.

Impacted Version(s)

  • Version: 2.1.0

Impacted Platform(s)

  • Windows 11

Expected Behaviour

  • In the example above, it ought to simply continue counting down from 22:00 when I come back to Unity Window.

Screenshots

Screen-capture via zoom, saved to personal onedrive: https://1drv.ms/v/s!AmlLolYckglnhKUrtzBvKz1xliE5oA?e=IBNab4

Additional Context/Comments

  • Love the app! Would greatly appreciate seeing it fixed!

Problems with Icons on MacOS Ventura w/ Apple Silicon

Description

Icon Images (Vectors?) not being drawn correctly
Tried restarting a couple times but issue is persistent. Doesn't impact funtionality however.

Reproduction Steps

Opening the app, most of the icons are drawn incorrectly. Might be purely apple silicon based? Idk, don't have an Intel based Mac available to test

Impacted Version(s)-

  • Version: 2.4.1

Impacted Platform(s)

  • Mac OS Ventura 13.1 (Macbook Pro 14" model with M1 Pro)

Screenshots

Image
Image2

##Edit

Just noticed #104 is about the same issue. But that was android based. So i'm leaving this issue open for now.

Android: Incorrect drop shadow visuals + EndTimestampGhost not disappearing on launch

User Bug Report

Description

  • The Android platform is showing bounding box drop shadows for our circular elements and the bottom right EndTimestampGhost element is not disappearing on launch, like it does on all other platforms.

Reproduction Steps

  1. Download Android build
  2. Open app
  3. Observe shadows + bottom right EndTimestampGhost

Impacted Version(s)

  • Version: 2.5.0

Impacted Platform(s)

  • Android

Expected Behaviour

  • Shadows should conform to the buttons
  • EndTimestampGhost should disappear

Screenshots

Screenshot_20230505-140353

Documentation: Code Style Guide

Been collaborating with @KingWazzack and through our chats, they've highlighted that this project is missing a code style document.

A document that tells other developers how to stylize/structure their code. A set of standards for writing and designing code to generally maintain a consistent style across the board.

Timer Displaying Incorrect Value When Paused and Re-Opening the PomodoroTimer Page

User Bug Report

Description

  • When the timer is paused and you are on the Pomodoro Timer page, if you open the sidebar to 're-enter' the Pomodoro timer page, the timer will show the starting value and not the paused value.

Reproduction Steps

  1. Go to the 'Pomodoro Timer' page
  2. Play timer
  3. Pause the timer (with non starting values)
  4. Open the sidebar menu
  5. Press the 'Pomodoro Timer' page
  6. Observe paused timer values displaying starting values (Should actually show the paused time values not the starting values)

Impacted Version(s)

  • Version: 2.3.2

Impacted Platform(s)

All platforms:

  • Windows - Universal Windows Platform / UWP
  • Windows
  • Mac
  • Linux

Expected Behaviour

  • The timer should show paused timer values and not starting value numbers.

Settings Dropdown Has No Audio Feedback

We have no audio / sounds playing when the user interacts with the dropdown component in the settings menu panel. This is because our dropdown doesn't use our core components. We can add the same sounds and locic we have on our click buttons to our "LabelledDropdown.cs" component.

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.