• RELOCATE WINDOW

    Locked
    2
    0 Votes
    2 Posts
    621 Views
    andrecool-68A

    Enable this option

    Imgur

  • Something is wrong with Customize Toolbar plugin

    Locked
    10
    0 Votes
    10 Posts
    2k Views
    andrecool-68A

    @Meta-Chuh
    Got it))
    I just did not use this option))

  • 2 Votes
    19 Posts
    5k Views
    pnedevP

    Hi all,

    The problem was in the code of the compare loader itself.

    for (int i = 0; i < iMenuItems; i++)
    {
    ...
    GetMenuItemInfo(hPluginMenu, i, TRUE, &mii);
    if (!lstrcmp(buffer, L"Compare"))
    {
    ...
    int iSubMenuItems = GetMenuItemCount(mii.hSubMenu);
    for (int j = 0; j < iSubMenuItems; j++)
    {
    ...
    GetMenuItemInfo(mii.hSubMenu, i, TRUE, &smii);

    The second GetMenuItemInfo should use the second forcycle index:

    GetMenuItemInfo(mii.hSubMenu, j, TRUE, &smii);

    BR

  • Built-in Clipboard History

    Locked
    2
    1 Votes
    2 Posts
    2k Views
    Alan KilbornA

    @Michael-Vincent

    If you’re going to write your own plugin, just handle the clipboard yourself. Make your own history. :)

    Use Windows API functions OpenClipboard etal. Easy peasy.

    The hardest part (and not all that hard) is the create-a-plugin part.

    Maybe a better idea is to approach the author of Multiclipboard plugin and ask for keyboard support to be added. Or ask the Notepad++ development team to add necessary support to the native Clipboard history stuff.

  • PythonScript 2.0

    19
    1 Votes
    19 Posts
    4k Views
    Alan KilbornA

    @Ekopalypse

    The beauty of the code on nulledge is that it is already in Python. But oops, it appears that nulledge has gone 404. :( Maybe my future needs will have VB6 searches involved.

  • XML Tools will not work after update from plugin manager

    11
    1 Votes
    11 Posts
    27k Views
    Meta ChuhM

    bienvenido a la notepad++ community, @Manuel-Sanchez

    gracias por compartir tu experiencia y solución.
    espero que haya más gente que entenderá castellano por aquí ;-)

    welcome to the notepad ++ community, @ Manuel-Sanchez

    Thank you for sharing your experience and solution.
    I hope there are more people who will understand Spanish at our place ;-)

  • 0 Votes
    6 Posts
    3k Views
    chcgC

    From a first look seems it could be also added to the PluginAdmin list. I will do that.

  • Bug Report For "Minimize to Tray" and Curruption in 64-bit

    Locked
    3
    0 Votes
    3 Posts
    727 Views
    Jack BaiJ

    @Meta-Chuh

    Thank you very much for your reply!

    My system: Windows 7 64-bit Service Pack 1

    Bug 1:
    in Notepad++ 7.6.6 (32-bit & 64-bit)
    Menu settings - Preferences - MISC. - Minimize to system tray
    Though tick this checkbox, the expected trayicon does’t appear when minimized. And I’m sure that “show all tray icons” has been set in Windows.

    Before I found it worked well in Notepad++ 64-bit and I just reported for 32-bit. But now I found in both version it didn’t function. So this option is quite unstable.

    Bug2:
    in Notepad++ 7.6.6 (64-bit only)
    When enter some text using Chiinese IME(QQ wubi), often stops responding and I have to kill the process in the task manager. In 32-bit notepad++ it never happened. When and In which condition it will happen, I can’t confirm tempararily because it occurs casually. As there isn’t any error message and just stop responding, so the screenshot just shows the normal status before the problem. If in the future I find any special text that can cause the error, I’ll report again.

    About comment format of ini files
    I had tried hard to use a user defined language long time ago and I tried yesterday and today. I can get the expected effect for comment, but the section effect lost. In default ini format, contents in square brackets “[]” shows specially only when at the beginnig of a line. And in my user defined language, it shows anywhere. I don’t know how to get the section format like default one.

    Best Regards!

  • Bug report for format convert!

    Locked
    2
    0 Votes
    2 Posts
    524 Views
    guy038G

    Hello, @张锋, and All,

    Probably, your text contains NO character with Unicode value over \x{007F} ;-))

    Remember that, when the Unicode value of a character is :

    Under \x{0080}, the N++ ANSI and UTF-8 encodings are strictly equivalent and use 1 byte to encode the character

    Over \x{007F}, the UTF-8 and UTF-8 BOM encodings use from 2 to 4 bytes, whereas the ANSI encoding still use a 1 byte to encode that character !

    So, if your text contains only pure ASCII characters ( under \x{0080} ), there no way, for Notepad++, on opening that file, to determine the right encoding, and it chooses, by default, the UTF-8 encoding, ( which does not contain the invisible BOM : Byte Order Mark )

    So, to be sure that the ANSI encoding will be kept, just change this default behavior :

    Choose the Settings > Preferences > New document option

    In the Encoding section, just uncheck the squared box Apply to opened ANSI files

    Close the Preferences dialog , by clicking on the Close button

    Preferably, stop and re-start Notepad++

    Best Regards,

    guy038

  • 0 Votes
    5 Posts
    2k Views
    guy038G

    Hello, @DRSpalding, @peterjones, @meta-chuh and All,

    I’ve had a look to the Base-64 encoding/decoding process from this Wikipedia article, below :

    https://en.wikipedia.org/wiki/Base64

    Seemingly, during the Base 64 encoding process, each range of 3 consecutive characters, of the original text, is encoded into a 4 characters string, according to the Base-64 table, below :

    •-------•------•-------•------•-------•------•-------•------• | Index | Char | Index | Char | Index | Char | Index | Char | •-------•------•-------•------•-------•------•-------•------• | 0 | A | 16 | Q | 32 | g | 48 | w | | 1 | B | 17 | R | 33 | h | 49 | x | | 2 | C | 18 | S | 34 | i | 50 | y | | 3 | D | 19 | T | 35 | j | 51 | z | | 4 | E | 20 | U | 36 | k | 52 | 0 | | 5 | F | 21 | V | 37 | l | 53 | 1 | | 6 | G | 22 | W | 38 | m | 54 | 2 | | 7 | H | 23 | X | 39 | n | 55 | 3 | | 8 | I | 24 | Y | 40 | o | 56 | 4 | | 9 | J | 25 | Z | 41 | p | 57 | 5 | | 10 | K | 26 | a | 42 | q | 58 | 6 | | 11 | L | 27 | b | 43 | r | 59 | 7 | | 12 | M | 28 | c | 44 | s | 60 | 8 | | 13 | N | 29 | d | 45 | t | 61 | 9 | | 14 | O | 30 | e | 46 | u | 62 | + | | 15 | P | 31 | f | 47 | v | 63 | / | •-------•------•-------•------•-------•------•-------•------•

    Now, if your original text is not a multiple of 3 chars, it may contain, either :

    2 last additional characters, which are Base-64 encoded as a 3 chars string, followed with one = sign

    1 last additional character, which is Base-64 encoded as a 2 chars string, followed with two = signs

    So, in all cases , the encoded Base-64 text is a string whose length is a multiple of 4 !

    Note that the Base-64 encoding process take account of any char, included spaces and any kind of line-break !

    So, if we consider the original ASCII quote, given in the Wikipedia article, you must delete the two line-breaks, in order to get the one line text, below :

    Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.

    And after selecting all text, without the last line-break, and using the Plugins > MINE tools > Base 64 Encode option, we do get the same encoded text, than in the Wikipedia article :

    TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

    If we have kept the line-breaks, of the original text , the encoded Base-64 string would have been quite different !

    Now, regarding the Base-64 decoding process, it is said in Wikipedia :

    (newlines and whitespaces may be present anywhere but are to be ignored on decoding)

    I personally verified that, even if a Base-64 encoded text is split, at any location, with line-break(s), it does not matter and the decoding process give your original text back, as expected ;-))

    For instance, these 4 Base-64 encoded examples, of 8 characters long :

    TWFuIGlz ~~~~~~~~~~ TW FuIGl z ~~~~~~~~~~ T WFu IGlz ~~~~~~~~~~ TWFuIG lz

    give, for all, after running the Plugins > MINE tools > Base 64 Decode option, the text “Man is”  with one space between !

    However, if you add some space characters in a legal Base-64 sequence, in order to get a new total, being a multiple of 4, it does NOT give the same original text and, most of the time, forces Notepad++ to crash :-((

    Finally, Peter, I don’t think that an equal sign have to be added at the end of each block of 76 characters ! Indeed, the one or two = signs is added, during the Base-64 encoding process, in order to get a legal sequence, which should be a multiple of 4 ;-))

    So, assuming the Base-64 encoded one-line string below :

    TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

    You may split it in blocks of any length ( N ) , with the regex S/R :

    SEARCH (?-s).{N}

    REPLACE $0\r\n ( or $0\n for Unix/Linux files )

    So, with N = 76 , it gives :

    TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

    With N = 37 , you would obtain :

    TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvb mx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aG lzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGh lciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qg b2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZ XZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY2 9udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGd lbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNl ZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgY W55IGNhcm5hbCBwbGVhc3VyZS4=

    And with N = 160 , we’ll get the Base-64 encoded text :

    TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1p bmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhl bWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

    Now, if you decode these 3 examples above, without selecting the last line-break, with the option Plugins > MINE tools > Base 64 Decode, they all end up with the same original text, below :

    Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.

    Best Regards,

    guy038

  • Intercept Scintilla keydown events in C#

    7
    1 Votes
    7 Posts
    2k Views
    Skycc LimS

    Hi @BlaxOne
    have you figure out the solution for your problem ? can you share ?
    i had similar problem with yours which i need to filter out certain keystrokes for current scintilla control

  • "Sort" plugin not working?

    Locked
    4
    0 Votes
    4 Posts
    1k Views
    Meta ChuhM

    @Anderwriter

    Oops, sorry, LOL—I forgot I’d switched to a different text editor.

    lol, made my day 😂👍

  • NPP Task List Plugin

    7
    0 Votes
    7 Posts
    7k Views
    Wes TitusW

    Thank you! Really appreciate it it was driving me nuts.

  • 64-Bit Plugins

    Locked
    16
    3 Votes
    16 Posts
    10k Views
    chcgC

    @Michael-Vincent Let me know if you think the 64bit ports are ready to be added to the PluginAdmin list.

  • Event when selecting another tab

    5
    0 Votes
    5 Posts
    967 Views
    AZJIO AZJIOA

    It works as it should. Made a AutoCompletion
    https://yadi.sk/d/vaY4MCn3D_OBMw

  • Notepad 7.6.3 and 7.6.4 / SourceCookifier 0.7.3 / 'ctags.exe' not found!

    8
    0 Votes
    8 Posts
    2k Views
    ManisselM

    Clean installation / Notepad 7.6.4 / SourceCookifier 0.7.3 via Plugins Admin / Folder structure:

    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\Config\SourceCookifier.languages.model.xml

    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\doc\SourceCookifier.README.TXT

    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\SourceCookifier\icons
    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\SourceCookifier\AddPolicy.bat
    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\SourceCookifier\ctags.exe
    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\SourceCookifier\RemovePolicy.bat

    C:\Program Files (x86)\Notepad++\plugins\SourceCookifier\SourceCookifier.dll

    The icons from the sub folder “icons” are not display in the Notepad++ itself.
    (Anyhow possible to add a screenshot?)

  • 4 Votes
    1 Posts
    717 Views
    No one has replied
  • Upgrade SQLinForm to 5.3.24 failed

    12
    0 Votes
    12 Posts
    2k Views
    dinkumoilD

    @Meta-Chuh and all

    The reason for @bruderstein to include some advertisement into his Plugin Manager was the high server traffic generated by solely the download of the plugin list - 70 GB per month as he stated somewhere.

    His web hoster refused to continue that for free and GitHub wanted 80 Euro per month to host this file, which Dave was not willing to pay, additionally to all the work and time he invested in development of Plugin Manager.

    So Dave asked his employer to host the plugin list file. They have been willing to do that but wanted their logo to be placed into Plugin Manager, which was the reason for Don to kick it out of the Notepad++ downloads.

    Providing an all-time up-to-date plugin list for Plugins Admin will cause the same problem again. Let’s see how it will be solved…

    Furthermore, AFAIK Notepad++ checks the SHA-256 hash value of the plugin list’s DLL file against a value hard coded into each Notepad++ release. This will not work anymore in case of continous updating that file. When I see the security issues that have been raised in the EUFOSSA bug bounty program for Notepad++, I suspect that a completely unprotected plugin list would also be considered a security issue.

  • Help! NppFTP Intermitent Transfer Issues?

    Locked
    2
    1 Votes
    2 Posts
    685 Views
    Meta ChuhM

    welcome to the notepad++ community, @Jeff-C

    nppftp versions 0.28.1 upwards, for example version 0.28.3 (released 11 days ago), have addressed various connection issues, which might or might not improve your current connection experience.

    if you are on a version below 0.28.3, you can update nppftp manually:

    download and extract a newer NppFTP-x64.zip or NppFTP-x86.zip from >>> here <<<.
    (depending on whether you are using a 64 or 32 bit version of notepad++)

    open up your notepad++ plugins folder.
    (or plugins\NppFTP folder if you are on notepad++ 7.6.x)

    replace your old NppFTP.dll with the newer version, extracted from the NppFTP-x__.zip file.

  • Plugin Source

    14
    0 Votes
    14 Posts
    2k Views
    dinkumoilD

    @Tod-Mar

    When I started to develop plugins for Notepad++ the following links have been helpful:

    How to develop a plugin or a lexer
    Messages and notifications
    Sources of plugin interface
    Scintilla documentation

    Regarding toolbar buttons

    The handling of toolbar buttons is totally transparent to a plugin developer because they work like a menu entry.

    A plugin developer has to fill an array at plugin’s startup that contains structs of type FuncItem. Every array element describes a menu entry of the plugin (text, click handler function, menu command id, Checked state, and keyboard shortcut).

    Notepad++ queries a pointer to this array at a certain time in the startup process. It generates the menu entry of the plugin in the Plugins menu, adds for every array element a submenu entry and fills the menu command id member of the array elements. So you know the menu command ids of your menu entries.

    If you want to have a toolbar button you have to hook the NPPN_TB_MODIFICATION event sent by Notepad++ to your plugin. In the handler of this event you have to fill a struct of type toolbarIcons (please note: you have to fill only one of its two members, either hToolbarBmp or hToolbarIcon but it seems only the first one works). The bitmap whose handle you provide has to be in a 8 bits-per-pixel palletized format (max. 256 colors) and its size has to be 16x16 pixels. Then you can send a NPPM_ADDTOOLBARICON event to Notepad++ where you provide the menu command id of the menu entry which you want to connect with your toolbar button and a pointer to the toolbarIcons struct you filled before.