aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2012-08-22 11:56:12 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-08-22 11:56:12 +0000
commit28d0ae8d0e15d146f021042c99b66b8c041b4267 (patch)
tree966326777435c7d531e414aa4eab76a143db1af3
parent043bbd8cb9812fa0bf3f589297bab7aa02740b40 (diff)
downloadenlightenment-28d0ae8d0e15d146f021042c99b66b8c041b4267.tar.gz
enlightenment-28d0ae8d0e15d146f021042c99b66b8c041b4267.tar.xz
enlightenment-28d0ae8d0e15d146f021042c99b66b8c041b4267.zip
xkb lauout patch from jeremy! :)
SVN revision: 75543
-rw-r--r--AUTHORS1
-rw-r--r--src/bin/e_xkb.c29
2 files changed, 18 insertions, 12 deletions
diff --git a/AUTHORS b/AUTHORS
index d93288ec6..85ffc91e4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -35,3 +35,4 @@ Thomas Gstädtner <thomas@gstaedtner.net>
q66 <quaker66@gmail.com>
Tom Hacohen (TAsn) <tom@stosb.com>
Maxime Villard <rustyBSD@gmx.fr>
+Jeremy Zurcher <jeremy@asynk.ch>
diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 352fbe9ec..473770359 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -48,21 +48,26 @@ e_xkb_update(int cur_group)
eina_strbuf_append(buf, ",");
}
}
- eina_strbuf_append(buf, "'");
- /* use first entry in used layouts */
- cl = e_config->xkb.used_layouts->data;
+ eina_strbuf_append(buf, "' -variant '");
- if ((cl->variant)
-/* workaround xkb bug */
- && (!(!strcmp(cl->variant, "basic"))))
+ EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
{
- eina_strbuf_append(buf, " -variant '");
- eina_strbuf_append(buf, cl->variant);
- /* workaround xkb bug where basic variants work with ',' at the
- * end, but dvorak (and mayby others) don't */
-// if (!strcmp(cl->variant, "basic")) eina_strbuf_append(buf, ",");
- eina_strbuf_append(buf, "'");
+ if (cl->variant)
+ {
+ if (strcmp(cl->variant, "basic"))
+ eina_strbuf_append(buf, cl->variant);
+ eina_strbuf_append(buf, ",");
+ /* workaround xkb bug where basic variants work with ',' at the
+ * end, but dvorak (and mayby others) don't */
+// if (!strcmp(cl->variant, "basic")) eina_strbuf_append(buf, ",");
+ }
+ else
+ eina_strbuf_append(buf, ",");
}
+ eina_strbuf_append(buf, "'");
+
+ /* use first entry in used layouts */
+ cl = e_config->xkb.used_layouts->data;
if (cl->model)
{