qulogic/libgnt

Hide GntWM->mode and GntKeyPressMode.

2019-05-10, Elliott Sales de Andrade
ef91bf9353e2
Parents 8d378fd7816e
Children f520becefaca
Hide GntWM->mode and GntKeyPressMode.
  • +8 -5
    gntmain.c
  • +42 -11
    gntwm.c
  • +0 -10
    gntwm.h
  • +11 -0
    gntwmprivate.h
  • --- 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) {
    return FALSE;
    + }
    if (HOLDING_ESCAPE) {
    is_escape = TRUE;
    @@ -374,8 +375,9 @@
    char *k;
    char *cvrt = NULL;
    - if (wm->mode == GNT_KP_MODE_WAIT_ON_CHILD)
    + if (gnt_wm_get_keypress_mode(wm) == GNT_KP_MODE_WAIT_ON_CHILD) {
    return FALSE;
    + }
    rd = read(STDIN_FILENO, keys + HOLDING_ESCAPE, sizeof(keys) - 1 - HOLDING_ESCAPE);
    if (rd < 0)
    @@ -878,7 +880,7 @@
    #ifndef _WIN32
    clean_pid();
    #endif
    - wm->mode = GNT_KP_MODE_NORMAL;
    + gnt_wm_set_keypress_mode(wm, GNT_KP_MODE_NORMAL);
    endwin();
    setup_io();
    refresh();
    @@ -902,7 +904,7 @@
    cp->callback = callback;
    cp->data = data;
    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);
    return TRUE;
    @@ -910,7 +912,8 @@
    gboolean gnt_is_refugee()
    {
    - return (wm && wm->mode == GNT_KP_MODE_WAIT_ON_CHILD);
    + return (wm &&
    + 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.
    */
    gboolean event_stack;
    +
    + GntKeyPressMode mode;
    } GntWMPrivate;
    enum
    @@ -263,8 +265,11 @@
    static gboolean
    update_screen(GntWM *wm)
    {
    - 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) {
    return TRUE;
    + }
    if (wm->menu) {
    GntMenu *top = wm->menu;
    @@ -450,7 +455,7 @@
    return;
    }
    - if (wm->mode != GNT_KP_MODE_NORMAL) {
    + if (priv->mode != GNT_KP_MODE_NORMAL) {
    ensure_normal_mode(wm);
    }
    @@ -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 @@
    return TRUE;
    }
    - wm->mode = GNT_KP_MODE_MOVE;
    + priv->mode = GNT_KP_MODE_MOVE;
    window_reverse(gnt_ws_get_top_widget(priv->cws), TRUE, wm);
    return TRUE;
    @@ -1167,7 +1173,7 @@
    return TRUE;
    }
    - wm->mode = GNT_KP_MODE_RESIZE;
    + priv->mode = GNT_KP_MODE_RESIZE;
    window_reverse(gnt_ws_get_top_widget(priv->cws), TRUE, wm);
    return TRUE;
    @@ -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) {
    ignore_keys = TRUE;
    return TRUE;
    }
    @@ -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;
    int x, y, w, h;
    GntWidget *widget = gnt_ws_get_top_widget(priv->cws);
    @@ -2103,7 +2110,7 @@
    ox = x; oy = y;
    ow = w; oh = h;
    - if (wm->mode == GNT_KP_MODE_MOVE) {
    + if (priv->mode == GNT_KP_MODE_MOVE) {
    if (strcmp(keys, GNT_KEY_LEFT) == 0) {
    if (x > xmin)
    x--;
    @@ -2122,7 +2129,7 @@
    window_reverse(widget, TRUE, wm);
    return TRUE;
    }
    - } else if (wm->mode == GNT_KP_MODE_RESIZE) {
    + } else if (priv->mode == GNT_KP_MODE_RESIZE) {
    if (strcmp(keys, GNT_KEY_LEFT) == 0) {
    w--;
    } 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;
    }
    return TRUE;
    }
    @@ -2439,3 +2446,27 @@
    priv->event_stack = set;
    }
    +
    +/* Private. */
    +GntKeyPressMode
    +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);
    +
    + return priv->mode;
    +}
    +
    +/* Private. */
    +void
    +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);
    +
    + priv->mode = mode;
    +}
    --- 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))
    -typedef enum
    -{
    - GNT_KP_MODE_NORMAL,
    - GNT_KP_MODE_RESIZE,
    - GNT_KP_MODE_MOVE,
    - GNT_KP_MODE_WAIT_ON_CHILD
    -} GntKeyPressMode;
    -
    typedef struct _GntNode GntNode;
    struct _GntNode
    @@ -106,8 +98,6 @@
    GntMenu *GNTSEAL(menu);
    - GntKeyPressMode GNTSEAL(mode);
    -
    GHashTable *GNTSEAL(positions);
    /*< private >*/
    --- 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 @@
    #include "gnt.h"
    #include "gntwm.h"
    +typedef enum
    +{
    + GNT_KP_MODE_NORMAL,
    + GNT_KP_MODE_RESIZE,
    + GNT_KP_MODE_MOVE,
    + GNT_KP_MODE_WAIT_ON_CHILD
    +} GntKeyPressMode;
    +
    G_BEGIN_DECLS
    /* 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);
    +
    G_END_DECLS
    #endif /* GNT_WM_PRIVATE_H */