v7.9.2 NPPM_SETLINENUMBERWIDTHMODE
-
I am trying to implement the PerlScript wrappers for the new NPPM_SETLINENUMBERWIDTHMODE in v7.9.2.
I got the NPPM_GETLINENUMBERWIDTHMODE to correctly read the state of the Settings > Preferences > Margins/Border/Edge: Line Number toggle. But it seems to always ignore NPPM_SETLINENUMBERWIDTHMODE (or, rather, that message always reads as a failure (retcode = 0))While debugging, I tried with both raw SendMessage from Perl, and using NppExec’s npp_sendmsg, and both seemed to fail on the SET, with the GET
#define NPPM_SETLINENUMBERWIDTHMODE (NPPMSG + 99)
#define LINENUMWIDTH_DYNAMIC 0 #define LINENUMWIDTH_CONSTANT 1// BOOL NPPM_SETLINENUMBERWIDTHMODE(0, INT widthMode)
// Set line number margin width in dynamic width mode (LINENUMWIDTH_DYNAMIC) or constant width mode (LINENUMWIDTH_CONSTANT)
// It may help some plugins to disable non-dynamic line number margins width to have a smoothly visual effect while vertical scrolling the content in Notepad++
// If calling is successful return TRUE, otherwise return FALSE.
#define NPPM_GETLINENUMBERWIDTHMODE (NPPMSG + 100)
// INT NPPM_GETLINENUMBERWIDTHMODE(0, 0)
// Get line number margin width in dynamic width mode (LINENUMWIDTH_DYNAMIC) or constant width mode (LINENUMWIDTH_CONSTANT)
With NppExec
script:
cls echo get original setting: npp_sendmsg 2124 0 0 echo $(MSG_RESULT) echo --------------------- echo try to set to 0 npp_sendmsg 2123 0 0 echo $(MSG_RESULT) echo and readback what I set npp_sendmsg 2124 0 0 echo $(MSG_RESULT) echo The 2123 (set) failed, and 2124 stayed with original value echo --------------------- echo try to set to 1 npp_sendmsg 2123 0 1 echo $(MSG_RESULT) echo and readback what I set npp_sendmsg 2124 0 0 echo $(MSG_RESULT) echo The 2123 (set) failed, and 2124 stayed with original valueWhen I have Settings > Preferences > Margins/Border/Edge: Line Number = Constant Width
get original setting: NPP_SENDMSG: 2124 0 0 1 --------------------- try to set to 0 NPP_SENDMSG: 2123 0 0 0 and readback what I set NPP_SENDMSG: 2124 0 0 1 The 2123 (set) failed, and 2124 stayed with original value --------------------- try to set to 1 NPP_SENDMSG: 2123 0 1 0 and readback what I set NPP_SENDMSG: 2124 0 0 1 The 2123 (set) failed, and 2124 stayed with original valueWhen I have Settings > Preferences > Margins/Border/Edge: Line Number = Dynamic Width =====
get original setting: NPP_SENDMSG: 2124 0 0 0 --------------------- try to set to 0 NPP_SENDMSG: 2123 0 0 0 and readback what I set NPP_SENDMSG: 2124 0 0 0 The 2123 (set) failed, and 2124 stayed with original value --------------------- try to set to 1 NPP_SENDMSG: 2123 0 1 0 and readback what I set NPP_SENDMSG: 2124 0 0 0 The 2123 (set) failed, and 2124 stayed with original valueWith PerlScript
script:
print "==========\n"; print "0,1 => ", notepad->SendMessage( 2123, 0, 1), "\n"; print "get => ", notepad->SendMessage( 2124, 0, 0), "\n"; print "1,0 => ", notepad->SendMessage( 2123, 1, 0), "\n"; print "get => ", notepad->SendMessage( 2124, 0, 0), "\n"; print "1,1 => ", notepad->SendMessage( 2123, 1, 1), "\n"; print "get => ", notepad->SendMessage( 2124, 0, 0), "\n"; print "==========\n";With dynamic, I get:
========== 0,1 => 0 get => 0 1,0 => 0 get => 0 1,1 => 0 get => 0 ==========With Constant, I get
========== 0,1 => 0 get => 1 1,0 => 0 get => 1 1,1 => 0 get => 1 ==========So, the GET message is working okay, but the SET message is not.
Can others confirm this behavior?
Or have I just misread the NPPM_SETLINENUMBERWIDTHMODE instructions from the source code, and I’m using it wrong?If it’s real, I’ll open a bug report on the new feature, but I wanted to confirm before opening a bug report.
-
Is a bug I guess
case NPPM_SETLINENUMBERWIDTHMODE: { if (lParam != LINENUMWIDTH_DYNAMIC || lParam != LINENUMWIDTH_CONSTANT) return FALSE;should be && instead of || , right?
-
This post is deleted! -
@Ekopalypse said in v7.9.2 NPPM_SETLINENUMBERWIDTHMODE:
Is a bug I guess
should be && instead of || , right?Yes, that would make more sense. I’ll file a bug tomorrow (really hard to do from phone browser)
-
@PeterJones said in v7.9.2 NPPM_SETLINENUMBERWIDTHMODE:
I’ll file a bug tomorrow
Thanks for the research, @Ekopalypse
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login