Test
authorphillbush <phillbush@cock.li>
Sat, 16 May 2020 02:08:05 +0000 (23:08 -0300)
committerphillbush <phillbush@cock.li>
Sat, 16 May 2020 02:08:05 +0000 (23:08 -0300)
xmenu.c
xmenu.sh

diff --git a/xmenu.c b/xmenu.c
index e3588fd..d02620a 100644 (file)
--- a/xmenu.c
+++ b/xmenu.c
@@ -345,6 +345,7 @@ static void
 calcmenu(struct Menu *menu)
 {
        XWindowChanges changes;
 calcmenu(struct Menu *menu)
 {
        XWindowChanges changes;
+       XSizeHints sizeh;
        struct Item *item;
 
        /* calculate items positions and menu height */
        struct Item *item;
 
        /* calculate items positions and menu height */
@@ -392,6 +393,12 @@ calcmenu(struct Menu *menu)
        changes.y = menu->y;
        XConfigureWindow(dpy, menu->win, CWHeight | CWX | CWY, &changes);
 
        changes.y = menu->y;
        XConfigureWindow(dpy, menu->win, CWHeight | CWX | CWY, &changes);
 
+       /* set window manager size hints */
+       sizeh.flags = PMaxSize | PMinSize;
+       sizeh.min_width = sizeh.max_width = menu->w;
+       sizeh.min_height = sizeh.max_height = menu->h;
+       XSetWMNormalHints(dpy, menu->win, &sizeh);
+
        /* calculate positions of submenus */
        for (item = menu->list; item != NULL; item = item->next) {
                if (item->submenu != NULL)
        /* calculate positions of submenus */
        for (item = menu->list; item != NULL; item = item->next) {
                if (item->submenu != NULL)
index e3f3279..c6a2188 100755 (executable)
--- a/xmenu.sh
+++ b/xmenu.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
 #!/bin/sh
 
-cat <<EOF | ./xmenu | xargs sh -c
+cat <<EOF | ./xmenu -w | xargs sh -c
 Applications
        Web Browser     firefox
        Image editor    gimp
 Applications
        Web Browser     firefox
        Image editor    gimp