Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/find-free-display.c25
-rwxr-xr-xscripts/run-dogtail-tests3
-rwxr-xr-xscripts/shell/start-sugar3
3 files changed, 29 insertions, 2 deletions
diff --git a/scripts/find-free-display.c b/scripts/find-free-display.c
new file mode 100644
index 0000000..4a07131
--- /dev/null
+++ b/scripts/find-free-display.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <X11/extensions/Xrandr.h>
+
+int main(int argc, char **argv)
+{
+ int port;
+
+ for (port = 99; port < 1000; port++) {
+ char display_name[255];
+
+ sprintf(display_name, ":%d", port);
+ Display *dpy = XOpenDisplay(display_name);
+
+ if (!dpy) {
+ printf(display_name);
+ return 0;
+ } else {
+ XCloseDisplay(dpy);
+ }
+ }
+
+ printf("No free display found");
+
+ return 0;
+}
diff --git a/scripts/run-dogtail-tests b/scripts/run-dogtail-tests
index dcef0b8..e588645 100755
--- a/scripts/run-dogtail-tests
+++ b/scripts/run-dogtail-tests
@@ -3,8 +3,9 @@
scriptsdir=`dirname "$0"`
rootdir=`dirname "$scriptsdir"`
testsdir=$rootdir/tests
+scriptsdir=$rootdir/scripts
logsdir=$rootdir/logs
-display=:99
+display=`$scriptsdir/find-free-display`
resolution=1024x768x16
minver="0.8.0"
diff --git a/scripts/shell/start-sugar b/scripts/shell/start-sugar
index 86766fa..0bb1b5c 100755
--- a/scripts/shell/start-sugar
+++ b/scripts/shell/start-sugar
@@ -2,5 +2,6 @@
shelldir=`dirname "$0"`
scriptsdir=`dirname "$shelldir"`
+display=`$scriptsdir/find-free-display`
-xinit $scriptsdir/xinitrc -- :99
+xinit $scriptsdir/xinitrc -- $display