Skip to content

A collection of small UI teaks#15

Closed
monkeyiq wants to merge 8 commits intofontforge:masterfrom
monkeyiq:workshop2012b4
Closed

A collection of small UI teaks#15
monkeyiq wants to merge 8 commits intofontforge:masterfrom
monkeyiq:workshop2012b4

Conversation

@monkeyiq
Copy link
Copy Markdown
Contributor

  • Prefer to use the local htdocs for the help menu.
    Notes: There was already a bunch of support for this, with the fallback
    to the website. Unforunately the path it was looking at for local help
    was $prefix/share/fontforge/doc/fontforge/
    should be $prefix/share/doc/fontforge/
    So I updated the build system to include DOCDIR and used that first,
    which allows local access to the htdocs for me. I build with a prefix
    of /tmp/fontforge.
  • In Glyph window change key bindings for
    zoom out to – and
    zoom in to = and +
    backspace/del key bind to Edit, Merge
    --> I just noticed that I only changed the del key to this. Remapped the
    old Edit/Clear (was del) to Control+Del to have it remain around.
  • cubic/quad and fg/bg are no longer clickable in the layers palette. They have fairly large implication to changing the setting and are rare to change.
  • Glyph window, Element, Get Info should be rename 'Point Info'
  • Glyph window, right click point, Get Info should be rename 'Point
    Info'
  • Remove all the tool options and layer name options from the menu shown
    when in the Glyph window you right click a point.
  • When you select two points and right click, the menu should have these
    4 menu items currently only on the Point menu: Make Line, Make Arc,
    Insert Point on Spline At, Name Contour.

the default was to fallback to the website. If the docdir is correct,
then the help menu will direct to local help files instead of the
Internet. Handy if you're on a laptop and want to RTFM at 10km.
  show/hide eye,
  cubic/quadratic
  background/foreground attributes,
  the layer name.

The cubic/quadratic and background/foreground attributes should NOT be
buttons that can change these attributes, they should only SHOW the
attribute. Changing the attributes can be done in Font Info, Layers,
and is done infrequently and has a lot of implications so shouldn't be
easily done by mistake.
@khaledhosny
Copy link
Copy Markdown
Contributor

All sound good (from your explanation, didn't check the code :) except:

  • Get Info works with points and anchors as well, so renaming it to Point Info is not appropriate, I agree a clearer name is desired, though.
  • I don't like the del key change, there is ctrl+m for merge already, when I press delete I expect to delete the selected element be it a point, anchor, reference etc. changing it for points is inconsistent IMO, besides it is one of the things I hate about Inkscape.

@davelab6
Copy link
Copy Markdown
Member

Anchors are a special kind of point.

I just ran a 3 day workshop for 8 people on FontForge and they expect this
del key behaviour. I think software should meet users expectations.

Ben is going to redo the whole key shortcut system so it is easily user
configurable very shortly, so please accept this patch for now :-)

@khaledhosny
Copy link
Copy Markdown
Contributor

They can always use cntl+m, so I'm not convinced :) IIRC, it is a change that George refused to do in the past, too. I think there already support for customizable shortcuts using PO files, but I never used it.

@davelab6
Copy link
Copy Markdown
Member

Graphic designers who are not as computer savvy as you or I, and who use other design applications day-in day-out for years, find it very hard to re-learn short cuts. They complain when the software doesn't meet their expectations. But if this doesn't convince you, perhaps DEL should remain the same and CTRL-DEL should duplicate CTRL-M?

@khaledhosny
Copy link
Copy Markdown
Contributor

Personally, I’ve always found drawing/editing glyphs in FontForge more pleasant to use compared to Inkscape (didn’t try other vector editors), so being different is not something I find terribly bad. If we were doing this from scratch I’d see the merit in defaulting to more familiar shortcut, but a change like this is likely to annoy existing users (I’d be annoyed myself), so there need to be some very compelling reason to justify the change, which IMO is not the case here. To elaborate more on my consistency point above, I often select parts of the glyph I want to remove which often includes (parts of) splines, anchors, references or any compilation of them, and del key works consistently on all of them, and that is something I don’t want to loss.

That being said, aliasing ctrl+del as ctrl+m is fine (as long as it is not used for something else, I didn’t check).

As regard to Get Info, I don’t see anchors treated as points anywhere else in the UI, more ever it works on references which makes renaming it as Point Info a no op.

…el is now

a shortcut for edit/merge.

Reverted the renaming of Get Info to Point Info.

Speaking of merging, the pull req might be ready to a merging  ;)
@davelab6
Copy link
Copy Markdown
Member

