+static void PrefSingleInstanceCB(Widget w, void *udata, void *cdata) {
+ MainWindow *win = udata;
+ win->singleInstance = XmToggleButtonGadgetGetState(w);
+
+ Display *dp = XtDisplay(w);
+
+ if(!win->singleInstance) {
+ ShutdownInstanceSocket(dp);
+ return;
+ }
+
+ Bool disable_item = False;
+ if(CreateSingleInstanceSocket(dp, &disable_item)) {
+ // TODO: err
+ disable_item = True;
+ }
+ if(disable_item) {
+ win->singleInstance = 0;
+ XmToggleButtonGadgetSetState(w, False, False);
+ }
+}
+