home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.comp.os.windows-10      Steaming pile of horseshit Windows 10      197,590 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 197,270 of 197,590   
   Maria Sophia to All   
   PSA: HTML fragment mode interaction betw   
   10 Feb 26 07:17:37   
   
   XPost: alt.comp.os.windows-11, alt.comp.microsoft.windows   
   From: mariasophia@comprehension.com   
      
   PSA: HTML fragment mode interaction between Chromium, Clipboard & Notepad++   
      
   There is a confusing interaction between Chromium-based applications when   
   copying to the Windows clipboard and then pasting into Notepad++ that can   
   break basic editing functions like Select All (Ctrl+A).   
      
   What happens is the following sequence:   
   a. You copy Chromium-based text (Ctrl+C) to the Windows clipboard   
   b. You paste that into Notepad++   
   c. You try to select all (Ctrl+A)   
   What happens is the selection flashes, but nothing is selected   
   If you add a blank line at the top, then Ctrl+A works as expected.   
      
   It took me a long time to track this very repeatable artifact down, so I am   
   sharing the explanation here for anyone else who runs into it.   
      
   When you copy text from any Chromium-based application, Apparently Windows   
   does not just copy plain text. Windows actually puts two versions of the   
   text on the Windows clipboard:   
   1. a normal plain-text version   
   2. a hidden HTML-formatted version   
      
   This apparently happens with Chrome, Edge, Brave, Vivaldi, and many   
   Electron apps such as Slack, Discord, and VS Code.   
      
   When we paste that clipboard data into Notepad++, Notepad++ sees the hidden   
   HTML version and Notepad++ assumes the paste is part of a larger HTML   
   fragment. That puts Notepad++ into a strange internal state, which is   
   apparently sometimes called "HTML fragment mode".   
      
   In this mode:   
   a. Ctrl+A will not select the whole document   
   b. Therefore, Ctrl+X will not cut anything   
   c. Because the Ctrl+A selections are behaving incorrectly   
      
   What took me a while to figure this out was that this artifact has nothing   
   to do with the text itself so a hex editor does not show the artifact.   
      
   It is simply how Notepad++ reacts to the Windows clipboard format used by   
   Chromium-based applications.   
      
   The workaround I've come up with is surprisingly simple:   
   a. Insert an extraneous leading blank line at the top of the document   
   b. Now when you press Ctrl+A, the selection works as expected   
   c. Copy (Ctrl+C) or Cut (Ctrl+V) the selected text, as desired   
   d. Then delete the extraneous leading blank line   
      
   That tiny change of the extraneous blank line apparently forces Notepad++   
   to abandon HTML fragment mode and treat the text as normal again.   
      
   Q: Why does deleting the blank line work around this issue successfully?   
   A: Because the hidden HTML fragment boundary is treated as if it were   
      the first line of the document. Deleting the first line removes that   
      invisible boundary and resets the buffer.   
      
   Summary:   
   A. Chromium apps (apparently) copy hidden HTML to the clipboard.   
   B. Notepad++ sees that artifact and enters HTML fragment mode.   
   C. There is no indication whatsoever you're in HTML fragment mode!   
   D. But in that mode, Ctrl+A stops working correctly.   
   E. Yet, inserting a blank line resets Notepad++ back to normal.   
      
   If you have ever pasted something into Notepad++ and wondered why you   
   suddenly cannot select or cut the text, this artifact might just be why.   
   --   
   Every Usenet post should strive to add palpable additional value   
   so that we can all delight in dissemination of useful knowledge.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca