0install-win icon indicating copy to clipboard operation
0install-win copied to clipboard

Add option to modify Context Menu entries from GUI

Open archit9169 opened this issue 4 years ago • 9 comments

Add option to modify Context Menu entries from GUI. Currently if I have to modify the description from "open with" to "edit in" or if I have to add "&" behind a specific word or quick select, I have to download the feed file and edit the entries and then load it in ZeroInstall manually.

archit9169 avatar Jun 27 '20 12:06 archit9169

Hi @archit9169, thanks for the feature suggestion. I like the idea of giving user's the same level of customizability for context menu entries as they already get for start menu entries.

Since this would require a larger change to the app-list.xml file format while requiring backwards compatibility, implementing may take a little longer though.

bastianeicher avatar Jun 28 '20 07:06 bastianeicher

I can understand that and I will await for it. By the way can you direct me to some sites or doc's that can help me get started on c# development for windows so that I may be able to give additional help in development of this project.

And is there any way that I can change the location of desktop-integration and other folders of 0install to a seperate drive? Currently I am using symlinks to point to default locations while my files are elsewhere on a seperate drive.

archit9169 avatar Jun 28 '20 08:06 archit9169

The almost inevitable first step for C# development on Windows is installing Visual Studio 2019 (the Community Edition is free). This provides both a decent IDE as well as all the SDK-like components you'll need, even if you choose to use a different IDE like Visual Studio Code.

Microsoft provides some tutorials to get started with C#. For getting into the Zero Install codebase, focusing on https://github.com/0install/0install-dotnet and ignoring https://github.com/0install/0install-win in the beginning will keep things a lot simpler.

The various locations where Zero Install stores files are documented here. Currently only the implementation cache can be configured to use a different path.

Do you symlink your files to a different drive to preserve them when reinstalling the OS? In this case a good alternative to moving the desktop integration files is using Zero Install Sync. This works across multiple machines (or as a backup for a single machine) and makes sure the Windows registry entries stay in sync with the contents of app-list.xml.

bastianeicher avatar Jun 28 '20 18:06 bastianeicher

Do you symlink your files to a different drive to preserve them when reinstalling the OS? In this case a good alternative to moving the desktop integration files is using Zero Install Sync. This works across multiple machines (or as a backup for a single machine) and makes sure the Windows registry entries stay in sync with the contents of app-list.xml.

Yes that is what exactly i am trying to achieve. A separate drive with all my configuration that i can re-configure if or when i format my device. So i have moved my whole android development software there, visual studio 2019 too is on that separate drive. The only thing left are the bare essentials and other programs like 7zip, lzip, anyother tool that i use etc. ZeroInstall really help with that as i can manage more software easily and alongside this i am also using scoop to manage other software that have no feed on ZeroInstall.

I tried that sync method but it only works for an online server and not local drive/folder. Any new Implementation folder also does not make it default location, so symlinks for that right now. I do have an online sync for emergency.

And Ill probably posting a lot of issue because i am going to be creating many more feed of any important software, Ill also try to get a good grasp on C# so i can push some pr.

archit9169 avatar Jun 29 '20 02:06 archit9169

You can configure Zero Install Sync to use a local directory like this:

> 0install config sync_server D:\0install\sync
> 0install sync --reset=server

You can add a new implementation cache directory like this:

> 0install store add-dir D:\0install\cache

You can see the order/priorities of all cache directories like this:

> 0install store list
ReadWrite: C:\Users\Bastian\AppData\Local\0install.net\implementations
ReadOnly: C:\ProgramData\0install.net\implementations
ReadWrite: D:\0install\cache
Connection to Store Service (if available)

Read priority goes from top to bottom and write priority from bottom to top.

bastianeicher avatar Jul 03 '20 10:07 bastianeicher

You can see the order/priorities of all cache directories like this:

> 0install store list
ReadWrite: C:\Users\Bastian\AppData\Local\0install.net\implementations
ReadOnly: C:\ProgramData\0install.net\implementations
ReadWrite: D:\0install\cache
Connection to Store Service (if available)

Read priority goes from top to bottom and write priority from bottom to top.

Correct me if i am wrong but if write priority goes from bottom to top then that would mean any new dir added will become default automatically, right? By the way is there any options to change this priority order? Like make a certain implementation have higher priority if multiple dir are present.

archit9169 avatar Jul 03 '20 10:07 archit9169

Correct me if i am wrong but if write priority goes from bottom to top then that would mean any new dir added will become default automatically, right?

That's right, 0install will always try to write to manually added cache directories before falling back to the default location.

By the way is there any options to change this priority order? Like make a certain implementation have higher priority if multiple dir are present.

You can modify the list of cache directories by editing the file %appdata%\0install.net\injector\implementation-dirs. However the default location (%localappdata%\0install.net\implementations) is not listed in this file and is always implicitly at the top.

bastianeicher avatar Jul 06 '20 19:07 bastianeicher

Do you guys have a separate forum or discord server for long discussions?

archit9169 avatar Jul 09 '20 14:07 archit9169

We have a mailing list for suggestions, questions, etc..

bastianeicher avatar Jul 09 '20 15:07 bastianeicher