JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
made barclick to select the specific tag
authorAnselm R. Garbe <garbeam@wmii.de>
Fri, 14 Jul 2006 08:34:07 +0000 (10:34 +0200)
committerAnselm R. Garbe <garbeam@wmii.de>
Fri, 14 Jul 2006 08:34:07 +0000 (10:34 +0200)
bar.c
dwm.1
dwm.h
dwm.html
event.c
main.c

diff --git a/bar.c b/bar.c
index 9914e56..ea4b946 100644 (file)
--- a/bar.c
+++ b/bar.c
@@ -6,6 +6,20 @@
 #include "dwm.h"
 
 void
+barclick(XButtonPressedEvent *e)
+{
+       int x = 0;
+       Arg a;
+       for(a.i = 0; a.i < TLast; a.i++) {
+               x += textw(tags[a.i]) + dc.font.height;
+               if(e->x < x) {
+                       view(&a);
+                       return;
+               }
+       }
+}
+
+void
 draw_bar()
 {
        int i;
diff --git a/dwm.1 b/dwm.1
index e205e05..95a5d3a 100644 (file)
--- a/dwm.1
+++ b/dwm.1
@@ -12,6 +12,9 @@ is a dynamic window manager for X11.
 .TP
 .B \-v
 prints version information to stdout, then exits.
+.SS Status text
+.B dwm
+reads from stdin to display status text if provided.
 .SS Default Key Bindings
 .TP 16
 .I Key 
diff --git a/dwm.h b/dwm.h
index 1f8283c..5d7ff1a 100644 (file)
--- a/dwm.h
+++ b/dwm.h
@@ -103,6 +103,7 @@ extern Client *clients, *sel;
 
 /* bar.c */
 extern void draw_bar();
+extern void barclick(XButtonPressedEvent *e);
 
 /* client.c */
 extern void manage(Window w, XWindowAttributes *wa);
index d1602fb..2efdebd 100644 (file)
--- a/dwm.html
+++ b/dwm.html
@@ -39,7 +39,7 @@
                </p>
                <ul>
                        <li>
-                       dwm has no 9P support, no status bar, no menu, no editable tagbars,
+                       dwm has no 9P support, no menu, no editable tagbars,
                        no shell-based configuration and remote control and comes without
                        any additional tools like printing the selection or warping the
                        mouse.
                        clients.
                        </li>
                        <li>
+                       dwm reads from <b>stdin</b> to print arbirary status text (like the
+                       date, load, battery charge). That's much simpler than larsremote,
+                       wmiir and what not...
+                       </li>
+                       <li>
                        garbeam <b>does not</b> want any feedback to dwm. If you ask for support,
                        feature requests, or if you report bugs, they will be <b>ignored</b>
                        with a high chance. dwm is only intended to fit garbeams needs.
                <p>
                <code>hg clone http://wmii.de/cgi-bin/hgwebdir.cgi/dwm</code>
                </p>
-               <p>--Anselm (20060713)</p>
+               <h3>Download</h3>
+               <p>There is no release yet.</p>
+               <h3>Miscellaneous</h3>
+               <p>
+               You can purchase this <a href="https://www.spreadshirt.net/shop.php?op=article&article_id=3298632&view=403">tricot</a>
+               if you like dwm and the dwm logo, which has been designed by garbeam.
+               </p>
+               <p><small>--Anselm (20060714)</small></p>
        </body>
 </html>
diff --git a/event.c b/event.c
index c55be0f..4edf139 100644 (file)
--- a/event.c
+++ b/event.c
@@ -50,7 +50,9 @@ buttonpress(XEvent *e)
        XButtonPressedEvent *ev = &e->xbutton;
        Client *c;
 
-       if((c = getclient(ev->window))) {
+       if(barwin == ev->window)
+               barclick(ev);
+       else if((c = getclient(ev->window))) {
                craise(c);
                switch(ev->button) {
                default:
diff --git a/main.c b/main.c
index 99e9f49..3d3e896 100644 (file)
--- a/main.c
+++ b/main.c
@@ -252,7 +252,7 @@ main(int argc, char *argv[])
 
        wa.override_redirect = 1;
        wa.background_pixmap = ParentRelative;
-       wa.event_mask = ExposureMask;
+       wa.event_mask = ButtonPressMask | ExposureMask;
 
        bx = by = 0;
        bw = sw;