--- a/gntmain.c Fri May 10 01:44:45 2019 -0400
+++ b/gntmain.c Fri May 10 01:59:17 2019 -0400
@@ -303,8 +303,9 @@
gboolean is_special = FALSE;
gboolean is_escape = FALSE;
- if (wm->mode == GNT_KP_MODE_WAIT_ON_CHILD)
+ if (gnt_wm_get_keypress_mode(wm) == GNT_KP_MODE_WAIT_ON_CHILD) { @@ -374,8 +375,9 @@
- if (wm->mode == GNT_KP_MODE_WAIT_ON_CHILD)
+ if (gnt_wm_get_keypress_mode(wm) == GNT_KP_MODE_WAIT_ON_CHILD) { rd = read(STDIN_FILENO, keys + HOLDING_ESCAPE, sizeof(keys) - 1 - HOLDING_ESCAPE);
@@ -878,7 +880,7 @@
- wm->mode = GNT_KP_MODE_NORMAL;
+ gnt_wm_set_keypress_mode(wm, GNT_KP_MODE_NORMAL); @@ -902,7 +904,7 @@
g_source_remove(channel_read_callback);
- wm->mode = GNT_KP_MODE_WAIT_ON_CHILD;
+ gnt_wm_set_keypress_mode(wm, GNT_KP_MODE_WAIT_ON_CHILD); g_child_watch_add(pid, reap_child, cp);
@@ -910,7 +912,8 @@
gboolean gnt_is_refugee()
- return (wm && wm->mode == GNT_KP_MODE_WAIT_ON_CHILD);
+ gnt_wm_get_keypress_mode(wm) == GNT_KP_MODE_WAIT_ON_CHILD); const char *C_(const char *x)
--- a/gntwm.c Fri May 10 01:44:45 2019 -0400
+++ b/gntwm.c Fri May 10 01:59:17 2019 -0400
@@ -91,6 +91,8 @@
* determine whether to give focus to a new window.
@@ -263,8 +265,11 @@
- if (wm->mode == GNT_KP_MODE_WAIT_ON_CHILD)
+ GntWMPrivate *priv = gnt_wm_get_instance_private(wm); + if (priv->mode == GNT_KP_MODE_WAIT_ON_CHILD) { @@ -450,7 +455,7 @@
- if (wm->mode != GNT_KP_MODE_NORMAL) {
+ if (priv->mode != GNT_KP_MODE_NORMAL) { @@ -1127,11 +1132,12 @@
ensure_normal_mode(GntWM *wm)
GntWMPrivate *priv = gnt_wm_get_instance_private(wm);
- if (wm->mode != GNT_KP_MODE_NORMAL) {
+ if (priv->mode != GNT_KP_MODE_NORMAL) { if (!gnt_ws_is_empty(priv->cws)) {
window_reverse(gnt_ws_get_top_widget(priv->cws), FALSE, wm);
- wm->mode = GNT_KP_MODE_NORMAL;
+ priv->mode = GNT_KP_MODE_NORMAL; @@ -1148,7 +1154,7 @@
- wm->mode = GNT_KP_MODE_MOVE;
+ priv->mode = GNT_KP_MODE_MOVE; window_reverse(gnt_ws_get_top_widget(priv->cws), TRUE, wm);
@@ -1167,7 +1173,7 @@
- wm->mode = GNT_KP_MODE_RESIZE;
+ priv->mode = GNT_KP_MODE_RESIZE; window_reverse(gnt_ws_get_top_widget(priv->cws), TRUE, wm);
@@ -1328,7 +1334,8 @@
GntWM *wm = GNT_WM(bindable);
GntWMPrivate *priv = gnt_wm_get_instance_private(wm);
- if (!wm->menu && !priv->list.window && wm->mode == GNT_KP_MODE_NORMAL) {
+ if (!wm->menu && !priv->list.window && + priv->mode == GNT_KP_MODE_NORMAL) { @@ -2092,7 +2099,7 @@
/* Do some manual checking */
- if (!gnt_ws_is_empty(priv->cws) && wm->mode != GNT_KP_MODE_NORMAL) {
+ if (!gnt_ws_is_empty(priv->cws) && priv->mode != GNT_KP_MODE_NORMAL) { int xmin = 0, ymin = 0, xmax = getmaxx(stdscr), ymax = getmaxy(stdscr) - 1;
GntWidget *widget = gnt_ws_get_top_widget(priv->cws);
@@ -2103,7 +2110,7 @@
- if (wm->mode == GNT_KP_MODE_MOVE) {
+ if (priv->mode == GNT_KP_MODE_MOVE) { if (strcmp(keys, GNT_KEY_LEFT) == 0) {
@@ -2122,7 +2129,7 @@
window_reverse(widget, TRUE, wm);
- } else if (wm->mode == GNT_KP_MODE_RESIZE) {
+ } else if (priv->mode == GNT_KP_MODE_RESIZE) { if (strcmp(keys, GNT_KEY_LEFT) == 0) {
} else if (strcmp(keys, GNT_KEY_RIGHT) == 0) {
@@ -2142,7 +2149,7 @@
if (strcmp(keys, "\r") == 0 || strcmp(keys, "\033") == 0) {
window_reverse(widget, FALSE, wm);
- wm->mode = GNT_KP_MODE_NORMAL;
+ priv->mode = GNT_KP_MODE_NORMAL; @@ -2439,3 +2446,27 @@
+gnt_wm_get_keypress_mode(GntWM *wm) + GntWMPrivate *priv = NULL; + g_return_val_if_fail(GNT_IS_WM(wm), GNT_KP_MODE_NORMAL); + priv = gnt_wm_get_instance_private(wm); +gnt_wm_set_keypress_mode(GntWM *wm, GntKeyPressMode mode) + GntWMPrivate *priv = NULL; + g_return_if_fail(GNT_IS_WM(wm)); + priv = gnt_wm_get_instance_private(wm); --- a/gntwm.h Fri May 10 01:44:45 2019 -0400
+++ b/gntwm.h Fri May 10 01:59:17 2019 -0400
@@ -44,14 +44,6 @@
#define GNT_IS_WM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_WM))
#define GNT_WM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_WM, GntWMClass))
- GNT_KP_MODE_WAIT_ON_CHILD
typedef struct _GntNode GntNode;
@@ -106,8 +98,6 @@
- GntKeyPressMode GNTSEAL(mode);
GHashTable *GNTSEAL(positions);
--- a/gntwmprivate.h Fri May 10 01:44:45 2019 -0400
+++ b/gntwmprivate.h Fri May 10 01:59:17 2019 -0400
@@ -26,6 +26,14 @@
+ GNT_KP_MODE_WAIT_ON_CHILD /* Private access to some internals. Contact us if you need these. */
@@ -47,6 +55,9 @@
gboolean gnt_wm_get_event_stack(GntWM *wm);
void gnt_wm_set_event_stack(GntWM *wm, gboolean set);
+GntKeyPressMode gnt_wm_get_keypress_mode(GntWM *wm); +void gnt_wm_set_keypress_mode(GntWM *wm, GntKeyPressMode mode); #endif /* GNT_WM_PRIVATE_H */