VSCodium instead of VSCode ?
- Edited
Indeed, that vs code is opened instead of your file browser is related to this issue on our tracker. Ebon Jaeger is working on it.
You can ressolve it yourself by running xdg-mime default org.gnome.Nautilus.desktop inode/directory
or xdg-mime default nemo.desktop inode/directory
in terminal depending whether nautilus or nemo is your file browser.
In other words: if you run xdg-mime query default inode/directory
before you run the command above, the output probably is something like com.visualstudio.code
. Can you confirm?
- Edited
Harvey It is possible our .desktop file for vscode having inode/directory causing Budgie to do stupid things.
I would have to try reproduce it in a VM.
The relevant information to this is all linked in the issue I posted above. GNOME dev's explanation for this in short:
That’s because your distribution is not shipping a list of default applications for common MIME types.
Some downstream distributors—like Fedora and Ubuntu—do provide defaults that match what they ship, but there are distributors that don’t want to make that decision, so whenever you install an application that handles a MIME type, and whose name comes before Nautilus in the lexicographical order, you’ll get that application as the default.
If you don’t have any defaults at all, I think GNOME will launch whichever comes first alphabetically. VS Code probably sorts alphabetically higher than nautilus (“com.visualstudio.code” vs. “org.gnome.Nautilus”). So there you have it. All major distributions ship defaults to prefer nautilus or their default file manager, except Arch. Maybe some other smaller distros don’t either
So yes, it is related to the inode/directory entry in the .desktop file.
Thank you. This means that VSCodium does not use mimetypes contrary to VSCode? because I uninstalled VSCode and installed VSCodium and currently, when I type the command xdg-mime default org.gnome.Nautilus.desktop
, it gives me:
org.gnome.Nautilus.desktop
Check the .desktop file it ships with. Our vscode one has MimeType=text/plain;inode/directory;application/x-code-workspace;
, which means that vscode is registered as a handler for all of those (the idea being that when you right click and pick "open with" that vscode shows up as an option). The issue is that Budgie and GNOME don't ship with default mimetype lists which means that Budgie and GNOME aren't configured to use Nautlilus/Nemo as the default inode/directory
handler.
That is very clear now. Thank you @ReillyBrogan . In the .desktop files of VCCodium, we have too:
MimeType=text/plain;inode/directory;application/x-codium-workspace;
.
Maybe I have already done the update that solves this issue (because if I understand, I may have the same issue with VSCodium since MimeType definition is almost the same as VSCode but I do not have any problem).
If vscodium has also inode/directory in desktop file, than I would guess that the name of the desktop file begins with a v or at least with a letter after o i alphabet (org.gnome.Nautilus.desktop).
GNOME will launch whichever comes first alphabetically. VS Code probably sorts alphabetically higher than nautilus (“com.visualstudio.code” vs. “org.gnome.Nautilus”)
So, whats the name of the vscodium desktop file. Just out of curiosity.
codium.desktop
, in 2 different paths:
/snap/codium/365/meta/gui/codium.desktop
/snap/codium/365/usr/share/applications/codium.desktop
- the first: 'gui' for graphical user interface (the installation location?)
- the second: in share, I suppose for all users (the file for all users?)
Ok, then seriously I don't know.
- Edited
You can disable all the Telemetry in VSCode before you even execute it with the following commands.
mkdir ~/.config/Code/User
nano ~/.config/Code/User/settings.json
While in settings.json, paste in the following JSON object.
{
"telemetry.telemetryLevel":"off",
"telemetry.enableTelemetry":false,
"telemetry.enableCrashReporter":false
}
Press Ctrl+X and then Y to save. This will turn off telemetry for errors, usage data, and crash reporting (visible setting) as well as disable the Telemetry and CrashReporter modules (hidden setting). I concur that telemetry should be opt-in rather than opt-out (default are important) but doing this should suffice for your needs.
Dzr9edKGjSLf I haven't used VS Code for awhile, but I do remember that with telemetry disabled, you still cannot install extensions through a Tor exit node, so while telemetry may technically be disabled, there's at least some sort of logging going on, or was.
More likely that the servers that host the extensions are just blocking known nodes.
Harvey
Just tracing back to this post for a second as I too had similar ideas as @touzain about VS Code in the Solus repository. I have started reading up on how licensing works to gain better understanding; as I understand it currently, in this case, Microsoft takes the 'VS Code' source under the MIT license and then bakes in their own software released under a Microsoft license.
Solus takes the VS Code source and builds it and release it with a GPL and MIT license. If I'm then not mistaken, the VS Code program in the Solus repository does not contain the telemetry?
I understand this is a very elementary question, but easily misunderstood for those new to open source software (OSS). I too am guilty of that, even after reading up a little on licensing. Perhaps my biggest question is what is different from VS Code in the Solus repository compared to the Microsoft VS Code. Is it vanilla from source or does the Solus team disable certain aspects?
In the meantime I am continuing to learn about OSS and licensing, this being one part of it.
- Edited
No, we are not changing the license it remains MIT. vscode
uses the MIT license, a permissive license granting:
Licensed works, modifications, and larger works may be distributed under different terms and without source code.
Source: https://choosealicense.com/licenses/mit/
Microsoft uses this ability to restrict what people may do with their builds. What modifications they make I have no idea they simply state:
Visual Studio Code is a distribution of the Code - OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license.
Telemetry remains enabled by default in our builds.
EDIT: I see what you mean regarding GPL. Its just because we are shipping a different icon with it, vscode license remains the same. icon license remains the same. No licensed works are changing license.
AmsterDan A Microsoft maintainer has stated that they build the project, which is MIT licensed, using a customized product.json and release this build, which they call the "Visual Studio Code product", under their EULA. However, we don't actually know what other proprietary modifications they could be making. product.json contains stuff like the license URL, app IDs, and built-in extensions.
Therefore, if you build VSCode then you're only getting the non-EULA version of it. This version is MIT licensed and has telemetry on by default. VSCodium is almost an exact clone of VSCode and exists for a few reasons:
- Provides the convenience of pre-built binaries under the MIT license.
- Removes telemetry by default.
- Removes Microsoft trademark branding (more so out of legal necessity).
BloodFeastMan This is because Microsoft doesn't control the third party extensions. Each one could enable telemetry and each one has its own license. There are definitely open source extensions, but there's also a number of proprietary options too. Microsoft also releases extensions, some are MIT licensed while others are under EULA.
https://code.visualstudio.com/docs/supporting/oss-extensions