@khaledhosny are you happy with ctrl-del as a duplicate default binding for ctrl-m? :)

@khaledhosny
Copy link
Copy Markdown
Contributor

Yes, that is fine by me (I already said that), but I think we need a new pull requests for all this stuff, github won't allow me to merge this one any more.

@davelab6 davelab6 closed this Aug 21, 2012
@davelab6
Copy link
Copy Markdown
Member

Ben, please rebase and make a new pull req :)

@monkeyiq
Copy link
Copy Markdown
Contributor Author

Upcoming shortly ;)

khaledhosny added a commit that referenced this pull request Aug 27, 2012
I don't know why it is crshing now (may be the resources?) as this code have
been like that since the dawn of time.

Traceback:

  0xb78289b0 in check_image_buffers (gdisp=0x84d5c78, neww=<optimized out>, newh=7, is_bitmap=0) at gimagexdraw.c:1705
  1705	    if ( width > gdisp->gg.iwidth || depth!=gdisp->gg.img->depth ) {
  (gdb) bt
  #0  0xb78289b0 in check_image_buffers (gdisp=0x84d5c78, neww=<optimized out>, newh=7, is_bitmap=0) at gimagexdraw.c:1705
  #1  0xb782b595 in gximage_to_ximage (image=0x8527ff0, src=0xbfffa0a0, gw=<optimized out>) at gimagexdraw.c:1778
  #2  0xb782e8c2 in _GXDraw_Image (_w=0x9bf4bb0, image=<optimized out>, src=0xbfffa0a0, x=8250, y=7) at gimagexdraw.c:1981
  #3  0xb7807a98 in GDrawDrawScaledImage (w=0x9bf4bb0, img=0x8527ff0, x=8250, y=7) at gdraw.c:488
  #4  0xb781b513 in GListMarkDraw (pixmap=0x9bf4bb0, x=8250, y=1, height=19, state=gs_enabled) at ggadgets.c:482
  #5  0xb788c493 in GMatrixEdit_SubExpose (gme=0x9bd9448, pixmap=0x9bf4bb0, event=0xbfffa400) at gmatrixedit.c:1691
  #6  0xb788c6b1 in matrixeditsub_e_h (gw=0x9bf4bb0, event=0xbfffa400) at gmatrixedit.c:1723
  #7  0xb78040da in _GWidget_Container_eh (gw=0x9bd9178, event=0xbfffa400) at gcontainer.c:269
  #8  0xb7878001 in dispatchEvent (gdisp=0x84d5c78, event=0xbfffa5ec) at gxdraw.c:3959
  #9  0xb7878162 in GXDrawProcessOneEvent (gdisp=0x84d5c78) at gxdraw.c:3991
  #10 0xb7808606 in GDrawProcessOneEvent (gdisp=0x84d5c78) at gdraw.c:748
  #11 0x080c77ff in ContextChainEdit (sf=0x9aa3c68, fpst=0x8ad982c, gfi=0x9afbfc0, newname=0x0, layer=1) at contextchain.c:3207
  #12 0x0818f14a in _LookupSubtableContents (sf=0x9aa3c68, sub=0x8a9d43c, sd=0x0, def_layer=1) at lookupui.c:5531
  #13 0x0813138d in LookupSubtableContents (gfi=0x9afbfc0, isgpos=0) at fontinfo.c:5941
  #14 0x08136a16 in LookupMouse (gfi=0x9afbfc0, isgpos=0, event=0xbfffe930) at fontinfo.c:7336
  #15 0x08136ccc in lookups_e_h (gw=0x9b98230, event=0xbfffe930, isgpos=0) at fontinfo.c:7380
  #16 0x08136d78 in gsublookups_e_h (gw=0x9b98230, event=0xbfffe930) at fontinfo.c:7399
  #17 0xb788f3b0 in drawable_e_h (pixmap=0x9b98230, event=0xbfffe930) at gdrawable.c:219
  #18 0xb78048a7 in _GWidget_Container_eh (gw=0x9b98230, event=0xbfffe930) at gcontainer.c:393
  #19 0xb7878001 in dispatchEvent (gdisp=0x84d5c78, event=0xbfffeb1c) at gxdraw.c:3959
  #20 0xb7878480 in GXDrawEventLoop (gd=0x84d5c78) at gxdraw.c:4058
  #21 0xb78086c1 in GDrawEventLoop (gdisp=0x84d5c78) at gdraw.c:766
  #22 0x0822457c in main (argc=1, argv=0xbffff134) at startui.c:1501
@coolwanglu coolwanglu mentioned this pull request Mar 5, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants