-
Notifications
You must be signed in to change notification settings - Fork 234
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
Chocolatey package #379
Comments
https://docs.chocolatey.org/en-us/create/ |
I am the maintainer of the Notepad3 Chocolatey package (and many other packages), and I would be happy to establish/maintain a package for this Notepad2 fork. As a long time package creator who is fairly familiar with the culture of the public repository, I don't think this fork should supplant the Notepad2 (original) or Notepad2-mod packages. I would much prefer to start a new package using the new name, whatever that will be. I will want to make the package a machine-wide install because in my experience (personally and in my real job), using Chocolatey for user installs ends up with a giant mess. (IMHO, at a minimum, even single-user machines should have an unprivileged, "daily driver" user which means, when the admin account runs a Chocolatey install, it is not available to the unprivileged user.) That means, either the INI file location needs to be in Let me know your thoughts. |
I updated #405 (comment) to reflect actual INI folder search order in code (in |
My thinking is that it will be easier to uncomment the first two lines of Notepad2.ini in the program directory. That way, upgrades don't need to worry about checking for and/or overwriting individual user preferences. What happens if the Notepad2.ini directs Notepad2 to use/save preferences in the user profile but there are no settings files in the user profile? Does Notepad2 create the files as needed in the proper location? Also, I need to know the new "official" name. It's your project, and you've gotten comments on suggested names. In the end, you just have to pick something because nothing will please everyone, and it's more important to have a name than to wait forever for the perfect name. 😄 |
It behaviors as no INI files, INI from program folder is not used. however changes will be written into redirected INI path instead of program folder. |
The problem with the copy-into- Say, AdminGuy installs this yet unnamed (hint, hint) Notepad variant and the Chocolatey script copies the INIs into AdminGuy's profile. When NormalDude logs back in, he won't have the INIs and neither will any new login users. Alternatively, the Chocolatey script copies the INIs into the default profile. When RegularGal logs in for the first time, she will have the settings, but neither AdminGuy nor NormalDude will have an INI since they already have profiles. The benefit of redirecting the INI path from the source and to a "blank slate" is that everyone (existing profile or not) gets the same, default settings, and any preferences they set will be saved in their profile without risk of being removed/changed by an upgrade (or even uninstall/reinstall). So, the question in my mind is: Are the default settings with no |
If I'm understood, this appears will need some changes in source code: when INI redirection is enabled (with |
Whether the code needs changed or not depends on the answer to the question: If the INI in the exe folder location has an uncommented line, If the answer is "yes" to both of those, then the code does not need changed. If the answer is "no" to either, then I do think a code change would be necessary if you want this Notepad2 flavor to work "properly" for all users of a machine. The change you suggested would be one option. IMHO, a better choice would be for all the settings contained in the default INI to be in-place without an INI. Only if a user makes a settings change in the GUI would the software create an INI. Maybe it could also test if the program/exe directory is writable by the current user ticket. If it is writable, then create the INI in that directory unless there is a setting to use a different path. If it is not writable, create the INI in the |
Both are yes, Notepad2 and metapath works perfectly without any INI files (which is the case when |
Maybe the default |
That seems complex, I see Notepad3 has more theme files, maybe "Notepad2 DarkTheme.ini" can be packaged/distributed using the same method? |
I guess? TBH, I didn't even realize Notepad3 had themes. That has never been of much interest to me in any app. I think you could still use the test-for-modify-rights method. IOW: store all the default theme settings files in the application directory. If someone chooses a non-default theme, use it. If they want to adjust the theme, test if they have modify rights to the "themes" directory. If they do, go ahead and change that default file. If they don't have modify rights write either just the changes to an INI file within their userprofile or write the entire theme + any changes to their userprofile. That way, current users who just unzip to their desktop or documents folder could continue to work as they have and machines with it "installed" would work for multiple, unprivileged users. |
Any progress or further thinking on this? For my part, there are two "roadblocks":
The latter can be (mostly) dealt with in the installation script, so to get a start on a Chocolatey package all I really need is the choice of name. |
Sorry, but no progress. I think these INI files can be packaged same as Notepad3? |
any updates on this chocolatey package? @zufuliu |
No progress. As I don't use these package managers, needs someone to work on, maybe similar to winget supporting. |
winget 比 chocolately 好用,但是不支持Win7 |
winget is either lack of packages or out-of-date. |
Pull the trigger on (e.g. choose) a name (other than "Notepad2"), and I'll work on constructing a package. |
How about |
I can use that, but it's rather long. The name poll has "Notepad2z" as the winner. Is there a reason you don't want to use that? Whatever name you want, it would be best if this repo were renamed to match. |
I don't want to change the binary names (Notepad2.exe and metapath.exe), which requires huge source changes (mostly renaming), and breaks end users with system integration enabled. How about |
That doesn't really answer my question (and you have no obligation to do so). Note that the naming discussion and poll were/are not about the binary name, but the project name. Lots of program binaries don't match the product/project name. It's your baby, so if you prefer to name it "Notepad2-ng" rather than whatever the un-invested and fickle public think, that is your choice. |
v24.07 is released with new program name Notepad4 and matepath, @teknowledgist please let me know when you have Chocolatey install instruction, so I can add it on release page. |
OK. I just submitted the notepad4 package to the public repository. You can view it at https://community.chocolatey.org/packages/notepad4 It can take a few weeks for the moderators to review and approve a new package, so it will not be normally available or discoverable until that time. I made it an "embedded" package which makes it easier for Chocolatey users who may have more restricted networks, but that means it is limited to the English, "low-res" builds. It will be a lot more complicated to make the package work with all the other languages/options, so I'm not going to do that yet. The package uncomments This is not my preferred method of making it both available to all users and "personalizeable" because any users who have existing profiles and are not the installing user will not be able to save changes to the settings because they do not have the INI files already in their profile. Ideally, if the "base" INI files that live with the executable point to the user profile location (i.e. the |
Thanks. it seems here are failure or false-positive for the package.
|
I think it's false-positive by Antiy-AVL: https://www.virustotal.com/gui/url/6ba6e445b5fae96395669a78087be43f3a89362911d616065501366d16fb9a65 |
Only 1 flag out of 69 is not really anything to worry about. The moderators generally don't start getting nervous until the number gets over 5. |
The package is now approved, I added @teknowledgist how about adding AVX2 build into the package? Most CPU (since 2013) and systems (64-bit Windows 7 SP1 or Windows Server 2008 R2 SP1) are capable to run AVX2 version. |
I can work on including more of the options, but I'd like a bit of additional info about them. For example:
The ultimate goal here is to get the user the "best" version for their system without them needing to know a lot of details about their system. Users just want to easily install and uninstall and play with/select options after the fact. Making them think about what they can use/want ahead of time just makes them less likely to try it. Thanks |
I can answer the i18n question and that has to do with localization, language etc. |
|
Basically, what I'm trying to encourage here is to consolidate to a few builds as possible. If you can combine these options so that a single pair (x86/x64) of binaries can be used (the defacto standard for Chocolatey), it will make it a lot easier for everyone involved. If the single-language builds aren't necessary, you drop from 63 assets per release to 13. If you also combine HD and low-res, it drops to 10 (and the Chocolatey package doesn't need to mess with 5 of those -- code and FindInFiles). Sorry if I'm being a PITA! 😄 |
|
@teknowledgist Can we just default AVX2 version for x64? Older processors can pick btw, thanks for your work on this! |
@zufuliu Or can we enable AVX2 as default and standard to x64 architecture? That'd make your build work easier. Most of the Windows machines should have AVX2-built-in processors, since it was introduced in 2013 (no Windows machines can run for more than 10 years PLUS a need of using alternative notepad). |
No, but chocolatey (used by advanced users) package could just use AVX2 build. |
Although this is officially closed, I wanted to let anyone "watching" know that I have an update. I apologize it took me so long to work through how to do it, but the Chocolatey package now has the AVX2 flavor embedded (instead of x64). More importantly, it will check on the processor capabilities and if the two embedded installers (multi-language, Win32 and AVX2) won't work, it will instead download and install the best flavor. In addition users can chose any of the single-language flavors and/or to install Low Resolution (HD is the default). As far as I know, this is the only Chocolatey package that checks for AVX2/ARM and installs the appropriate build. I have scripted the package updates, so it should be simple to keep up with any releases and all their flavors. Although the description on the community package will have to be manually updated if any additional single-language options come along in the future, the language install option should work automatically if the user knows the language code/abbreviation. Let me know if you add any languages or remove the low-res option so I can change the description (and code if necessary). I don't normally check on release notes as I have too many other packages and the package update process is automated. |
Thanks for maintain the Chocolatey package.
de (German, Deutsch) and ru (Russian, Русский) will be included in next week's v24.11. |
I created #914, you can post news here. |
改名之后建一个 Chocolatey 包吧,Notepad3 已经在上面了
https://community.chocolatey.org/packages?q=notepad2
Originally posted by @Mapaler in #346 (comment)
The text was updated successfully, but these errors were encountered: