summaryrefslogtreecommitdiff
path: root/dwm/patch/sortscreens.c
diff options
context:
space:
mode:
authorcoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
committercoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
commit8cbadb61604667b407b53ee1258433994fa4765a (patch)
tree97765fb29418fd6278fcb4cbb9760893afaf7a58 /dwm/patch/sortscreens.c
Diffstat (limited to 'dwm/patch/sortscreens.c')
-rwxr-xr-xdwm/patch/sortscreens.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/dwm/patch/sortscreens.c b/dwm/patch/sortscreens.c
new file mode 100755
index 0000000..538e2c1
--- /dev/null
+++ b/dwm/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);
+}
+