*/
private boolean focusFollowsMouse = false;
+ /**
+ * If true, display a text-based mouse cursor.
+ */
+ private boolean textMouse = true;
+
+ /**
+ * If true, hide the mouse after typing a keystroke.
+ */
+ private boolean hideMouseWhenTyping = false;
+
+ /**
+ * If true, the mouse should not be displayed because a keystroke was
+ * typed.
+ */
+ private boolean typingHidMouse = false;
+
/**
* The list of commands to run before the next I/O check.
*/
);
}
}
+
+ // Text block mouse option
+ if (System.getProperty("jexer.textMouse", "true").equals("false")) {
+ textMouse = false;
+ }
+
+ // Hide mouse when typing option
+ if (System.getProperty("jexer.hideMouseWhenTyping",
+ "false").equals("true")) {
+
+ hideMouseWhenTyping = true;
+ }
+
}
// ------------------------------------------------------------------------
// Special application-wide events -----------------------------------
+ if (event instanceof TKeypressEvent) {
+ if (hideMouseWhenTyping) {
+ typingHidMouse = true;
+ }
+ }
+
// Peek at the mouse position
if (event instanceof TMouseEvent) {
+ typingHidMouse = false;
+
TMouseEvent mouse = (TMouseEvent) event;
if ((mouseX != mouse.getX()) || (mouseY != mouse.getY())) {
oldMouseX = mouseX;
// Peek at the mouse position
if (event instanceof TMouseEvent) {
+ typingHidMouse = false;
+
TMouseEvent mouse = (TMouseEvent) event;
if ((mouseX != mouse.getX()) || (mouseY != mouse.getY())) {
oldMouseX = mouseX;
Cell cell = getScreen().getCharXY(x, y);
if (cell.isImage()) {
cell.invertImage();
+ }
+ if (cell.getForeColorRGB() < 0) {
+ cell.setForeColor(cell.getForeColor().invert());
} else {
- if (cell.getForeColorRGB() < 0) {
- cell.setForeColor(cell.getForeColor().invert());
- } else {
- cell.setForeColorRGB(cell.getForeColorRGB() ^ 0x00ffffff);
- }
- if (cell.getBackColorRGB() < 0) {
- cell.setBackColor(cell.getBackColor().invert());
- } else {
- cell.setBackColorRGB(cell.getBackColorRGB() ^ 0x00ffffff);
- }
+ cell.setForeColorRGB(cell.getForeColorRGB() ^ 0x00ffffff);
+ }
+ if (cell.getBackColorRGB() < 0) {
+ cell.setBackColor(cell.getBackColor().invert());
+ } else {
+ cell.setBackColorRGB(cell.getBackColorRGB() ^ 0x00ffffff);
}
getScreen().putCharXY(x, y, cell);
if ((onlyThisCell == true) || (cell.getWidth() == Cell.Width.SINGLE)) {
}
}
- // Draw mouse at the new position.
- invertCell(mouseX, mouseY);
+ if ((textMouse == true) && (typingHidMouse == false)) {
+ // Draw mouse at the new position.
+ invertCell(mouseX, mouseY);
+ }
oldDrawnMouseX = mouseX;
oldDrawnMouseY = mouseY;
menuColor);
getScreen().putStringXY(x + 1, 0, menu.getTitle(), menuColor);
// Draw the highlight character
- getScreen().putCharXY(x + 1 + menu.getMnemonic().getShortcutIdx(),
+ getScreen().putCharXY(x + 1 + menu.getMnemonic().getScreenShortcutIdx(),
0, menu.getMnemonic().getShortcut(), menuMnemonicColor);
if (menu.isActive()) {
getScreen().unsetImageRow(mouseY);
}
}
- invertCell(mouseX, mouseY);
+ if ((textMouse == true) && (typingHidMouse == false)) {
+ invertCell(mouseX, mouseY);
+ }
oldDrawnMouseX = mouseX;
oldDrawnMouseY = mouseY;