Giter Site home page Giter Site logo

healthitau / ted Goto Github PK

View Code? Open in Web Editor NEW
44.0 2.0 7.0 118 KB

TED - Tag Every Desktop - is a commandline tool, inspired by the classic BGInfo, designed for MSPs to be able to display images and text programmatically on the desktop, positioned above the wallpaper but below the icons.

Home Page: https://healthit.com.au

License: GNU General Public License v3.0

C# 100.00%
csharp customization msp tool windows windows-10

ted's Introduction

Health IT Logo

TED (Tag Every Desktop) - a Health IT Project

TED is a commandline tool, inspired by the classic BGInfo, designed for MSPs to be able to display images and text programmatically on the desktop, positioned above the wallpaper but below the icons. It utilizes the bottom right corner of the primary monitor as the drawing area.

Features

  • Display images and text on the desktop
  • Ability to specify different images based on perceived desktop luminance. Font color also adjusts between black or white based on perceived desktop luminance.
  • Substitute system values in the text with special tokens
  • DPi Aware
  • Customizable with a variety of commandline switches
  • Designed for deployment via an RMM

Requirements

  • Windows 8 or later

Limitations

  • Due to the nature of how this software draws, it will not work in a remote desktop environment due to rendering differences. You'll observe artifacts such as the image and/or text rendering then disappearing, smearing, or disappearing once moused over.
  • As above, when the user changes desktop scaling, wallpaper, or resolution, the image will disappear.

One of the only ways I believe to get around these limitations would be to have TED run in the tray and redraw frequently and on Windows events (wallpaper changed, resized, etc.), but that's not something that's planned for the time being. PR's welcome!

Installation

Download the latest compiled binary for TED. You can find the latest downloads for TED below - this ensures your RMM always grabs the latest version!

We recommend managing and deploying TED via your RMM.

Usage

TED supports the following switches:

  • -i or -image: Path or URL to the image to be drawn.
  • -di or -darkimage: Path or URL to the image to be drawn when the perceived desktop luminance is light.
  • -li or -lightimage: Path or URL to the image to be drawn when the perceived desktop luminance is dark.
  • -f or -font: Name of the font to use. Default is Arial.
  • -fs or -fontsize: Font size in pixels. Default is 8.
  • -ls or -linespacing: Space between text lines in pixels. Default is 8.
  • -hp or -hpad: Horizontal padding amount in pixels. Default is 10.
  • -vp or -vpad: Vertical padding amount in pixels. Default is 10.
  • -w or -width: The width of the image when drawn, in pixels. By default this is -1.
    • A value of -1 disables fixed width scaling and instead uses automatic image scaling to resize (respecting aspect ratio) the image to the size of the longest line of text.
  • -a or -align: How the text should be aligned. Default is Left. Accepted values are Left, Center or Right. Not case-sensitive.
  • -line: The text to be drawn. This switch can be repeated multiple times to draw multiple lines of text. It can contain special tokens: @userName, @machineName, @osName and @osVersion. These tokens get substituted at runtime with system values for the operating system, current user, and machine name. If no lines are provided, it will render with the following by default:
    • "USERNAME: @userName"
    • "MACHINE NAME: @machineName"
    • "OS: @osName"

Examples

We've provided an example PowerShell script to make deploying with your RMM quick and easy. You can find the script here.

TED is a CLI tool and can be called like so:

ted -di path/to/dark_image.png -li path/to/light_image.png -f Arial -fs 14 -ls 5 -hp 10 -vp 10 -line "Hello, @userName!" -line "You are using @osName on @machineName."

In terms of real world usage, we've found this to be a fantastic tool for helping clients quickly identify key information about their machine whilst on the phone with them.

TED Screenshot 1 TED Screenshot 2

Adding Tokens

Adding Tokens to the text system is simple, but will require editing the source and compiling your own binary. Tokens are stored within TokenLookup inside Tokenizer.cs, found here.

Simply add to this dictionary your token as the key and what you'd like to subtitute it with as the value. Compile, and use your new tokens!

Contributing

Contributions to TED are welcome! If you find any issues or have suggestions for improvement, please feel free to open an issue or submit a pull request.

Supporting the project

❤️ the project and would like to show your support? Please consider donating to the following charities:

License

This project is licensed under the GNU General Public License v3.0

Contact

For any inquiries or further information, please contact the developers:

ted's People

Contributors

chrisdeke avatar yoshify 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ted's Issues

Windows Scaling shifts TagEveryDesktop out of the corner

If the device's Scaling is adjusted from the Windows "Recommended" setting, TED will not be in the corner anymore; have seen it just shifted horizontally, and have also seen it shifted directly diagonal from the corner. Have seen this behavior on Windows 10 22H2 and Windows 11 23H2.
https://github.com/HealthITAU/TED/assets/150263565/497d67ce-d821-4c01-8dfe-c4db2f6a3dea
https://github.com/HealthITAU/TED/assets/150263565/c3df5fbc-2be9-4c70-8501-94430c04c1d6

Disappears from desktop in Windows 11

Seems like devices on Windows 11 consistently (but randomly, if that makes sense) lose the TED "drawing" without the background being changed or Windows Explorer being restarted. Have seen this behavior on the 22H2 and 23H2 builds.

Feature Request: additional formatting options

I think this tool is great! I'd be interested in additional inline formatting options - ie being able to bold or underline inside the line itself. Not sure if HTML or Markdown can be used for that. I may explore and try implementing this myself.

Feature Request: Additional Tokens

Hello!

The selection of tokens is nearly perfect- one additional one that we'd love to see would be OEM Serial number.
A solid example of this would be displaying Dell's Service Tags in the text section, allowing users to give us a more persistent identifier to find their machine.

I think this could be implemented with WMI, though I haven't looked at how the others are retrieved yet.
Might make a PR for it over the weekend if I get bored :)

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.