Skip to content
Apply a style through a small in place dialog.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
src
LICENSE
README.md

README.md

Scribus Plugin: Apply a style

Scribus plugin for applying a style through a small in-place dialog.

This plugin is an alternative to keyboard shortcuts for applying paragraph and character styles.

Press cltr-shift-space to trigger the "Apply a style" dialog:

Apply paragraph styles

Simply type the first letters of the style name and press the Return key.

You can also apply character styles:

Apply a character style

Take care, that at the time of writing, you should first select some text before being able to apply any charcter formatting.

This plugin is not in Scribus yet: you have to compile Scribus with this plugin if you want to use it.

Features

The dialog is composed by:

  • A text box for typing part of the styles name (spaces are ignored)
  • A list showing the matching styles:
    • the first style in alphabetical order is preselected.
    • the currently matching style is marked as bold.
    • paragraph styles are prefixed by a ¶, character styles by T.
  • Tab moves to the next style in the list
  • Return selects the first style in the list.
  • Esc closes the dialog without applying the style.
  • No mouse interaction is possible (the policy will only be reivisde, if somebody can present a valid reason for using the mouse).

Future plans

  • Can be launched through a shortcut and the menues (for discovaribility).
  • If scribus is in edit mode, the dialog shows at the cursor position. (The dialog is currently in the middle of the window)
  • Otherwise, if a text frame is selected, shows at a yet to be defined position in the visible part of the text frame (or somewhere in the window)
  • The list of matching styles should be empty if too many styles are matching.
  • Preselect the last style applied?
  • Shift-Tab should go backwards in the list.
  • Show icons for each type of style.
  • Support other types of styles as text styles.
  • allow to apply the style to multiple items of the same type.

Installing

First make sure that you have the ScribusAPI plugin installed (https://github.com/aoloe/scribus-plugin-API).

Clone the scribus-plugin-export-plugin repository and put – or symlink – its src directory into scribus/plugins/ as applystyle. Then add

ADD_SUBDIRECTORY(applyStyle)

to CMakeList.txt file in scribus/plugins/.

make your Scribus.

In File > Preferences > Keyboard Shortcuts set Ctrl-Shift-Space for the Apply a Style command.

Warning: If you're compiler does not default to c++11, you will have to add -DWANT_CPP11 to your cmake command.

Todo

  • get the cursor position on the screen
  • refresh the rendering of the frame and mark the document as dirty.
  • move the ApplyStyleDialogListItem struct away from the dialog file.
  • Get "h1" to match "Heading 1" and "dp" "Default Paragraph Style" (space is the delimiter, if there is no direct match)

Further ideas:

  • Add an API function to know the position of the cursor in the frame (not the index, the x, y coordinates)
  • Create a dialog that captures the keys but has not input field (if possible).
  • Create a dialog that resizes according to the content (upwards or downwards)

Notes

You can’t perform that action at this time.