Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to modify Context Menu entries from GUI #133

Open
archit9169 opened this issue Jun 27, 2020 · 9 comments
Open

Add option to modify Context Menu entries from GUI #133

archit9169 opened this issue Jun 27, 2020 · 9 comments
Assignees

Comments

@archit9169
Copy link

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.

@bastianeicher
Copy link
Member

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.

@archit9169
Copy link
Author

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.

@bastianeicher
Copy link
Member

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.

@archit9169
Copy link
Author

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.

@bastianeicher
Copy link
Member

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.

@archit9169
Copy link
Author

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.

@bastianeicher
Copy link
Member

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.

@archit9169
Copy link
Author

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

@bastianeicher
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants