diff options
Diffstat (limited to 'patch/sortscreens.c')
| -rw-r--r-- | patch/sortscreens.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/patch/sortscreens.c b/patch/sortscreens.c new file mode 100644 index 0000000..538e2c1 --- /dev/null +++ b/patch/sortscreens.c @@ -0,0 +1,16 @@ +void +sortscreens(XineramaScreenInfo *screens, int n) +{ + int i, j; + XineramaScreenInfo *screen = ecalloc(1, sizeof(XineramaScreenInfo)); + + for (i = 0; i < n; i++) + for (j = i + 1; j < n; j++) + if (RIGHTOF(screens[i], screens[j])) { + memcpy(&screen[0], &screens[i], sizeof(XineramaScreenInfo)); + memcpy(&screens[i], &screens[j], sizeof(XineramaScreenInfo)); + memcpy(&screens[j], &screen[0], sizeof(XineramaScreenInfo)); + } + XFree(screen); +} + |
