diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-11 21:23:07 +0000 |
---|---|---|
committer | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-19 21:23:58 +0000 |
commit | 71189a1a58e3190ec736cec3be36038e73ffba9c (patch) | |
tree | dc54373cac85b0c9de00a0f065a2053f3a5172d2 | |
parent | c97341d77ef876068b0f4f4838e10a1b167896ba (diff) |
more testcases
-rw-r--r-- | README | 6 | ||||
-rw-r--r-- | list-extensions.c | 43 | ||||
-rwxr-xr-x | menus.java | 49 | ||||
-rwxr-xr-x | slow_owner.tcl | 5 |
4 files changed, 103 insertions, 0 deletions
@@ -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 . |