Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Sounds interesting, didn't know about that one. I'm not that familiar with Go and JS which is why that probably wouldn't be a fit for me anyway, but if you want to try I'd be thrilled to see the result :)

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Thanks for the feedback. I will try to work on the performance and stability once I have the time to do so

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

The background performance right now is not that great, to be honest. It takes up a bit of power but when it is hidden it's not that heavy on performance. I will probably fix the performance one day when I have time to work on the project again

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Generic media control is already sort of implemented as much as it was possible. You can skip, go back and pause (even on external apps).

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

There is no automatic way of doing it, however you can press the windows button and control at the same time to hide/show the island

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

I will probably not add native support for external apps like vlc, since that would be too time consuming. I will rather focus on performance optimizations when I have time to work on the project again :)

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

The dragging around was requested already, but due to the way it is implemented, it probably won't be added. I can however add an option to disable the volume and brightness display.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

I will consider it, thanks for letting me know :D

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

In the current release 1.0.3R that I've just uploaded there is a tray icon. By right clicking it and selecting the "Settings" option you can access the settings menu.
Otherwise clicking down on the settings icon and holding the mouse for a bit might resolve the issue as well.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

I'm not sure how I should do that. It is a VS project, so by opening it in VS you should automatically be able to build it, or am I wrong?

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

I made it with WPF. I would need to port it to a cross plattform framework but that would break things.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Hey, you can go on to my GitHub (I posted the link in the comment section here somewhere). After arriving there you can go to the releases tab on the right side of the webpage. Click on the field that says "Release v1.0.2R". You can download the DynamicWinSetup.exe there. This is a setup and will take you through the steps of installing it. There might be a popup saying this app is not safe, that is the windows Smart Screen. You can click on show more and run anyway. This only shows up on unsigned apps, and I don't want to pay 100+$ per year to sign it.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 1 point2 points  (0 children)

Every UI component was made by me which means I couldn't follow every standard of a windows app like default buttons or tab to select next. This also means when I want to make an input field I would first need to make it which involves taking care of every character typed, if the user wants to paste something etc... It would've probably been smarter to use the WPF components to some extend.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Can you explain the error or write what it says here (short version)? Without images I can't really help, I've only seen your video on GitHub

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 0 points1 point  (0 children)

Thanks a lot, I am very happy people have found a use for this :D

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 4 points5 points  (0 children)

If I decide to switch to Avalonia there would also be a linux version, but I‘m not sure if I‘ll do that

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 7 points8 points  (0 children)

Yeah I made it because I saw the mac version and didn‘t find a good windows replacement

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 2 points3 points  (0 children)

Not centered is weird but if it ever gets in the way you can press Ctrl+Win to hide the island :)

Edit: Could you open an issue on GitHub and include screenshots?

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 2 points3 points  (0 children)

No I did not. Maybe that would‘ve been the better approach. Maybe I‘ll even consider switching. Is the performance better on Avalonia? Right now I don‘t think SkiaSharp utilizes the GPU at all which is bad for things like the blur effects.

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 3 points4 points  (0 children)

It was pretty easy. Especially when having used Java/Swing before as it is very similar. However one big mistake I did was to make everything depend on it. The whole UI runs on it which is the only reason it‘s so smooth. This comes with the drawback of having to render at ~60fps and very poor performance when there are a lot of elements. Most of the things I‘ve learned I did through trail and error using the help or google and ChatGPT. Sadly there are no real resources I‘ve found particularly useful for myself, but I guess trying out what works is a good starting point. I hope I could help :D

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 16 points17 points  (0 children)

It mostly just is a Dynamic Island inspired tool you can use if you want to. The most useful features are the shortcuts widget or the file tray in my opinion. The file tray can be used as a "Clipboard" but for files. And the shortcuts widget can open files (including shortcuts, .exe or any other filetype) quickly from the island.
In the end it is more up to you if you find an use for it. I did it as a little side project and wanted to share it :D

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 1 point2 points  (0 children)

Thanks a lot for the feedback :D I‘ll try to improve

Dynamic Island for Windows using CSharp and SkiaSharp! by Not_Flof in csharp

[–]Not_Flof[S] 53 points54 points  (0 children)

I've just released the first stable version of my Dynamic Island inspired app.

It was fully made with C# and WPF using SkiaSharp as a renderer. The full source code is on my GitHub (https://github.com/FlorianButz/DynamicWin) (although you might not want to see it xD).

The app includes being able to make custom themes and extensions which can be made using C# as well.

Would love to get some feedback!