Skip to content
This repository has been archived by the owner on Aug 29, 2020. It is now read-only.

Integrate Luna into Microsoft PowerToys as a PowerToy? #17

Closed
ghost opened this issue Mar 20, 2020 · 8 comments
Closed

Integrate Luna into Microsoft PowerToys as a PowerToy? #17

ghost opened this issue Mar 20, 2020 · 8 comments
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed invalid This doesn't seem right

Comments

@ghost
Copy link

ghost commented Mar 20, 2020

Hi!

I love automatic theme switching that open source solutions offer in general, and Luna in particular.

I also love Microsoft PowerToys and remembered a feature request that looks like something that the Luna project could contribute to. It's this issue: microsoft/PowerToys#1331 .

My suggestion is to integrate Luna into PowerToys as a separate PowerToy. I believe both the project and the user would benefit from this. The project would probably gain more traction, support, feedback etc. And I think the user would benefit from the ease of using PowerToys, having one less installation on their PC and the discoverability of the project.

What do you think?

@adrianmteo
Copy link
Owner

adrianmteo commented Mar 20, 2020

@irafaz This is a great idea! I will take a look and see what I can do 😄

Update: At a first glance at their repo there are some concerns:

  • In their goals they said that PowerToys uses public APIs only which I think this might be a stopper
  • Their project is in C++ - I have experience with C# and help is for sure needed

@adrianmteo adrianmteo added documentation Improvements or additions to documentation help wanted Extra attention is needed invalid This doesn't seem right labels Mar 20, 2020
@ghost
Copy link
Author

ghost commented Mar 20, 2020

@adrianmteo ouch, didn't even look into that.

Hopefully a potential Power Toy could force Microsoft to develop public APIs for such tasks? That would also benefit all of us, I assume?

I'll happily keep using Luna as it is until Microsoft develops something either for PowerToys or for Windows 10 😊

@niels9001
Copy link

@adrianmteo

Some modules of PowerToys are in C#, so C++ doesn't need to be there. Additionally, I think Luna would live in the PowerToys settings menu which is using WPF (and UWP with XAML Island) so porting this over should be straight-forward!

Public APIs is an issue - @crutkas could you comment on this?

@adrianmteo
Copy link
Owner

This will not be implemented. Closing this ticket.

@crutkas
Copy link

crutkas commented Apr 24, 2020

PowerToys won't use private Windows APIs. if something needs to be public, we can work together to create a wrapper DLL so calls are done in a way that is appropriate.

@adrianmteo
Copy link
Owner

Luna uses private API calls, PowerToys not. The decision is purely because I want the app to be independent and have the flexibility as a developer to take it in which direction I want.

@crutkas
Copy link

crutkas commented Apr 25, 2020

Totally understandable

How about we discuss what said APIs you are using that are undocumented APIs :)

There may be public ones that do the same or lets start the long road of making them public / a public api around them.

[email protected]

@adrianmteo
Copy link
Owner

@crutkas I like your interest of making Microsoft products better 😃

Besides TaskScheduler and Registry, I use an internal .exe used by Windows Aero developers (here) that changes the Windows theme based on a .theme file. From what I've seen it's not possible without having the Windows API itself modified (or at least from what I've read). Settings + Control Panel have this ability.

Secondly I use DLLImport here but I don't think that those are private API calls since they are documented.

Lastly I want to work on changing other apps to dark mode automatically, like Microsoft Office, maybe Visual Studio. Office seemed like a simple Registry edit but the theme is not persisted.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation help wanted Extra attention is needed invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

3 participants