Community
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • S

      autoupdater and connection temp.sh

      Watching Ignoring Scheduled Pinned Locked Moved Security
      34
      0 Votes
      34 Posts
      18k Views
      PeterJonesP

      @josephskit said in autoupdater and connection temp.sh:

      on the 2nd of december. Was the update still provided by the compromised server on that day?

      Since the website remediation was “completed by the provider by December 2, 2025”, it presumably depends on what time of day it was when your update ran, and in what timezone you are in. Since you are on the borderline day, the best practice, as stated above, would be to manually download and install the v8.9.1 installer.

    • Thorsten HeuerT

      Feature Request / Question: Soft Wrap at Vertical Edge (Column 80) regardless of window size

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      15
      1 Votes
      15 Posts
      480 Views
      Alan KilbornA

      @PeterJones said:

      I wish I knew of a notification that was better suited to just-on-resize

      Hook the message loop and look for WM_SIZE messages?

    • Min LiuM

      Freezing when pasting large amount of text between quotes or heredoc (language PHP)

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      13
      2 Votes
      13 Posts
      501 Views
      Min LiuM

      @mpheath Cheers thank you for the detailed explanation! i will give this a go.

    • W

      The problem with notepad.runMenuCommand

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      10
      1 Votes
      10 Posts
      583 Views
      W

      @PeterJones said in The problem with notepad.runMenuCommand:

      Simple and light is often the opposite of universal.

      This is often the case, but not always.

      @PeterJones said in The problem with notepad.runMenuCommand:

      If you solution is “universal enough” for you, fine;

      Of course, when there is no ideal option, you have to choose the one that is most suitable for the situation.

      @Alan-Kilborn said in The problem with notepad.runMenuCommand:

      Good luck achieving all of those all of the time.
      Or do you have a “pick any 2” or “pick any 3” type rule? ;-)

      Thanks. It happens to everyone at some point ;)
      But it must be universal and fast, even if it means making the code complex.

    • donhoD

      Notepad++ v8.9.1 Release

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      9
      6 Votes
      9 Posts
      7k Views
      PeterJonesP

      @mpheath said in Notepad++ v8.9.1 Release:

      I am unsure what you fixed.

      @mpheath, the user had outdated themes, which didn’t have the KEY style for either Langage:INI or Language:Properties. When v8.9.1 brought in all those style entries for the INI and Properties lexers, it began properly formatting those styles rather than ignoring those styles that weren’t defined in the themes. This was the intention of the new style-updating feature: it is intended to bring all themes up-to-date, so that they can format all the styles that users have not been seeing for years (for some, it’s a decade or more of missing syntax highlighting).

      @Drift91: As with all styles, if you don’t like the formatting that is chosen by default for a given style, you are free to change it for yourself. You go to Settings > Style Configurator > Language: INI or Language: Properties, select Style: KEY and change the Italic checkbox, as shown here for INI: 4b2d19b9-b707-4bc0-a668-3b1acb7041c8-image.png

    • S

      Is it possible to scroll up/down with middle-click ? And/or move other view separator left/right ?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      8
      0 Votes
      8 Posts
      320 Views
      S

      @PeterJones

      Hello,

      Here is a demonstration of what altsnap does

      You can press the ALT key, or the “hot click” which on my mouse is mouse button #5.

      And this allows moving and resizing a window from anywhere.

      https://youtu.be/Wzt7hSyGGmc

      It is very ergonomic as you don’t have to position the cursor on the thin window edges.

      I think this is quite rare and cutting edge practice, most people I think just maximize their window and use one application at a time.

      But I have a very large desktop of 4x 40 inch 4K monitors and I needed more efficient way to move the windows around.

      As for the scrolling, there are two “middle-click” based scrolling methods I know about. There’s the autoscroll round thing which I don’t really like, it’s like using a thumbstick. It’s good if you want to let it scoll at a constant speed like the text scroll at the beginning of star wars but it is otherwise clumsy and slow to use, not “dextrous”.

      I prefer the “scroll anywhere” method which is similar to like you would scroll a touch tablet interface.

      I demonstrate both of these modes here

      https://youtube.com/shorts/yHuWI4f1rOg

      So, what I am asking is like scroll anywhere but in a left-right direction to move the center divider around.

    • Dean MacinskasD

      Where is the Plugins Admin?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      7
      0 Votes
      7 Posts
      454 Views
      Karlo-FK

      I’m guessing that GUP.exe and/or nppPluginList.dll somehow wasn’t updated before.

    • 4614

      I want to make columns and rows like Microsoft Excel and I want strikethrough

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      6
      0 Votes
      6 Posts
      264 Views
      4614

      @PeterJones Ok, Thank you. I see now Microsoft Excel is the way to go!

    • Troglo37T

      Is There a Way to Prevent Pasted Text from Spreading Out with Rows of Spaces?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      150 Views
      PeterJonesP

      @PeterJones said in Is There a Way to Prevent Pasted Text from Spreading Out with Rows of Spaces?:

      implementing it in PythonScript today

      Thankfully, I found an old script which did something related, which was easy to update.

      # encoding=utf-8 """in response to https://community.notepad-plus-plus.org/topic/27385/ This will paste the CF_TEXT plaintext from the clipboard, but will convert any series of newline characters into a single space before doing the paste. Because this uses .insertText() instead of putting the modified text back into the clipboard and doing .paste(), it should avoid clobbering the clipboard. (based on @alan-kilborn's clipboard script here: <https://community.notepad-plus-plus.org/post/97132>) """ from Npp import * try: editor3h # third editor, hidden except NameError: editor3h = notepad.createScintilla() def get_clipboard_text_without_newlines(): retval = '' editor3h.clearAll() editor3h.paste() if editor3h.getLength() > 0: editor3h.rereplace(r'[\r\n]+', ' ') # replace all newline seqeuences with a single space retval = editor3h.getText() return retval editor.beginUndoAction() editor.insertText(editor.getCurrentPos(), get_clipboard_text_without_newlines()) editor.endUndoAction()

      This has been tested in the PythonScript 3 plugin. The PythonScript FAQ explains how to install PythonScript plugin, and how to run a script using PythonScript plugin, and even how to assign a keyboard shortcut to the script. Make sure you follow the instructions for PythonScript 3, not PythonScript 2 (as I have not tested under the older plugin syntax, though it will likely work there)

    • Russ JonesR

      Advance cursor past any sequence of non-blank characters and following blank, tab, or newlines

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      219 Views
      guy038G

      Hi, , @russ-jones, @freemeow, @m-andre-z-eckenrode and All,

      Ah… many thanks, @m-andre-z-eckenrode for your valuable input ! Thus, @russ-jones, my macros can be improved as below, just adding a final Esc key stroke :

      <Macro name="End Previous NON-Blank chars" Ctrl="no" Alt="yes" Shift="no" Key="190"> <Action type="3" message="1700" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1601" wParam="0" lParam="0" sParam="\S+\K(?=\s)" /> <Action type="3" message="1625" wParam="0" lParam="2" sParam="" /> <Action type="3" message="1602" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1702" wParam="0" lParam="256" sParam="" /> <Action type="3" message="1701" wParam="0" lParam="1" sParam="" /> <Action type="0" message="2325" wParam="0" lParam="0" sParam="" /> </Macro> <Macro name="End Next NON-Blank chars" Ctrl="no" Alt="yes" Shift="no" Key="191"> <Action type="3" message="1700" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1601" wParam="0" lParam="0" sParam="\S+\K(?=\s)" /> <Action type="3" message="1625" wParam="0" lParam="2" sParam="" /> <Action type="3" message="1602" wParam="0" lParam="0" sParam="" /> <Action type="3" message="1702" wParam="0" lParam="768" sParam="" /> <Action type="3" message="1701" wParam="0" lParam="1" sParam="" /> <Action type="0" message="2325" wParam="0" lParam="0" sParam="" /> </Macro>

      BR

      guy038

    • ?

      Notepad ++ double context menu showing after uninstalling

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      217 Views
      mpheathM

      The Open With extension is not the Edit with Notepad++ extension. The later is NppShell.

      Open a cmd prompt and enter:

      reg delete "HKCU\Software\Classes\Applications\notepad++.exe"

      Press Return key and if no error, then it will prompt to delete the key and reply with yes.

      Open With creates this key and some others. Removing this key removes the orphaned Open With entry of Notepad++.

      Some installers add this key, the Notepad++ installer currently does not add this key so it does not remove it on uninstall.

      The duplicate entry is something else. Try:

      reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ini" /s

      and will print information about the entries to discover more details about the entries. You may see something like Applications\other.exe and if another ophaned entry, can use a similar command to remove it:

      reg delete "HKCU\Software\Classes\Applications\other.exe"

      Always use care with the registry. Ensure the commands are correct before executing them.

    • CoisesC

      Columns++ version 1.3: All Unicode, all the time

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      16
      5 Votes
      16 Posts
      1k Views
      CoisesC

      @guy038 said in Columns++ version 1.3: All Unicode, all the time:

      Note that the \p{Hex_Digit} regex is erroneous ! The right one is \p{xdigit}, at least, within Columns++

      What’s going on there is that I followed the structure of Boost::regex character classes:

      Character Classes that are Always Supported

      Character classes that are supported by Unicode Regular Expressions

      which are mainly the POSIX character classes plus Unicode General Categories interpreted as character classes. Also, note that in Boost::regex, character classes and character properties are the same thing. I didn’t make any attempt to change that. I believe this is different both from Unicode regular expressions and from PCRE.

      (I did add a couple new character classes unique to Columns++: [:defined:] and [:invalid:], and aliases \i, \o and \y for [:invalid:], [:ASCII:] and [:defined:]. Also, Columns++ does not support [:Cs:]/[:Surrogate:] since Unicode in Scintilla can only be UTF-8, which cannot contain surrogates — though it can contain invalid byte sequences which appear to encode surrogates, as in WTF-8; Scintilla treats these as invalid UTF-8 bytes, and so does Columns++.)

      Hex_Digit isn’t one of the Boost::regex character classes, and I never defined it. Defining it to be equivalent to xdigit would be trivial; re-defining xdigit to include non-ASCII characters is a bit more complicated:

      I’ve found out a small anomaly concerning hexadecimal characters :

      If I use the native Notepad++ search to match any hexadecimal character, with the regex [[:xdigit:]], against my Total_Chars.txt file, it returns 44 matches

      If I use the Columns++ search to match any hexadecimal character, with the regex [[:xdigit:]], against my Total_Chars.txt file, it returns 22 matches

      I suppose that the N++ answer is the right one. Indeed, in the https://www.unicode.org/reports/tr18/#Compatibility_Properties article , ( Annexe C about UNICODE REGULAR EXPRESSIONS ), it is said :

      Hex_Digit contains 0-9 A-F fullwidth and halfwidth, upper and lowercase

      Yes, it would seem the standard is to include those non-ASCII characters as hex digits. Further, the comments at your link under lower and upper are troublesome, as Columns++ treats them as aliases for Ll and Lu. Word and word boundaries are probably faulty as well.

      I followed the Boost::regex principle that to extend the traditional POSIX mappings, the only Unicode property that is used to determine membership in a character class is the General Category.

      I hard-coded (that is, they are written explicitly rather than being derived from Unicode tables) the POSIX mappings for ASCII characters, since that’s the only place they are really well-defined; plus there is a hard-coded exception for the non-ASCII character U+0085, the Next Line control character, because it should be part of \v, which is implemented in Boost::regex as [[:v:]]. I don’t see any reason [[:xdigit:]] can’t be extended with similar hard-coded logic; I just didn’t know until now that I should do it.

      The other parts, though: whatever they are saying is supposed to be included in [:lower:] and [:upper:] besides letters, and whatever they are talking about in regard to word characters and boundaries… that might be problematic. I have a condensed set of tables built from a few Unicode files, instead of trying to import the ghastly large and complex ICU. Those tables include the General Category, but if that is not enough to determine membership in a character class… reorganizing them to include whatever additional information I need (it’s not yet clear to me what that will be) is not likely to be simple.

      Thank you for your observation. Indeed, there are flaws. It is not yet clear to me if and how it will be practical to address them, though I can probably fix the [:xdigit:] behavior without much difficulty.

    • J

      Perl keywords "class" and "method" not recognised by Function List

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      12
      0 Votes
      12 Posts
      701 Views
      J

      @PeterJones I am happy :)

    • Cam KroutC

      Chinese compromise began as early as NP++ v8.6.9

      Watching Ignoring Scheduled Pinned Locked Moved Security
      4
      0 Votes
      4 Posts
      486 Views
      PeterJonesP

      Future readers: if you want more information for the context of this discussion, See the FAQ, which has the best summary I can make, as of 2026-Feb-04; if new information is available, the FAQ will be updated. ALL followups/discussions must go in Topic: autoupdater and connection to temp.sh. This tangent is LOCKED.

    • NppenjoyrN

      Advices to prevent further security vulnerabilities

      Watching Ignoring Scheduled Pinned Locked Moved Security
      4
      0 Votes
      4 Posts
      435 Views
      NppenjoyrN

      BTW:

      5.1-if your home internet speed is fast enough, setup your own web server to your pc under virtualbox(in case of web server software cve’s/rce’s). I or anyone can help with that. Dont forget to hardening server for security.

      IMO, this is BAD advice. To suggest to a non-security specialist who runs this as a hobby, that he should self-host, and try to keep up on all the security hardening, is asking him to get hacked even worse than the hack that already happened. He was literally paying a host to provide such services, and the professionals failed; he has now changed providers to a host who has better security procedures.

      Believe me it’s not that hard to setup a webserver or harden it, especially while backed by a strong community. The risks are different when hosting at home between hosting remotely. The hosting firm may be offered money to hijack, or an out-of-date hosting management software had rce was waiting to be abused.

    • S

      Managing the User Languages tool

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      99 Views
      PeterJonesP

      @sagradamoly-stack said in Managing the User Languages tool:

      Is there any way to delete all the interim variations without losing all the work getting to a useful final result?

      It depends on what you mean.

      En masse? No

      One at a time? Yes. In the UDL dialog, select each intermediate UDL from the drop-down, and click Remove. Since it’s likely on the order of a dozen or two, it won’t take you that long – less time than asking here took you, I’d wager.

      without losing all the work

      I mean, deleting the intermediate ones will obviously delete the intermediate stages. If you don’t want to lose them, but don’t want them in the N++ Language menu, use Export to save each to a separate XML file which you can then save in some backup directory, then Remove to take it out of the menu.

    • N

      The real haters can't hate

      Watching Ignoring Scheduled Pinned Locked Moved Boycott Notepad++
      9
      0 Votes
      9 Posts
      2k Views
      PeterJonesP

      @shodanx2 ,

      I normally stay out of the “Boycott” discussions, because they’re a complete waste of time (as is this one, for example, so I’ll be leaving this one again), but it seems really odd that you just started complaining about this a year after you successfully created your account and made your first post. But whatever, the haters are going to hate. (update: never mind, you were whining about this a year ago, too.)

      If the owners of the forum software and the service that they are donating to host our forum (they normally charge people and organizations to host with them, but are giving the hosting for free to us, so beggars cannot be choosers), or the contributors to their ecosystem (not me, not the developer of Notepad++) ever provide a plugin that allowed a “login with XYZ” for any other OAUTH provider, I would enable that in a heartbeat, because I’m all for giving users a choice. I cannot speak for the rest of the internet, but the email-only didn’t work here, despite your repeated protestations, for whatever reason, so I’ve tried to help give users as much choice from OAUTH providers as possible; unfortunately, those are the only two for now.

      Our choice of login has nothing to do with censoring people from speaking (as should be blatantly obvious, because we literally provide a topic for whining about Notepad++ in a forum dedicated to advocating for and helping people use Notepad++ … the N++ developer is highly into free speech), nor “shilling for the techbro cloud elites”, and everything to do with trying to make the user experience as good as possible for as many as we can.

    • M Andre Z EckenrodeM

      Mass cursor movement via Python

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      146 Views
      M Andre Z EckenrodeM

      @Alan-Kilborn

      Thanks for the suggestion, though I think .lineUp() is sufficient for my purposes in this case, since I will need to repeatedly go up the same number of lines, and column isn’t a concern because I’ll always be landing on blank lines.

    • Mark BoonieM

      Show (or keep) subsets of a file

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      3
      0 Votes
      3 Posts
      40 Views
      Mark BoonieM

      Hi @guy038. I’m changing it a bit for business reasons, but basically it would look like this:

      *Block start 00000000013FC200 00200280 00010000 00000000 00000000 00000000013FC210 00000002 CC5CDDA0 00000000 00000000 00000000013FC220 00000000 00000000 01266100 01266100 00000000013FC230 00808000 013FC2B8 00000000 00000000 00000000013FC240 0003D000 03A8A1A0 03A8A670 03A8A710 00000000013FC250 00000000 0003DD88 013FD020 00000000 00000000013FC260 00000000 00000000 00000000 0C000002 00000000013FC270 11804017 03A8A718 0E000000 00800000 00000000013FC280 40000020 013FC280 00000000 00000000 00000000013FC290 00000000 00000000 00000000 00000000 00000000013FC2A0 00000000 0C000002 10800011 00000000 00000000013FC2B0 06000000 00800000 40000020 013FC2B8 00000000013FC2C0 00000000 00000000 00000000 00000000 00000000013FC320 00000000 01421800 00000000 00000000 00000000013FC330 00000000 00000000 00000000 00000000 00000000013FC3C0 00000000 00000000 00000000 00000571 00000000013FC3D0 00000000 00000000 00000000 00000000 00000000013FC3F0 00000000 00000000 00000000 00000000 *Block end

      The first and last lines shown are the delimiter lines. The target string would vary, but obviously it’s another hex string. Thanks for any suggestions.

    • Nazar HotsaN

      Strange highlighting in PHP files

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      142 Views
      Nazar HotsaN

      Thank you! Problem solved.