code: Remove global variables from rose.h
Global variables in headers may not work the way you think, so it's safer to make a static local one.
This commit is contained in:
parent
76e48c89f9
commit
be0d500024
21
rose.c
21
rose.c
|
@ -3,14 +3,15 @@
|
||||||
#define MSGBUFSZ 8
|
#define MSGBUFSZ 8
|
||||||
#define LENGTH(x) (sizeof(x) / sizeof(x[0]))
|
#define LENGTH(x) (sizeof(x) / sizeof(x[0]))
|
||||||
|
|
||||||
guint xid;
|
static Display *glob_dpy;
|
||||||
|
static guint glob_xid;
|
||||||
|
|
||||||
void setatom(int a, const char *v)
|
void setatom(int a, const char *v)
|
||||||
{
|
{
|
||||||
XChangeProperty(dpy, xid,
|
XChangeProperty(glob_dpy, glob_xid,
|
||||||
atoms[a], atoms[AtomUTF8], 8, PropModeReplace,
|
atoms[a], atoms[AtomUTF8], 8, PropModeReplace,
|
||||||
(unsigned char *)v, strlen(v) + 1);
|
(unsigned char *)v, strlen(v) + 1);
|
||||||
XSync(dpy, False);
|
XSync(glob_dpy, False);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* getatom(int a)
|
const char* getatom(int a)
|
||||||
|
@ -21,8 +22,8 @@ const char* getatom(int a)
|
||||||
unsigned long ldummy;
|
unsigned long ldummy;
|
||||||
unsigned char *p = NULL;
|
unsigned char *p = NULL;
|
||||||
|
|
||||||
XSync(dpy, False);
|
XSync(glob_dpy, False);
|
||||||
XGetWindowProperty(dpy, xid,
|
XGetWindowProperty(glob_dpy, glob_xid,
|
||||||
atoms[a], 0L, BUFSIZ, False, atoms[AtomUTF8],
|
atoms[a], 0L, BUFSIZ, False, atoms[AtomUTF8],
|
||||||
&adummy, &idummy, &ldummy, &ldummy, &p);
|
&adummy, &idummy, &ldummy, &ldummy, &p);
|
||||||
if (p)
|
if (p)
|
||||||
|
@ -36,14 +37,14 @@ const char* getatom(int a)
|
||||||
|
|
||||||
static void setup()
|
static void setup()
|
||||||
{
|
{
|
||||||
if (!(dpy = XOpenDisplay(NULL))) {
|
if (!(glob_dpy = XOpenDisplay(NULL))) {
|
||||||
puts("Can't open default display");
|
puts("Can't open default display");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
atoms[AtomFind] = XInternAtom(dpy, "_ROSE_FIND", False);
|
atoms[AtomFind] = XInternAtom(glob_dpy, "_ROSE_FIND", False);
|
||||||
atoms[AtomGo] = XInternAtom(dpy, "_ROSE_GO", False);
|
atoms[AtomGo] = XInternAtom(glob_dpy, "_ROSE_GO", False);
|
||||||
atoms[AtomUri] = XInternAtom(dpy, "_ROSE_URI", False);
|
atoms[AtomUri] = XInternAtom(glob_dpy, "_ROSE_URI", False);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void run(GtkApplication *app)
|
static void run(GtkApplication *app)
|
||||||
|
@ -56,7 +57,7 @@ static void run(GtkApplication *app)
|
||||||
if (!options[HOMEPAGE])
|
if (!options[HOMEPAGE])
|
||||||
options[HOMEPAGE] = "https://duckduckgo.com";
|
options[HOMEPAGE] = "https://duckduckgo.com";
|
||||||
|
|
||||||
xid = rose_window_show(app, window, options[HOMEPAGE]);
|
glob_xid = rose_window_show(app, window, options[HOMEPAGE]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
|
|
1
rose.h
1
rose.h
|
@ -17,6 +17,5 @@
|
||||||
|
|
||||||
enum { AtomFind, AtomGo, AtomUri, AtomUTF8, AtomLast };
|
enum { AtomFind, AtomGo, AtomUri, AtomUTF8, AtomLast };
|
||||||
static Atom atoms[AtomLast];
|
static Atom atoms[AtomLast];
|
||||||
static Display *dpy;
|
|
||||||
const char* getatom(int a);
|
const char* getatom(int a);
|
||||||
void setatom(int a, const char *v);
|
void setatom(int a, const char *v);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user