Bug 139796 - Make Insert Special Character a Modeless Window
Summary: Make Insert Special Character a Modeless Window
Status: RESOLVED DUPLICATE of bug 56301
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected) release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
Depends on:
Blocks: Special-Character
  Show dependency treegraph
Reported: 2021-01-21 03:39 UTC by Dave
Modified: 2022-08-08 11:16 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:

The modeless window used to insert cross-references (194.85 KB, image/jpeg)
2021-01-21 03:42 UTC, Dave
Screenshot of what I refere to as the Special Character window. (128.60 KB, image/jpeg)
2021-06-24 14:14 UTC, Dave

Note You need to log in before you can comment on or make changes to this bug.
Description Dave 2021-01-21 03:39:58 UTC
While using Writer to create documents with many special characters and cross-references, I've noticed it's much easier to do multiple cross-references than it is to do multiple special characters.

The cross-reference window is modeless. It sits off to the side of my document until I need it. This lets me do several cross-reference entries at one time.

The insert special character window, on the other hand, is modal. I can only insert one special character at a time. If I need to insert several special characters in one go, I have to move the cursor where I want it, access insert special character from the menu, click insert, close the window and repeat.

It's either that or copy and paste the symbol, which really only helps if the symbol is the same throughout. In technical documents, there are often many different special characters.

With insert cross-reference, there's no closing and reopening each time.

I'd like to request an enhancement to make insert special character a modeless window like insert cross reference. It would do a lot for efficiency.

Steps to Reproduce:
1. Access Special Character from the Insert menu.
2. Insert a special character.
3. Try to move the cursor in the document.

Actual Results:
The cursor position cannot be changed until the Insert Special Character window is closed.

Expected Results:
It would be preferable to move the cursor while the Insert Special Character windows stays open off to the side. This is the behavior of Insert Cross-Reference and it makes it much easier to insert multiple references at one time. It would be nice to also insert multiple special characters at one time. 

Reproducible: Always

User Profile Reset: No

Additional Info:
Version: (x64)
Build ID: dcf040e67528d9187c66b2379df5ea4407429775
CPU threads: 8; OS: Windows 10.0 Build 19041; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 1 Dave 2021-01-21 03:42:50 UTC
Created attachment 169066 [details]
The modeless window used to insert cross-references

This is the behavior that would be preferable for Insert Special Character. The modeless window sits to the side and lets the user navigate the document without having to close it.
Comment 2 Heiko Tietze 2021-01-21 08:50:14 UTC
Do you know the feature Recently Used? It's implemented for exactly this use case. Besides, I'd rather do something as requested in bug 41981.
Comment 3 V Stuart Foote 2021-01-21 13:55:54 UTC
With its current collapsed Unicode chart state, the Character map of the Special character dialog is not overly useful as a modeless picker.

And the Toolbar split button serving the Special Character dialog provides a slots for 32 glyphs on the Favorites list and Recents stack makes this a non-issue.

In current state, no compelling reason to make dialog modeless (remain open between picks). IMHO => WF

While the see also bug 120753 is open to give user ability to expand both, really ideal for in-line input. While, bug 115477 would restore the input buffer to allow assemble multi-glyph runs before the insert to canvas. 

Discussion for redesign of the Special character dialog are here

Comment 4 Dave 2021-01-21 14:19:05 UTC
The favorites list of special characters is new to me and looks promising. However, I would argue that there is often more than one way to accomplish a task. Using the Insert Special Character window by itself is one of those ways.

Making it modeless would add to the consistency of the user interface, because this is exactly the way Insert Cross Reference behaves. It also seems like this would be "low-hanging fruit," a rather trivial change to implement. Those two reasons are what prompted me to request this enhancement.

While this is certainly not a high-priority enhancement, I believe it has merit as it would make the user interface more consistent and predictable, resulting in a more polished product.
Comment 5 V Stuart Foote 2021-01-21 15:04:25 UTC
Well, I suppose we could make the the SpecialCharacter split button tearable and modeless, like the color pickers.

But as is (e.g. collapsed Unicode charts, and no edit buffer) the full dialog would just consume screen space if modeless--we're better off using charmap or BabelMap/Pad externally.
Comment 6 Heiko Tietze 2021-01-22 08:23:10 UTC
The actual request is to have more items (dup of bug 120753) with easier access (dup of bug 41981 and bug 109215). If the scenario goes beyond a few special characters it's in fact a task for the OS or other tools.

*** This bug has been marked as a duplicate of bug 120753 ***
Comment 7 Dave 2021-06-23 20:53:51 UTC

I would like to revisit this and explain how it is not a duplicate of BUG 120753.

What I am suggesting is not more special characters in the favorites list. I am asking for an enhancement that allows the Insert Special Character window to stay open while moving through the document.

This is how Insert Cross-Reference window works.

I will explain why I think the Insert Special Character window would be better if it behaved like the Insert Cross Reference window by using an example of my workflow.

I often write technical documents on the subject of electronics. As such, I am often writing things like, "As shown in Figure X, ..." and also typing symbols (like Omega for Ohms.)

When I write, I prefer to not interrupt the flow of my thought process by inserting these things as they come up. So no writing "Figure" and then accessing the cross-reference menu. I literally type "Figure X" and go back later to insert all the cross references at once.

I do the same for resistor values. I type "100k" and then return to insert the Omega later. This allows me to not interrupt my train of thought by switching tasks to insert these items.

With cross references, I can open the Insert Cross Reference window once, scroll through the document looking for "Figure X" and replace the "X" with a cross reference. The fact that the Insert Cross Reference window is non-modal lets me do this.

With Insert Special Character, I have to navigate to where I want the character. USe the menu to open the Insert Special Characters window. Insert the special character.

Then... and this is the source of my frustration and the reason I'm asking for the enhancement...

I have to close the window in order to navigate to the next place I want to insert a special character. (The next resistor value.) I then have to access the Insert Special Character menu again to insert another Omega.

With multiple special characters in one document, this results in a lot of what I consider wasted effort of clicking menus. If the Insert Special Character window would stay open while letting me navigate the document, it would save a great deal of time.

I can't think of any downside to this modeless window behavior as this is exactly the way the Insert Cross Reference window behaves.

Please let me know if more details are needed.

Comment 8 V Stuart Foote 2021-06-23 21:31:28 UTC
Sorry, but without UX consensus to restore the positional UNICODE charmap and the input buffer (bug 115477)--making the SCD modeless does not make sense.

Short of that, the configurable Recents/Favorites counts of the bug 120753 expanded split button are a better UI approach. 

A single click away to select and place any of the recents or favorites.
Comment 9 Heiko Tietze 2021-06-24 07:58:07 UTC
(In reply to Dave from comment #7)
> I can't think of any downside to this modeless window behavior as this is
> exactly the way the Insert Cross Reference window behaves.

Good overview of pro and con is here https://www.nngroup.com/articles/modal-nonmodal-dialog/, probably supporting your take. Another point is technical: the dialog needs to be closed when the app is terminated. Similar effort was made for the tip-of-the-day dialog in bug 127533. 

When you talk about special characters you need to make clear whether this is about the floating widget or the dialog. For the first I could imagine to tweak it so the widget can be displaced from the toolbar and stays on the UI. Like it works for shapes.

I don't close tickets that have been reopened, removing needsUXEval keyword.
Comment 10 V Stuart Foote 2021-06-24 13:33:49 UTC
@Heiko, *

Wait, why set this to NEW? 

What is the UX concensus/resolution for this enhancement--are we going to move forward to restore the function of the SCD--with full UNICODE positional charts (rather than packed) and its input string buffer?

Are we going to make the SCD split button 'tearable' and persistent?

Are we going to allow user configuration of how many entrys to expose on the SCD split button, and to hold in the Recents & Favorites stack?

Work to be done yet, UX decision(s) to be made...
Comment 11 Dave 2021-06-24 14:11:57 UTC
As to the dialog or widget question, I am using the dialog. I'll attach a screenshot.
Comment 12 Dave 2021-06-24 14:14:15 UTC
Created attachment 173173 [details]
Screenshot of what I refere to as the Special Character  window.
Comment 13 Heiko Tietze 2021-06-28 09:45:24 UTC
(In reply to V Stuart Foote from comment #10)
> Wait, why set this to NEW? 

Being able to detach the floating widget makes sense, so I set NEW. But the whole dialog... -1 as well. => WF
Comment 14 Dave 2021-06-28 21:29:26 UTC
If a modeless window is the wrong fit for Insert Special Character, how can it be the right fit for Insert Cross-Reference?

The Insert Cross-Reference dialog is modeless. I can navigate my document without closing and reopening to insert a cross reference. This is inconsistent with the Insert Special Character dialog that requires me to close it before I can navigate to a new position in the document.

Why present two different dialog behaviors to the end user? To what advantage? Shouldn't the goal be a consistent user interface? If the "Insert X" dialog works one way and the "Insert Y" menu is different, how is that better?
Comment 15 Heiko Tietze 2021-06-29 07:39:40 UTC
(In reply to Dave from comment #14)
> If a modeless window is the wrong fit for Insert Special Character, how can
> it be the right fit for Insert Cross-Reference?

Wouldn't have made the cross-reference dialog modeless. You could also ask why the paragraph/character properties are modal. "Modeless interaction" should be done via sidebar (or toolbar/Notebookbar), which has limitations itself. Eg. you are probably unhappy if you always have to switch from the properties deck to the reference or special character deck. You use case is to insert frequently used special characters and the supposed workflow is to use the floating widget. I agree here with the modification to detach it from the toolbar to get rid of the one click.
Comment 16 Dave 2021-06-29 18:14:57 UTC
From the information in the article previously linked: https://www.nngroup.com/articles/modal-nonmodal-dialog/, I would say the balance tips to non-modal.

Listed disadvantages of modal dialogs that directly apply to my experience.
* They interrupt the user’s workflow.
* They cause users to forget what they were doing. (Due to task switching.)
* They block the content in the background.

The article goes on to say that modal dialogs are appropriate "for important warnings, as a way to prevent or correct critical errors."

I can see a Save or Discard Changes dialog being modal. Insert Special Character? Not so much, for the disadvantages listed above.

There's plenty of screen real estate on a modern 16:9 display to have a document and a dialog side by side.

I'm not claiming this is a high-priority enhancement, it just seems like it would offer consistency for the end user and that there is not much programming effort involved to make it happen.

Having more than one way to accomplish a task is a good thing.
Comment 17 Mike Kaganski 2022-08-08 11:16:17 UTC

*** This bug has been marked as a duplicate of bug 56301 ***