bobvul / growltotoast Goto Github PK
View Code? Open in Web Editor NEWSends Growl notifications to Windows 10 toasts
License: MIT License
Sends Growl notifications to Windows 10 toasts
License: MIT License
Unfortunately Panda Endpoint Protection considers this as a virus. :-(
From #2:
You might want to think about scaling the images. As you can see in my attachment, the standard notification display scales the image to fit the quadratic frame. This is only an issue if the source application uses non-standard aspect ratios, so not strictly necessary if you assume to work with applications keeping to standard growl formats.
I don't actually know if Windows will crop or scale down too-large images, so this needs some testing.
Could probably pad extra space with transparent background to preserve aspect ratio.
Would it be possible to include Application images in the notifications like Visor or the default Notifications do it? This makes quickly identifying notification types a lot easier.
I'm getting the following error on launch. How can I get around this?
2019-07-01 09:53:01.063 +02:00 [ERR] Encountered exception, quitting
System.ArgumentNullException: Value cannot be null.
Parameter name: value
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at GrowlToToast.Toaster.Program.GetMessage(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 151
at GrowlToToast.Toaster.Program.<>c.<Main>b__2_0(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 47
2019-07-01 09:54:08.665 +02:00 [ERR] Encountered exception, quitting
System.ArgumentNullException: Value cannot be null.
Parameter name: value
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at GrowlToToast.Toaster.Program.GetMessage(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 151
at GrowlToToast.Toaster.Program.<>c.<Main>b__2_0(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 47
2019-07-01 09:55:23.171 +02:00 [ERR] Encountered exception, quitting
System.ArgumentNullException: Value cannot be null.
Parameter name: value
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at GrowlToToast.Toaster.Program.GetMessage(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 151
at GrowlToToast.Toaster.Program.<>c.<Main>b__2_0(Options options) in C:\Users\User1\Documents\GrowlToToast\src\Toaster\Program.cs:line 47
Because Growl itself is .NET 2.0 (3.5) while Win10 Toasts require 4.0 (4.5/4.6), we need to send messages between the in-Growl DLL and the ex-Growl exe.
Unfortunately, the command line argument as in the original design is not long enough for some images, as in #2.
The stdin messaging introduced in #2 does not appear to be completely reliable, at least in 1709 in some cases.
Need to find a better way. Perhaps named pipes with a persistent Toaster?
process.standardInput encoding problem - don't show cyrylic
Solution:
StreamWriter utf8Writer = new StreamWriter(proc.StandardInput.BaseStream, new UTF8Encoding(false));--disable bom characters
utf8Writer.Write(...);
utf8Writer.Close();
GtT 2.0
Windows 10 Pro v 1803
Growl 2.0.9.1
MultiDroid notifier 0.51_x64 - https://code.google.com/archive/p/android-notifier/downloads\
Windows Java v 1.8.0_171
Android P preview on Google Pixel
Remote notifier 0.2.8
PC > Growl > Display > GTT > Preview > works as expected
Android > Remote notifier > Send test notification > works as expected when display set to (notGTT)
Android > Remote notifier > Send test > Error (see screen dump below, but no log file created at the file location in the first line)
please to add other font support example arabic
As reported by @gimjun at #25 (comment)
Currently empty images result in an exception and no notification shown.
Makes #14 work bettererer.
Looks like the way I'm currently doing it (without start menu shortcut) shouldn't work. But it somehow does.
???
I just wanted to say thank you so much for making this, I had still been using growl, and I hated that it wasn't integrated with the new action center. So thank you SOOO Much for doing this ๐
Hi
great work on this.
Should callback to the originating application be working?
Is this possible and therefore could this be included in future developments?
Hey man, thanks for making this Display for Growl-for-Windows.
It was super easy to install - just pasted the unzipped folder into the Displays folder of Growl, set it as default, and I was up and running!
Would it be possible to integrate the notifications into Action Center?
(So that, once they slide out of screen, if I miss the notification it'll be waiting for my attention in the Action Center!)
Thanks for your time and effort, and for putting this out for free!
In order to support callbacks (#4) we need to keep something running to receive clicks and report back to Growl.
Most likely will just be a windowless application with maybe a notification area icon. It should be per-user, so no system-wide service. Will likely need #9 to communicate with Growler, plus a mutex to single-instance it.
From #15.
Because the Growl detector API lies and gives me the wrong path. It should be in common files instead.
Will either fix or remove the system-wide install option. It might not be worth the trouble.
Currently we leave a lot of temp files lying around - one for each image. While they can be cleaned up using the Disk Cleanup utility, it's better if we tidy after ourselves.
(note to self to add a check tomorrow)
I have some growl notifications that are generated using GNTP Python Library. The link I had specified for the icon image was incorrect and this prevents the notifications from being displayed.
Currently errors are silently swallowed, or crash Toaster.
It's probably better if Toaster logged the messages and stack traces somewhere so they can be reported and fixed.
Also show a messagebox so the user is aware that a notification should have happened.
Should hopefully make issues like #6 easier to diagnose.
This will likely be a two-stage installation: an MSI installer to unpack the application into Program Files (along with a start menu shortcut to fix #11), and a custom application to find and install the Growler (Display) component into the Growl folders.
Unfortunately there is no good way to migrate existing installs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.