patchGNU Octave - Patches: patch #9762, Don't select the '.m' extension...

 
 

patch #9762: Don't select the '.m' extension when double clicking on a file name in terminal window

Submitted by:  Roland Baudin <roland65>
Submitted on:  Wed 06 Mar 2019 01:30:17 PM UTC  
 
Category:  Core : new feature Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Mon 08 Apr 2019 07:40:23 AM UTC, comment #6: 

OK, I'll try to update my patch.
Do you mean a user setting in the GUI or a command line option would be sufficient?

Roland Baudin <roland65>
Sun 07 Apr 2019 10:30:24 PM UTC, comment #5: 

I recommend that you file a new bug report about adding a user setting for the set of word boundary characters. This patch report isn't actionable as it is, unless you are planning on updating your patch to add the user preference.

Mike Miller <mtmiller>
Project Administrator
Fri 08 Mar 2019 08:57:51 AM UTC, comment #4: 

OK, I tried your approach with setWordCharacters (":@-/_~") and it's definitely better than my hack.

I attach the new patch to this report.

Of course, a user preference for this would be the best option.

Thanks!

(file #46463)

Roland Baudin <roland65>
Thu 07 Mar 2019 07:40:03 PM UTC, comment #3: 

Terminal emulators typically define a set of "word characters", which is the set of punctuation characters that are considered to be part of a contiguous "word" when double clicking on some text.

The qterminal default set of word characters is ":@-./_~" and Octave doesn't change that from the default. So "." is included in words. This is primarily for compatible behavior with other terminal widgets, so double clicking will behave the same in Octave, in gnome-terminal, in konsole, or in rxvt.

It would be easy to remove "." from the set by simply calling setWordCharacters (":@-/_~"), but then Octave would behave differently from almost every other terminal emulator's defaults. We could add this as a user preference like other terminals do.

Mike Miller <mtmiller>
Project Administrator
Thu 07 Mar 2019 08:57:34 AM UTC, comment #2: 

Yes, assuming you want to execute the script 'myscript.m" the use case is the following (in Unix systems):

1. Type 'ls' or 'dir' in the terminal window (within the GUI), in the folder where the file is located

2. Double click on the name 'myscript.m', this selects the name 'myscript' (without the '.m' extension)

3. Click on the middle button of the mouse on the command line, this pastes the name 'myscript' to the command line

4. Press enter, this executes the script

In fact, I particularized the '.m' case because it was simpler for me, but when double clicking in MATLAB on a file name, any extension is removed from the selection, so this probably should be a better way than that what I've done.

Roland Baudin <roland65>
Wed 06 Mar 2019 06:09:22 PM UTC, comment #1: 

Can you explain the use case for this? Is this to support the user running 'dir' or 'ls' and being able to copy by double-clicking and paste the function name back into the terminal or the editor?

This seems like a very narrow case to make such a strange exception for. Any other file name double-clicked will select the entire file name. It looks very odd that only one file extension is excluded. If the file name is selected in the File Browser panel, right click, and choose "Copy Selection to Clipboard", it copies the entire file name. It seems far better to be completely consistent.

Also, double-clicking on the file name and then dragging while still holding the second click, normally allows multiple words to be selected. With this patch applied, after dragging, suddenly the ".m" is included in the selection.

I think we want to reduce the special cases in our fork of libqterminal so that we may eventually link with the upstream libqterminal library, if that happens before the Command Window is rewritten to not be a terminal anymore.

Mike Miller <mtmiller>
Project Administrator
Wed 06 Mar 2019 01:30:17 PM UTC, original submission:  

On Linux (and other unix systems) it is very common in terminal window to double click on a m file name and paste this name to the command line with the middle mouse button.

This works well but we have to manually delete each time the '.m' extension before executing the script. This is annoying...

In MATLAB, this works the same, but the '.m' extension is not selected, which is more convenient.

This tiny patch implements this feature in Octave 5.1.0.

Roland Baudin <roland65>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #46463:  terminal-double-click.patch added by roland65 (583B - text/x-patch - Better patch that avoids the selection of the extension when double clicking on a file name in terminal window )
file #46446:  terminal-unix.patch.gz added by roland65 (319B - application/gzip - Patch for Octave 5.1.0)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by roland65 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-03-08 roland65 Attached File- => Added terminal-double-click.patch, #46463
    2019-03-06 roland65 Attached File- => Added terminal-unix.patch.gz, #46446

    Back to the top


    Powered by Savane 3.5