Giter Site home page Giter Site logo

xenoinc / toolshub Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 1.0 704 KB

Desktop productivity with "not your average quick launcher" plus Pomodoro Timer! ๐Ÿ… by Xeno Innovations, built using Mono.Addins. Coming soon is the sidebar desktop dock similar to RocketDock or ObjectDock

Home Page: https://xenoinc.com

License: GNU General Public License v3.0

C# 100.00%
sidebar addin desktop productivity xenoinc launcher monoaddins mono-addins addins csharp

toolshub's People

Contributors

damiansuess avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ewin66

toolshub's Issues

[core] Add ci, code coverage, and style with badges

As a developer, I'd like to have automatic features during check-in like continuous integration, code coverage, and apply the badges to the readme.md file so the public can see how the project is doing.

Acceptance

  • Remove gitlab's ci because it doesn't work
  • Sign-up for ci and add baddge
  • Sign-up for code coverage and add badge
  • Add badge for project license

Out of Scope

  • Style checker & badge
  • Up-to-date security checker & badge

See also:

[addin][core] Detect system shutdown signal and inform add-ins

As an app, I want to detect when the system is shutting down and inform any add-ins that the event is occurring. This will help to safely deallocate objects/processes.

Acceptance

  • Send shutdown signal to add-ins

Out of Scope

If there are any add-ins which need to perform actions based on this, a new backlog item will need to be created for it.

[SysTray] Launch shortcut link from SysTray

As a user, I would like for my saved Shortcut to launch its link whether it's an application, folder, or URL

Acceptance

  • Launch link if it's an application, url, or folder

Out of Scope

  • Application parameters
  • Custom link addresses

[SysTray] Launch shortcut link from SysTray

As a user, I would like for my saved Shortcut to launch its link whether it's an application, folder, or URL

Acceptance

  • Launch link if it's an application, url, or folder

Out of Scope

  • Application parameters
  • Custom link addresses

[sidebar] Allow custom sidebar background

As a user, I want to have a custom sidebar background which takes in PNG format for background transparency.

Acceptance

  • Load background from settings
  • Set background via preferences
  • Allow background transparency if PNG

[addin][mgmt] Split TreeView nodes based upon Category

As a user, I would like for add-in's node in the TreeView to be listed under a Category. This will help the grouping an item's purpose.

Acceptance

  • Display add-in's node under a supplied Category. If none provided, it goes under "Generic"

[veracrypt] Create VeraCrypt addin (first pass)

As a user, I want to be able to quickly mount VeraCrypt virtual drives via our Shortcuts launcher.

NOTE: This is the first pass, only apply and will not be as feature-rich as we'd like it to be.

References: https://www.veracrypt.fr/

Acceptance

  • Create preference window
  • Create VeraCrypt engine wrapper
  • Mount VeraCrypt virtual drive using the stored password (if available)
  • Store passwords in settings

Out of Scope

  • Applying very, very strong encryption for storing passwords.
  • Discovering if drives are pre-mounted
  • Handling multiple drives
  • SignOn/LogOff/Shutdown handlers
  • Refreshing SysTray after mounting/dismounting

Fix MSBuild script

The MSBuild scripts in the build.proj file is incomplete and can cause issues if executed. Please remove erroneous code and fix missing targets.

[shortcuts][pref] Shortcuts gui viewer

As a user, I would like to have the Shortcuts editor display a GUI editor instead of JSON data for easier editing of items.

Acceptance

  • View shortcuts data in a user control

Out of Scope

  • Editing data

[Shortcuts] Use the new storage system to save settings

As a user, I want the Shortcuts add-in to use the new Settings manager.

Acceptance

  • Initialize the Settings service/manager
  • Save and load Shortcuts from its add-in PropertyBag
  • Update Properties page to load/save

Out of Scope

  • Additional enhancements to the Settings add-in

[addin][pomodoro] Create Pomodoro addin

As a user, I would like to begin migrating the Pomodoro project to an add-in driven by the ShortcutsAddin.

Pull Request: #69

Acceptance

  • Start/pause/stop timer
  • Short and Long breaks
  • Update SysTray with a count-down to completion
  • Reset SysTray icon back to default when done

Out of Scope

  • Properties configuration to disable it
  • Launch from SystemTray ExtensionPoint

Tasks

  • Create add-in skeleton
  • System test updating SysTray icon
  • Update SysTray icon while running
  • Start/stop/pause working timer
  • Start/stop breaks
  • Tests
    • Update SysTray icon while running
  • Preferences for timer settings
    • Pomodoro times
    • Break times
    • Flash screen OnEvents
    • Send updates to NotificationIcon bubble

[addin][sample] Update Sample XML-based external add-in

As a developer, I would like to have a working external XML based add-in example

Acceptance

  • Rename, SampleAddin to SampleXmlAddin
  • Create SampleAssmAddin which doesn't use XML manifest files
  • Have them use OnStart and Utility paths
  • Prepare them to have a Preference page

[sidebar] Icon transparency based of mouse location

As a user, I want the option to display an icon transparency based on which icon we are over top of. For instance, the current icon is set to 90%, 2nd=50%, 3rd=25%, 4th=0%

Acceptance

  • Setting to enable/disable this feature
  • Setting: Transparency level of selected icon
  • Setting: Transparency level of proximity icons
  • Displaying icons using the set rules

[sidebar][addin] Drawer add-in

As a user, i would like to have a "drawer" plugin which acts as a (single) subdirectory and expands outward.

Acceptance

  • Default style: linear (linear horizontal or vertical?)

