summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2012-11-11 21:23:07 +0000
committerJon TURNEY <jon.turney@dronecode.org.uk>2012-11-19 21:23:58 +0000
commit71189a1a58e3190ec736cec3be36038e73ffba9c (patch)
treedc54373cac85b0c9de00a0f065a2053f3a5172d2
parentc97341d77ef876068b0f4f4838e10a1b167896ba (diff)
more testcases
-rw-r--r--README6
-rw-r--r--list-extensions.c43
-rwxr-xr-xmenus.java49
-rwxr-xr-xslow_owner.tcl5
4 files changed, 103 insertions, 0 deletions
diff --git a/README b/README
index d718ec9..f86259c 100644
--- a/README
+++ b/README
@@ -1 +1,7 @@
A collection of small X programs for testing, mainly for window manager behaviour
+
+Also, don't forget about:
+
+metacity-window-demo
+qt4-qtdemo
+measdemos
diff --git a/list-extensions.c b/list-extensions.c
new file mode 100644
index 0000000..41e255c
--- /dev/null
+++ b/list-extensions.c
@@ -0,0 +1,43 @@
+/* cc -o list-extensions list-extensions.c `pkg-config --libs --cflags xcb` */
+
+#include <xcb/xcb.h>
+#include <xcb/xproto.h>
+#include <stdio.h>
+
+void
+fixed_xcb_str_next(xcb_str_iterator_t* it)
+{
+ it->data = (void*) ((char*) it->data + it->data->name_len + 1);
+ --it->rem;
+}
+
+int
+main()
+{
+ xcb_connection_t* ctrl = xcb_connect(NULL, NULL);
+ xcb_generic_error_t* error;
+ xcb_list_extensions_cookie_t ext_cookie;
+ xcb_list_extensions_reply_t* ext_reply;
+
+ if ((!ctrl || xcb_connection_has_error(ctrl))) {
+ fprintf(stderr, "Failed to connect to the display\n");
+ return 1;
+ }
+
+ ext_cookie = xcb_list_extensions(ctrl);
+ error = NULL;
+ ext_reply = xcb_list_extensions_reply(ctrl, ext_cookie, &error);
+ if (!ext_reply || error) {
+ fprintf(stderr, "Failed to request list of extensions\n");
+ return 1;
+ }
+ {
+ xcb_str_iterator_t it = xcb_list_extensions_names_iterator(ext_reply);
+ while (it.rem) {
+ printf("%d bytes: ", xcb_str_name_length(it.data));
+ fwrite(xcb_str_name(it.data), 1, xcb_str_name_length(it.data), stdout);
+ printf("\n");
+ xcb_str_next(&it);
+ }
+ }
+}
diff --git a/menus.java b/menus.java
new file mode 100755
index 0000000..25cc45c
--- /dev/null
+++ b/menus.java
@@ -0,0 +1,49 @@
+import java.awt.Dimension;
+
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JPanel;
+
+/**
+ * Test menus.
+ *
+ * @author Richard Evans
+ */
+public class menus {
+
+ /**
+ * Entry point.
+ *
+ * @param args None
+ */
+
+ public static void main(String[] args) {
+ JFrame jframe = new JFrame("frame");
+ JMenuBar mb = new JMenuBar();
+
+ for (int i = 1; i <= 5; i++) {
+ JMenu m = new JMenu("Menu " + i);
+
+ for (int j = 1; j <= 5; j++) {
+ JMenuItem mi = new JMenuItem("Item " + i + j);
+ m.add(mi);
+ }
+
+ mb.add(m);
+ }
+
+ jframe.setJMenuBar(mb);
+
+ JPanel jp = new JPanel();
+ jp.setPreferredSize(new Dimension(500, 500));
+
+ jframe.getContentPane().add(jp);
+ jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ jframe.pack();
+ jframe.setVisible(true);
+ }
+
+}
diff --git a/slow_owner.tcl b/slow_owner.tcl
new file mode 100755
index 0000000..7d27e08
--- /dev/null
+++ b/slow_owner.tcl
@@ -0,0 +1,5 @@
+#!/usr/bin/env wish
+#Tcl/Tk script implementing a slow (200 ms) selection owner
+proc handler { x y } { after 200; return "foobar" }
+selection handle . handler
+selection own .