Re: [spice-gtk v6 5/9] spicy: keep status of mouse/agent on server mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Feb 08, 2017 at 11:41:55AM -0600, Jonathon Jongsma wrote:
> On Tue, 2017-01-31 at 12:08 +0100, Victor Toso wrote:
> > From: Victor Toso <me@xxxxxxxxxxxxxx>
> > 
> > ---
> >  tools/spicy.c | 19 ++++++++++++-------
> >  1 file changed, 12 insertions(+), 7 deletions(-)
> > 
> > diff --git a/tools/spicy.c b/tools/spicy.c
> > index bffbef8..4712db6 100644
> > --- a/tools/spicy.c
> > +++ b/tools/spicy.c
> > @@ -180,25 +180,30 @@ static int ask_user(GtkWidget *parent, char
> > *title, char *message,
> >      return retval;
> >  }
> >  
> > +#define SPICY_STATUS_LABEL "mouse: %6s, agent: %3s"
> > +#define SPICY_UNGRAB_INFO "Use %s to ungrab mouse"
> > +
> >  static void update_status_window(SpiceWindow *win)
> >  {
> > -    gchar *status;
> > +    GString *status;
> >  
> >      if (win == NULL)
> >          return;
> >  
> > +    status = g_string_new(NULL);
> > +    g_string_printf(status, SPICY_STATUS_LABEL,
> > +                    win->conn->mouse_state,
> > +                    win->conn->agent_state);
> > +
> >      if (win->mouse_grabbed) {
> >          SpiceGrabSequence *sequence =
> > spice_display_get_grab_keys(SPICE_DISPLAY(win->spice));
> >          gchar *seq = spice_grab_sequence_as_string(sequence);
> > -        status = g_strdup_printf("Use %s to ungrab mouse.", seq);
> > +        g_string_append_printf(status, "\t"SPICY_UNGRAB_INFO, seq);
> >          g_free(seq);
> > -    } else {
> > -        status = g_strdup_printf("mouse: %s, agent: %s",
> > -                 win->conn->mouse_state, win->conn->agent_state);
> >      }
> >  
> > -    gtk_label_set_text(GTK_LABEL(win->status), status);
> > -    g_free(status);
> > +    gtk_label_set_text(GTK_LABEL(win->status), status->str);
> > +    g_string_free(status, TRUE);
> >  }
> >  
> >  static void update_status(struct spice_connection *conn)
>
>
> Perhaps I'm missing something, but these #defines only seem to be used
> a single time. What's the benefit of defining them rather than just
> using the literal string as the format argument?

The only reason for using a #define is to tag an label to the string,
which also defines a purpose, in this case 'status label'.

I tend to do that when string is always visible or for a common subset
of messages.

> I generally find that #defines used as format strings are more
> confusing because you can't immediately see how many additional
> arguments need to be passed to the printf function.

That's true. I don't see huge benefit to have this define here so I'll
drop it (also due the fact that no other part of the code does that, so
this would be inconsistent).

Cheers,
        toso

>
> Jonathon
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]