Commit Graph

100 Commits

Author SHA1 Message Date
Aldo Cortesi 4723ab3627 This patch is a first draft of independently targetable textboxes, and a
protocol to speak to them. Given a textbox widget definition like this:

        textbox mail {
            default = 0
        }
        textbox time {}

We can update the boxes individually by going:

    echo 0 tell_widget mail 10
    echo 0 tell_widget time 12:01

Text boxes will dynamically resize to fit their contents. A textbox can be
cleared by going:

    echo 0 tell_widget name

A text-box containing no text will take up 0 space in the bar, i.e. it will not
be visible at all

Textboxes now supersede statusbar_set_text, so this call has been removed.
2007-12-17 18:22:05 +01:00
Aldo Cortesi c81b5cfc55 Refactor statusbar.c
This a preparatory patch. Refactor statusbar.c to compartmentalise the drawing
of the statusbar "widgets". We can now begin to see what a generalised widget
drawing interface would look like.

Note that at the moment we don't gracefully handle situations where "widgets"
run out of space. That will come as we generalise from here.
2007-12-15 09:48:13 +01:00
Aldo Cortesi f36a56cdcc Refactor draw.c
This is a big patch that does not change any behaviour. We abstract the data
needed by the draw.c functions into a context object, and pass that around
instead of passing each argument every time. This results in a much cleaner API
- most functions lose 3-4 arguments.

This is a preparatory patch for further work on statusbar.
2007-12-15 09:30:29 +01:00
Julien Danjou ae49735001 use real and smaller surface size to draw statusbar when rotating 2007-11-13 21:23:13 +01:00
Julien Danjou 3f36130533 fix X memory leak in draw_rotate() 2007-11-11 22:38:29 +01:00
Julien Danjou 0753ed5fb5 statusbar drawable is no more stored but dynamicaly created; this fix a problem with statusbar on right 2007-11-11 22:27:00 +01:00
Julien Danjou 84017b9666 inverse rotate and translate and fix bar position on right for Xinerama 2007-11-11 21:13:37 +01:00
Julien Danjou 543899da7c fix statusbar display when on right 2007-11-11 19:49:50 +01:00
Julien Danjou 05dad60786 experimental support for status bar to be on right or left 2007-11-11 18:59:11 +01:00
Martin Stubenschrott b333185ec1 better centering for drawtext() 2007-10-16 19:20:39 +02:00
Julien Danjou 472b07f8ab remove useless cast 2007-10-16 18:54:58 +02:00
Nikos Ntarmos 7ecbae334f use Cairo to render fonts 2007-10-16 16:35:28 +02:00
Julien Danjou 866a75e76a use XftChar8 instead of FcChar8 2007-10-15 21:42:49 +02:00
Julien Danjou 9d48aaac1f destroy xftdrawable 2007-10-15 21:41:44 +02:00
Julien Danjou a74ca1d1de tabswidth is 4 not 6 2007-10-15 13:56:24 +02:00
Julien Danjou 4e0acfa99a add coding style stuff 2007-10-15 13:40:52 +02:00
Julien Danjou b3995c6152 do not print empty text 2007-10-15 12:42:48 +02:00
Julien Danjou f20c729d64 better compute for empty circle size 2007-10-11 17:09:38 +02:00
Julien Danjou a06674fbe7 add drawcircle() function and use it for floating/max windows instead of drawrectangle 2007-10-11 17:06:55 +02:00
Julien Danjou 9ad6b157df remove math.h 2007-10-11 16:30:49 +02:00
Julien Danjou 1f5a6e918b use drawrectangle to draw background in statusbar, fix coords of rectangles and compute colors correctly 2007-10-11 16:29:20 +02:00
Julien Danjou f6ea98649c drawsquare is now drawrectangle 2007-10-11 15:44:30 +02:00
Julien Danjou 445479cf8b use Cairo for rendering square instead of Xlib 2007-10-10 19:59:14 +02:00
Julien Danjou 1a755ff245 simplify color handling 2007-10-10 13:07:12 +02:00
Julien Danjou 2887bb8b86 avoid DC in drawsquare() 2007-10-09 21:43:26 +02:00
Julien Danjou aa645b15ab avoid DC in drawtext() 2007-10-09 21:29:19 +02:00
Julien Danjou d7aac7b811 better fix for font height problem
Thanks to Arnaud Fontaine
2007-10-04 17:35:47 +02:00
Julien Danjou 97a2085705 cosmetic: remove lines with empty spaces at end 2007-10-03 17:26:14 +02:00
Julien Danjou 5ecb754d62 remove useless extern variables 2007-10-03 00:14:39 +02:00
Julien Danjou 0745844db5 remove alpha layer; bug otherwise 2007-10-02 17:06:38 +02:00
Julien Danjou 272f4b1c2a Xft support 2007-10-01 19:22:57 +02:00
Julien Danjou 9737185639 simplify drawsquare() 2007-09-20 20:11:33 +02:00
Julien Danjou ce367ebfba simplify drawsquare() 2007-09-19 15:42:40 +02:00
Julien Danjou 82e1c44f85 better proto for drawsquare
the old one was not logical
2007-09-17 12:45:41 +02:00
Julien Danjou fe89aa31b0 create statusbar.c and move things from draw.c 2007-09-15 15:16:53 +02:00
Julien Danjou 6a11f10764 move drawable to statusbar struct 2007-09-15 14:58:41 +02:00
Julien Danjou 01b2785587 rename drawstatus to drawstatusbar 2007-09-15 13:54:02 +02:00
Julien Danjou 9897e5a839 remove DC from global in draw.c 2007-09-12 16:55:47 +02:00
Julien Danjou 7659289b9e chance license to GPLv2 2007-09-12 14:29:51 +02:00
Julien Danjou 60c33390a8 optimize drawtext a little 2007-09-11 17:46:25 +02:00
Julien Danjou 9f56ade4e9 use more safe functions and update #inlcude 2007-09-11 14:00:49 +02:00
Julien Danjou 6f528063be rename jdwm to awesome 2007-09-10 12:06:54 +02:00
Julien Danjou 20a599c07e move barwin to Statusbar 2007-09-07 17:29:36 +02:00
Julien Danjou 8db67dca7c remove sw/sh, calculate each time 2007-09-07 17:19:03 +02:00
Julien Danjou a6a705dd85 remove global bh/blw and add a Statusbar type 2007-09-07 16:13:59 +02:00
Julien Danjou a4449818f3 remove useless string.h inclusion 2007-09-07 11:48:30 +02:00
Julien Danjou bd5bef5acf remove textw function, change it with a macro 2007-09-06 22:09:00 +02:00
Julien Danjou e5f2ed3f22 remove extern seltags, put it in jdwmconf 2007-09-06 19:05:26 +02:00
Julien Danjou 379136c2a6 documentation 2007-09-06 18:43:49 +02:00
Julien Danjou f7173bd79d first import 2007-09-05 20:15:00 +02:00