Out of Scope

  • Changing Expansion styles (curved, linear

[pomodoro] Load Pomodoro as utility add-in

As a user, I would like to load the project Pomodoro project as a utility add-in.

This add-in will serve as a Utility loader example

Related to pull request: #69

Acceptance

  • Migrate from standalone EXE to DLL
  • Launch as an external add-in
  • Load on startup as Utility

Out of Scope

  • Properties configuration to disable it
  • Launch from SystemTray ExtensionPoint

Tasks

  • Create utility add-in handler
  • Strip-down Pomodoro.exe project
    • Replace existing settings engine with ToolsHub's
    • Remove Squirel packager
  • Preference
    • Load utility from SysTray
    • Load utility OnStart

[core][addin] Load add-ins into memory

As a developer, I want the system to discover a basic add-in to ensure that the Mono.Addin system is functioning correctly.

Acceptance

  • Use the path, ToolsHub/AppInitialize for addins
  • Create a simple test add-in

[sidebar] Hide sidebar into left side of screen when not active

As a user, I want to sidebar to disappear into the left side of the screen when the mouse is no-longer over it (5sec) and reappear when mouse is on the left side for 1sec.

Acceptance

  • Auto-hide based on specified duration

Out of Scope

  • Setting which side of the screen to hide/show on
  • Setting the duration

[addin][pref] List add-ins with Preference page in TreeView

As a user, I want to see all add-ins with a Preference page to be listed in the side TreeView.

Branch: feature/pref-page-init

Acceptance

  • Fix ExtensionPoint for /ToolsHub/PerferencePage if needed
  • List add-ins discovered preference pages into the left side TreeView

Out of Scope

  • Displaying the node as sub-item of a category in the TreeView
  • Displaying graphical icon for enabled/disabled status

[shortcuts][pref] Edit Shortcut item info using GUI editor

As a user, I want to be able to update a Shortcut's item info using the Preference page's editor

Acceptance

  • Selecting an item from GUI editor to display editing options
  • Save edited data
  • Cancel current item edit but not previous edit item(s) changes before selecting the main OK button.

Out of Scope

  • Moving items via drag-drop

[addin][mgmt] List add-ins in a multicolumn treeview (icon, title)

As a user, I want the add-in manager do display an enabled icon and title of the add-in.

Acceptance

  • Display icon (enabled/disabled)
  • Display title of add-in

Out of Scope

  • Changing status of icon. See story, #10
  • Displaying add-ins under a category
  • Custom loading of add-in's own icon

[sidebar] Load shortcut icons from portable settings file.

As a user, I want my sidebar shortcuts to be loaded from the portable settings.

Acceptance

  • Use INI file to load shortcut icons
  • Use INI file to set shortcut's path
  • Display icon in the sidebar

Out of Scope

  • Global settings file for multiple users

[sidebar] Show icon's native icon

As a user, i want the shortcut icons to display their own icon. If one is not found then use generic

Acceptance

  • Display shortcut's icon

Out of Scope

  • Overriding with a custom icon

[addin][prefs] Create basic Shortcut manager panel

As a user, I want to be able to add/remove items from my Shortcuts add-in

Branch: feature/pref-shortcuts

Acceptance

  • Create simple Shortcuts editor preference page
  • Edit json file in text editor for first pass

Out of Scope

  • Pretty editor

[Settings] Load settings from App.Settings not singleton

As a developer, I want to prepare ourselves for IoC, so stop using our settings as a static class which is almost a singleton. Use Application.Settings property to keep the settings in-memory.

Acceptance

  • Convert Settings class from static class to regular class
  • Control settings from the Application.Settings property

Out of Scope

  • Implementing IoC if possible

[test][msgsender] Create a simple MessageSender test

As a developer, I would like to be able to loosely communicate between add-in host and extensions via a Message Sender. This allows us the ability to send a signal out to parts of our code and only listening parties can act upon it if they choose to do so.

For example, we want to refresh the System Tray after editing it. We wouldn't need IoC, just simply send a message to inform SystemTrayManager to refresh its menu cache and display it.

Acceptance

  • Implement a MessageSender
  • Create simple system tests
  • Use a sample external add-in

Out of Scope

  • Fully implementing it across all extension points

[addin][pref] List all add-ins so we can enable/disable them

As a user, I want to see all add-ins loaded into the system

Acceptance

  • List add-ins discovered by the system into the left side TreeView
  • Ability to enable/disable a selected add-in

Out of Scope

  • Displaying the node as sub-item of a category in the TreeView
  • Displaying graphical icon for enabled/disabled status

[setting] Create Preference page for app start-up methods

As a user, I want to have the ability to start ToolsHub when the system starts. Also, provide options for which method of auto-startup we should perform.

Acceptance

  • Create "General" settings page
  • Create a checkbox to start the app with Windows
  • Create a dropdown for startup method
    • Start menu (current / all users)
    • RegEdit (current / all users)
  • Save settings

Out of Scope

  • Getting too fancy

[core][addin][prefs] Internal preference database for core and add-ins

As a user, I want to be able to store application preferences for core and add-ins into a simple db system (sqlite?). This preference data manager will be used to save/load/reset settings. Consider the storage datatypes needed for storage. Perhaps, everything is a string?

Acceptance

  • Research options for data storage (sqlite, ini, xml, etc)
  • At the very least implement a string-based storage system

[addin][shortcuts] Load Shortcuts to SysTray via add-in

As a user, we should not be loading Shortcuts directly from SysTray class. Instead, we should be initializing it via Mono.Addins.

Acceptance

  • Fix SysTray ExtensionPoint class and attributes
  • Create Shortcuts Extension for SysTray, only providing target path

Tasks:

  • Create ExtensionPoint for /ToolsHub/SystemTray (SysTrayAddin)
  • Create extension using ShortcutsAddin class which is of IDisposable
  • [ ]

[design] Document and design SystemTray integration for Mono.Addins

As a developer, I would like to see the design document for how the app plans to implement the ExtensionPoint for SystemTray via Mono.Addins.

Acceptance

  • Create wiki document for integration plans
  • Create additional stories if need be

Out of Scope

  • Implementing code for changes

[stylecop] Follow XI's StyleCop rules

As a developer, we must follow the rules set forth by Xeno Innovations' StyleCop ruleset

Acceptance

  • Publish the rules file to our public gist
  • Modify all files to reduce warnings in accordance to the rules

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.