Mantis Issue Tracking for Scribus
· Hosting provided by / Øverby Consulting ·

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0009156ScribusCanvaspublic10-Jun-10 22:4112-Jun-19 21:39
Assigned Tocezaryece 
PlatformlinuxOSFedoraOS Version10
Product Version1.3.7 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0009156: Feature: adjust frame to contents for text frames
DescriptionThis is one of what will be several feature-request reports I will be filing over the next few weeks, after we tried unsuccessfully to persuade someone to use Scribus so we didn't have to maintain an InDesign installation and she came up with a list of specific shortcomings of Scribus versus InDesign for her work.

In InDesign you can double-click the bottom of a text frame to automatically adjust the frame's height to fit the contents, and can double-click the bottom-right to automatically adjust both the width and the height for "optimal" text flow (using some algorithm I don't entirely understand, but whose most useful purpose is to shrink both the width and the height of a single-line text frame).

This is very useful for typesetting frames with short one-line captions, and for adjusting frame height after altering text content, rather than having to drag to a manually chosen height.

The attached patch implements this. If the bottom frame handle is double-clicked, it adjusts the height to find the smallest height that doesn't cause overflow (but won't go smaller than 10 points or larger than to the bottom of the page). If the bottom-right corner is double-clicked, it first adjusts the height and then tries to shrink the width as much as possible without creating overflow.

For a text frame that links to another frame, where there is already overflow into the other frame, it simply reduces height/width as much as possible without pushing additional characters into the other frame.

I first tried to implement this by seeing how much free space was left over then reducing height by a corresponding amount, but could see no way to make that work with frames of non-rectangular shape or frames with multiple columns where the column breaks might be influenced by other factors. So instead it now just does a straight binary search. The trial resizings are not entered into
the undo mechanism, but after the trial and error process the original dimensions are restored then an undoable change is made to the new size.
Attached Filespatch file icon scribus-1.3.7-textsnap-corrected.patch [^] (3,432 bytes) 10-Jun-10 23:09 [Show Content]
diff file icon autoheight.diff [^] (21,389 bytes) 12-Jun-19 15:59 [Show Content]

- Relationships

-  Notes
pspencer (reporter)
10-Jun-10 22:46

Arggh, just noticed I after hitting Submit that I submitted a bad patch (forgot the page offset). I'll upload a corrected one in a few minutes.
StefanM (reporter)
12-Jan-06 10:14

@pspencer I like that "bottom of a text frame to automatically adjust the frame's height to fit the contents", saves a lot of clicks in newspaper layout.

Reading your patch code: your patch fires only if frame handle is double-clicked.
I feel there should be a key and/or menu entry for this, as double clicking on frames is very messy in scribus.

More general: clicking on specific parts on scribus frames is a major usability problem, as you dont know which frame will be selected on a page with many overlapping frames. A workaround is using layers.
ale (manager)
12-Jun-18 08:33

i think that cezary is working on this...
cezaryece (developer)
12-Jun-19 15:59
edited on: 12-Jun-19 16:00

First initial patch for that issue.

For now it only brings two features:
1. adjusting text frame height to last line(s) descents (no matter if text fits in frame or flow away - frame`s height only shrinks to descents in last lines
Action has menu and contextmenu entry and is applicable by double click on bottom frame handle.
2. resize item size to page margin (in direction from which handle is clicked - right handle - resize to right margin, left handle - left margin, bottom/right handle - to bottom/left margin corner). As benefit it is working for all frames (image, render).

Patch is attached, you can see also autoheight branch in our scribus.git repo.

cbradney (administrator)
12-Jun-19 21:27

First part committed.. I'd prefer other options for activating 2) and it to be in scribusdoc probably rather than pageitem.

- Issue History
Date Modified Username Field Change
10-Jun-10 22:41 pspencer New Issue
10-Jun-10 22:41 pspencer File Added: scribus-1.3.7-textsnap.patch
10-Jun-10 22:46 pspencer Note Added: 0024036
10-Jun-10 23:09 pspencer File Added: scribus-1.3.7-textsnap-corrected.patch
10-Jun-11 23:27 jghali File Deleted: scribus-1.3.7-textsnap.patch
10-Jun-11 23:29 jghali Target Version => 1.5.0
12-Jan-06 09:49 StefanM Tag Attached: usability
12-Jan-06 10:14 StefanM Note Added: 0027473
12-Jun-18 08:33 ale Note Added: 0028180
12-Jun-18 21:25 ale Assigned To => cezaryece
12-Jun-18 21:25 ale Status new => assigned
12-Jun-19 15:59 cezaryece Note Added: 0028217
12-Jun-19 15:59 cezaryece File Added: autoheight.diff
12-Jun-19 16:00 cezaryece Note Edited: 0028217 View Revisions
12-Jun-19 21:27 cbradney Note Added: 0028223
12-Jun-19 21:33 cbradney Status assigned => resolved
12-Jun-19 21:33 cbradney Fixed in Version => 1.5.0svn
12-Jun-19 21:33 cbradney Resolution open => fixed
12-Jun-19 21:39 cbradney Status resolved => closed

Copyright © 2000 - 2014 MantisBT Team
Powered by Mantis Bugtracker