Background
I enrolled in Google Summer of Code this year with Inkscape as my mentor organization. I proposed to implement the Command palette and the Macros (more on that later).
About
The 'Command Palette' feature is finally merged in Inkscape's master branch, it has still a long way to go, but now you can easily contribute and try it out. It is currently available in version 1.1-alpha, and it may even land in version 1.1.
So what even is command palette?
Command Palette
If I had to summarize it in a sentence
The Command Palette is an Access Point with a text interface.
Woah! No jargon!
You can do things by typing.
What does it do? Search and/or Execute.
Why though?
- To Maximize the speed and efficiency of the user and to minimize frustration and boredom.
Final goals
- Search for actions and execute them.
- Search for recent files and open/import them.
- Remember previous commands and their parameters.
- Execute Python code.
- Execute shell commands.
What are actions?
Actions are the backbone of everything you do in Inkscape.
- Rotating an object is an action.
- Zooming in and out are actions.
Current status
Don't try to be an oracle, tell me what it can do now!
- Search for actions and execute them.
- Search for recent files and open/import them.
- Remember previous commands and their parameters.
Well, that's it for now, more features will be added in the future.
How to use?
NOTE: only available in Inkscape 1.1-dev or 1.1-alpha
To open the Command Palette, press ?. You are greeted with a beautiful (not really) dialog.
If you can't stand this beauty (not really), you can close it by
- Clicking on canvas or any object on the canvas.
- Pressing esc.
- Pressing ? again.
Testing it out
- Type
snap
and now you can easily find the snapping option you want without hovering over every icon. - Select an object, type
rotate
, and then press enter, put in the angle you want to rotate the object by, and press enter again. - Type a recent filename you worked on (before restart). There will be two options:
open
andimport
.Open
just opens it in a new document in a new window, whileimport
, imports the image in the current document.
Scroll through the operations available when you open the command palette.
Some operations are missing
- Inkscape is moving from, verbs to actions, and thus not all features of Inkscape are available through the command palette.
History
The command palette remembers the last commands you performed. To access them press the up key when Command Palette is in focus.
Press the down key when on the most recent command to go back from history mode to search mode.
Many actions that you use take input or parameter, for example, rotate
action takes angle, transform
action takes distances to move an object by, in x
and y
directions.
Parameters of actions
are also remembered (doesn't work in 1.1-alpha), so when you're asked degrees for rotate
, you can just press the up key until you find the previously used value you wanted.
TODO
- Porting more verbs to actions.
- Favourites.
- Set shortcuts from the command palette.
- Display the menu location of an action.
- Better searching algorithm.
- Input descriptions
- Cleanliness: many actions aren't useful for GUI users and hence should not appear in the command palette.
...and many more. It's still a new feature, written by a kid during summer, so there's a lot of room for improvement.
Contributing
- Make a feature request or report a bug in the Inbox bug tracker.
- Help in making it more intuitive in the UX discussion channel
- Want to code? Get in touch on the Inkscape Chat, ping
@rathod-sahaab
, maybe I can help you get up to speed, or reach out on Twitter@swayambhu_dev
.
Top comments (3)
A command palette is a great tool for any power user. Good job!
This is really exciting. GGWP!
BBH