Displaying the chains of frames when using the linking tool

Previous topic - Next topic

a.l.e

A few days ago I've created a ticket for the linking tool:

show the linking arrows for the newly created linked text frames

During the weekend, I've spent some time with the Scribus code, and tried to tweak the code to achieve the result I asked for.
I'm not there, but I have made some progress.

While hacking around, I've tried different combinations of what is being shown and how the tool behaves in different situations.
Personally, I have the feeling that Scribus does often not behave in a predictable way, but I have hard time sketching a better overall behavior.
This might also be related to the fact that I'm using the tool in contrived testing setups.

Here a description of the current feature:

  • If no text frame is active, the linking tool is disabled.
  • If there is a selection, but it contains non text frames, the tool is disabled.
  • If there are at least two text frames selected (and no other type of items in the selection), the frames get linked, in the order they have been selected and the tool deactivated. If the frames are empty, there is no visual feedback.
  • (If multiple text frames are linked at once, each individual action is recorded as an undo step... which is not really correct, but I guess that we can live with it)
  • If a single (unlinked) text frame is selected, after having activated the linking tool one can click on a "free" text frame and get it to be linked. The newly created link is (very) shortly saved and, if there is no text in the frame, there is no real visual feedback that the action was successful.
  • If a single text frame with incoming links is selected, activating the linking tool shows the existing chains for the selected item and clicking on a "free" text frame adds it at the end of the current chain.
  • If a single text frame with outgoing links is selected, activating the linking tool shows the existing chain for the selected item and clicking on any text frame will trigger a pop up stating that the item is already linked.
  • If a single text frame is selected, activate the linking tool, and the target is a frame that is already in a chain, a pop up asks if the new item should be inserted before or after the target item.

... I hope that i caught all finesses of the tool...

Here my thoughts about the current state:

  • It's complex.
  • When "Show text chains" is disabled and linking frames in an "empty" layout (the text frames being empty), the user does not get any real feedback if the linking action has correctly been executed.
  • Starting the linking action is not as intuitive as it could be: the user should be able to activate the linking tool before doing any specific action (currently, they need to first select the target frame in the existing chain or a "free" text frame, before activating the tool)
  • There is no straight forward way to see the existing chains in the document (ctrl+/ -> "chain" -> ENTER -> ctrl+/ -> "chain" -> ENTER" ... or selecting a "random" text frame and then press "n" two times)
  • The arrows are a bit ugly... (ticket created: https://bugs.scribus.net/view.php?id=17386)

All this having been said, there are already a few behaviors that I'd like to see changed:

  • The linking tool should always be enabled.
  • If the linking tool gets enabled with an existing selection, the selected items should be linked to each other, in the order of selection (if some items are not text frames, they should be ignored)
  • Selecting multiple items at once should create a selection in ltr / rtl order, not in the order of creation of the items (ctrl-a, area selection; new ticket created)
  • There should be a way to see the existing chains without switching the view options.

But for the further details, I still haven't found a sound behavior that would be fitting in every case.

Does anybody have further thoughts that could help improve the linking tool?

nitramr

InDesign has a nice implementation for text frame linking. They don't have a tool at all. The text frame linking/unlinking is integrated in the text frame itself on canvas. I also like the key modifier options.
https://www.youtube.com/watch?v=jUP1kMsIYV0


Some time ago I made a concept of the text frame which is inspired by InDesign and other DTP software.

Scribus could have similar "slots" on the text frame to pull out and connect text frames. A more advanced implementation compared to InDesign and others could be to place the slots on different positions based on text direction of the text frame.

A text frame tool in Scribus could be used like a pen to draw a line from one text frame to another one to connect them. In example, if you have 3 text frames in 3 columns. You could draw a straight line from left to right to connect all 3 text frame in the order of drawing.
If the text frame tool is active, you see all connection on canvas. By clicking on a connection line, you unlink the connected text frames.

But the drawing approach is very similar to your proposal of text frame selection.