Opened 13 years ago

Closed 11 years ago

#739 closed defect (fixed)

GRASS Shell non-functional in OS X

Reported by: jctull Owned by: telwertowski
Priority: major: does not work as expected Milestone: Version 1.2.0
Component: GRASS Version: Trunk
Keywords: grass shell keyboard plugin tools Cc: qgis-developer@…
Must Fix for Release: Yes Platform: OS X
Platform Version: 10.5.7 Awaiting user input: no

Description

The GRASS Shell impementation in OS X is non-functional. Oddly, trying to type in commands results in keyboard shortcuts being executed for qgis. For instance, trying to type v.in.ogr stops as soon as the v key is hit. The add vector layer dialog comes up.

I do not know if this is a qgis or qt problem. Perhaps there is a method to turn off keyboard shortcuts? If so, I would recommend having them off by default, or at least requiring some form of modifier like the option key.

This happens in 0.8.1 and 0.9.

Change History (13)

comment:1 Changed 13 years ago by jctull

Milestone: Version 0.9
Platform Version: OS X

Updated to reflect this issued effects v. 0.9.

comment:2 Changed 13 years ago by jctull

Component: GUIPlugins
Keywords: plugin tools added
Platform Version: OS X10.4.10

I tested the functionality of the GRASS shell with single-key shortcuts edited out of qgisapp.cpp (i.e., commented out "V", "N", ".", etc.) on OS X with the 0.9 source. Unfortunately, it is not so simple. The shell itself does not handle keyboard inputs properly, and there are also drawing/refresh problems (e.g., cursor disappears after sending a return keystroke).

I am changing this to a plugin defect rather than a gui defect.

comment:3 Changed 12 years ago by timlinux

Hi

For me on OSX building QGIS 0.9.1trunk clicking the grass shell in the tool box does not open any GRASS shell at all.

(Sorry to take so lng to respond to your email John)

Regards

Tim

comment:4 Changed 12 years ago by telwertowski

Owner: changed from nobody to telwertowski

Observations: The initial shell prompt does not appear. The shell subprocess dies at the first keystroke and the plugin doesn't notice. Action keys are processed be qgis because the shell subprocess is no longer there.

The connectivity between the shell subprocess and the plugin probably needs some Mac customization. More investigation is needed.

comment:5 Changed 12 years ago by telwertowski

Resolution: fixed
Status: newclosed

Fixed by r7707.

comment:6 Changed 11 years ago by jctull

Milestone: Version 0.9.1Version 1.2.0
Must Fix for Release: NoYes
Platform Version: 10.4.1010.5.7
Resolution: fixed
Status: closedreopened

The new grass plugin has caused this problem to return. Same behavior as before.

comment:7 Changed 11 years ago by jctull

The new ability to change keyboard shortcuts provides a workaround to this problem. I would suggest that the defaults for OS X should be changed to meta+Letter, e.g., meta+v for add vector layer. Otherwise, we need to come up with a proper solution or this will create many problems for OS X users.

comment:8 Changed 11 years ago by kyngchaos

Currently in Qgis 1.1.0 for me, when the GRASS shell is active, shortcuts are ignored. Though the menu still hilites briefly, which is distracting.

I would suggest, as John does, to not use plain keystrokes as shortcuts. This goes against OSX conventions (and guidelines?), and possibly Windows and Linux conventions as well. Since there appears to be some overlap in shortcuts vs. some that use platform standards or other meta keys (cmd-P for print, P for Properties), other modifier keys could also be used in combination with the platform meta (cmd-shift-P).

comment:9 Changed 11 years ago by pcav

Component: C++ PluginsGRASS

comment:10 Changed 11 years ago by pcav

I would suggest to change the shortcuts and close this bug. Please OSXers check this out

comment:11 Changed 11 years ago by kyngchaos

Are you saying change shortcuts to use meta keys for all systems (it would be good to be consistent across platforms), or create a special case set of shortcuts for OSX?

Either way, I don't know how/where to do this.

comment:12 Changed 11 years ago by kyngchaos

OK, I found where the shortcuts are initially set in qgisapp.cpp.

I checked all the single-letter shortcuts and all but one can be changed to meta+shift+letter without conflicts. Layer->Show all layers would conflict with Save As. ...hmm, maybe U for unhide.

I'll do this later, if I don't hear any better suggestions.

comment:13 Changed 11 years ago by kyngchaos

Resolution: fixed
Status: reopenedclosed

Applied in r11389.

There was also an anomaly with the + and - keys (used in zoom in/out and add/remove all from overview). + only registers with shift=, so there is no distinction between ctrl+ and shift-ctrl+. So I removed the ctrl +/- shortcuts from the add/remove all from overview actions and used ctrl +/- for zooming.

Note: See TracTickets for help on using tickets.