]> Dogcows Code - chaz/tint2/commitdiff
fixed issue and test svn
authorThierry Lorthiois <lorthiois@bbsoft.fr>
Thu, 30 Oct 2008 15:39:24 +0000 (15:39 +0000)
committerThierry Lorthiois <lorthiois@bbsoft.fr>
Thu, 30 Oct 2008 15:39:24 +0000 (15:39 +0000)
13 files changed:
AUTHORS
ChangeLog
README
src/Makefile
src/panel.c
src/server.c
src/server.h
src/tint.c
src/tint2
src/util/area.h
src/util/window.c
tintrc03
tintrc04

diff --git a/AUTHORS b/AUTHORS
index 2a12de288ba4189c5fb0cbd469e9d2e778f2e6f2..23d6bf1ca6ecb42cdde3ca884d9c2078c819b5ec 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -4,6 +4,10 @@ Developed by:
 
 
 Contributors:
-  Daniel Moerner <dmoerner@gmail.com>, man page
-
-
+  Daniel Moerner <dmoerner@gmail.com> : man page and debian package
+  Doug Barton : freebsd package
+  James Buren <ryuo@frugalware.org> : Frugalware package
+  Pierre-Emmanuel Andre <pea@raveland.org> : openbsd port
+  Redroar : arch package
+  
+  
index ffde567bd8a105fd61abe1693960f595b2873d12..4004d8082ca94964a3c7c6102e175d6eb6468310 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,7 @@
 
-
-2008-09-30
-- change tintrc format
-  background and border can use linear gradiant
-- update documentation
+2008-10-28
+- fixed issue : "untitled task", "task button did not update", "window don't shade",
+  "error if I don't do 'make install", "Makefile error"
 
 2008-09-24
 - change tintrc format
diff --git a/README b/README
index a250d3433ab942f2e2898aee838f8dd4c7b4a8fb..018c197f41b8e7226f259343256963bdc9a93493 100644 (file)
--- a/README
+++ b/README
@@ -16,3 +16,4 @@ check http://code.google.com/p/tint2/
 for latest release, documentation and sample config file.
 
 
+
index 3eecbbb0061ecfd6529a78324428ef258fb99548..4da3f66d72336fdb424e8f3376e56ba06884e1dd 100644 (file)
@@ -7,13 +7,16 @@ ifndef DESTDIR
        ifndef PREFIX
                BINDIR=/usr/bin
                XDG_CONFIG_DIR=/etc/xdg
+               MAN_DIR=/usr/share/man
        else
                BINDIR=$(PREFIX)/bin
                XDG_CONFIG_DIR=/etc/xdg
+               MAN_DIR=/usr/share/man
        endif
 else
        BINDIR=$(DESTDIR)/usr/bin
        XDG_CONFIG_DIR=$(DESTDIR)/etc/xdg
+       MAN_DIR=$(DESTDIR)/usr/share/man
 endif
 
 
@@ -24,13 +27,17 @@ $(PROGNAME): $(FILES) $(SYSTRAYOBJ)
 install:
        mkdir -p $(BINDIR)
        mkdir -p $(XDG_CONFIG_DIR)/tint2
+       mkdir -p $(MANDIR)
+       mkdir -p $(MANDIR)/man1
        install $(PROGNAME) $(BINDIR)
        cp -f ../tintrc06 $(XDG_CONFIG_DIR)/tint2/tint2rc
-       cp -f ../doc/man/tint2.1 /usr/man/man1
+       cp -f ../doc/man/tint2.1 $(MAN_DIR)/man1
 
 uninstall:
        rm -f $(BINDIR)/$(PROGNAME)
+       rm -f $(MAN_DIR)/man1/tint2.1
 
 clean:
        rm -f $(PROGNAME)
 
+.PHONY: clean uninstall install
index 2e1c2283928f2dd69c4a7566cc0da531cdd27162..208922ce999ca284682fcc436297e82b4e8dfd0a 100644 (file)
@@ -36,43 +36,6 @@ void visual_refresh ()
    draw (&panel.area);
    refresh (&panel.area);
    
-/*
-pour version 0.7
-gestion du systray
-  positionnement et taille fixe du systray (objet systray)
-  détection des notifications (détection des icones, ajout a la liste)
-  ajouter la transparence des icones
-  gérer le redimentionnement des éléments
-    => voir si lon peut faire abstraction sur le positionnement des objets ?
-       sachant que certains objets (task, taskbar) on une taille définit par l'extérieur
-       et d'autres objets (clock, systray) on une taille définit par l'intérieur
-
-gestion du layout 
-  voir le positionnement des taskbar, task et systray
-  définir panel_layout dans la configuration
-  comment gérer le multi panel avec des layouts différents
-
-vérifier le niveau d'abstraction du code
-  utiliser la fonction draw(obj) récurrente sur Taskbar, Task, Systray, Clock
-  est ce compatible avec l'affichage de la tache active et les changement de taille -> redessine le panel
-
-correction de bugs : 
-  memory, segfault
-  background
-  remettre en place single_desktop avec nouveau layout
-  remettre en place multi_monitor avec nouveau layout
-  vérifier le changement de configuration
-
-pour version 0.8
-gestion du thème
-  voir la gestion du dégradé sur le bord et le fond (inkscape)
-  faut-il trois coordonnées de padding x, y, x inter-objects
-
-gestion du zoom  
-  définir le zoom du panel
-
-*/
-
    if (panel.clock.time1_format) {
       if (panel.clock.area.redraw)
          panel.refresh = 1;
index cdfa969350b8a2519c3538e75212e51817f9a505..3f75f21c817decb8eb6acbeef83aa78c2cecc358 100644 (file)
@@ -66,6 +66,7 @@ void server_init_atoms ()
    server.atom._WIN_LAYER = XInternAtom (server.dsp, "_WIN_LAYER", False);
    server.atom._NET_WM_STRUT_PARTIAL = XInternAtom (server.dsp, "_NET_WM_STRUT_PARTIAL", False);
    server.atom.WM_NAME = XInternAtom(server.dsp, "WM_NAME", False);
+   server.atom.__SWM_VROOT = XInternAtom(server.dsp, "__SWM_VROOT", False);
 }
 
 
@@ -133,12 +134,49 @@ void *server_get_property (Window win, Atom at, Atom type, int *num_results)
 }
 
 
+Pixmap server_create_pixmap (int width, int height)
+{
+   return XCreatePixmap (server.dsp, server.root_win, width, height, server.depth);
+}
+
+
+Pixmap get_root_pixmap ()
+{
+   Pixmap ret;
+       Window root = RootWindow(server.dsp, server.screen);
+
+   ret = None;    
+   int  act_format, c = 2 ;
+   u_long  nitems ;
+   u_long  bytes_after ;
+   u_char *prop ;
+   Atom dummy_id;
+
+   do {
+      if (XGetWindowProperty(server.dsp, root, server.atom._XROOTPMAP_ID, 0, 1,
+                False, XA_PIXMAP, &dummy_id, &act_format,
+                &nitems, &bytes_after, &prop) == Success) {
+          if (prop) {
+              ret = *((Pixmap *)prop);
+              XFree(prop);
+              break;
+          }
+      }
+   } while (--c > 0);
+
+   return ret;
+}
+
+
+/*
 Pixmap get_root_pixmap ()
 {
    // conky capture correctement le fond d'écran en xlib !!
    Pixmap root_pixmap;
    unsigned long *res;
 
+       server.root_win = window_get_root();   
+
    res = server_get_property (server.root_win, server.atom._XROOTPMAP_ID, XA_PIXMAP, 0);
    if (res) {
       root_pixmap = *((Drawable*) res);
@@ -149,18 +187,9 @@ Pixmap get_root_pixmap ()
       printf("get_root_pixmap incorrect\n");
       // try _XSETROOT_ID
    }
-         
    return 0;
-}
-
-
-
-
-Pixmap server_create_pixmap (int width, int height)
-{
-   return XCreatePixmap (server.dsp, server.root_win, width, height, server.depth);
-}
-
+}  
+*/
 
 void server_refresh_root_pixmap ()
 {
index 6bb4060dfe6fd8c6b018a71836a814ff94fe6922..c4225db9bd1365e9c7b129e2f018f6383e414f10 100644 (file)
@@ -51,6 +51,7 @@ typedef struct Global_atom
         Atom _WIN_LAYER;
         Atom _NET_WM_STRUT_PARTIAL;
         Atom WM_NAME;
+        Atom __SWM_VROOT;
 } Global_atom;
 
 
@@ -97,6 +98,7 @@ void server_catch_error (Display *d, XErrorEvent *ev);
 void server_init_atoms ();
 Pixmap server_create_pixmap (int width, int height);
 void get_monitors();
+Pixmap get_root_pixmap();
 
 
 #endif
index 42581ffbe616c85888ef8145da2c52013b20903a..56cbc1ce541f3cb018af6af7bd25a40980cc0cda 100644 (file)
@@ -75,7 +75,7 @@ void init ()
    }
    server_init_atoms ();
    server.screen = DefaultScreen (server.dsp);
-   server.root_win = RootWindow (server.dsp, server.screen);   
+       server.root_win = RootWindow(server.dsp, server.screen);
    server.depth = DefaultDepth (server.dsp, server.screen);
    server.visual = DefaultVisual (server.dsp, server.screen);
    server.desktop = server_get_current_desktop ();
@@ -407,6 +407,7 @@ load_config:
                   break;
 
                case PropertyNotify:
+                  //printf("PropertyNotify\n");
                   event_property_notify (e.xproperty.window, e.xproperty.atom);
                   break;
 
index 08a61162a17f9f8f00d58bc8f1fcc52c3187da7a..47b576f2af22e3499ae5c3cc850e3a4ea4c51f1e 100755 (executable)
Binary files a/src/tint2 and b/src/tint2 differ
index 2ad26aa6fc3c057b20288ebea2671e14a179f9b8..1dc6f1873bf5dfe95a654acf2d6bc247b6c1731e 100644 (file)
@@ -1,17 +1,15 @@
 /**************************************************************************
-* base class for all objects (panel, taskbar, task, systray, clock, ...).
-* each object 'inherit' Area and implement draw_foreground if needed.
+* Copyright (C) 2008 thierry lorthiois (lorthiois@bbsoft.fr)
 * 
-* Area is at the begining of each object so &object == &area.
+* base class for all graphical objects (panel, taskbar, task, systray, clock, ...).
+* Area is at the begining of each graphical object so &object == &area.
+* 
+* Area manage the background and border drawing, size and padding.
+* Area manage also the tree of visible objects
+*   panel -> taskbars -> tasks
+*         -> clock
+*         -> systray -> icons
 * 
-* une zone comprend :
-* - fond : couleur / opacité
-* - contenu
-* - largeur / hauteur
-* - paddingx / paddingy
-* - pixmap mémorisant l'affichage (évite de redessiner l'objet à chaque rafraichissement)
-* - une liste de sous objets
-*
 * un objet comprend les actions:
 * 1) redraw(obj)
 *    force l'indicateur 'redraw' sur l'objet
 * 6) voir refresh(obj)
 * 
 * Implémentation :
-* - tous les éléments du panel possèdent 1 objet en début de structure
-*   panel, taskbar, systray, task, ...
 * - l'objet est en fait une zone (area). 
 *   l'imbrication des sous objet doit permettre de gérer le layout.
-* - on a une relation 1<->1 entre un objet et une zone graphique
-*   les taskbar affichent toutes les taches.
-*   donc on utilise la liste des objets pour gérer la liste des taches.
 * - les taches ont 2 objets : l'un pour la tache inactive et l'autre pour la tache active
 *   draw(obj) est appellé sur le premier objet automatiquement 
 *   et draw_foreground(obj) lance l'affichage du 2 ieme objet
@@ -60,8 +53,6 @@
 * 3. tester l'implémentation et évaluer les autres abstractions possibles ?
 * 
 * 4. comment gérer le groupage des taches
-* 5. la clock est le contenu du panel. mais elle ne tiens pas compte du padding vertical ?
-*    c'est ok pour la clock. voir l'impact sur paddingx ?
 * 
 * voir resize_taskbar(), resize_clock() et resize_tasks()
 * voir les taches actives et inactives ?? une seule tache est active !
index ebbdce01f4522f48bb2a02a21c091a51e4f99169..b265d6fcf08f6a90ba6d3f3016bdfa46ab514b9f 100644 (file)
@@ -58,7 +58,7 @@ void set_close (Window win)
 
 void window_toggle_shade (Window win)
 {
-   send_event32 (win, server.atom._NET_WM_STATE, 2, 0);
+   send_event32 (win, server.atom._NET_WM_STATE, 2, server.atom._NET_WM_STATE_SHADED);
 }
 
 
@@ -261,4 +261,3 @@ void get_text_size(PangoFontDescription *font, int *height_ink, int *height, int
 }
 
 
-
index 914dfd1a2ab7b997cd8d6c99959d9904a82c50ed..0106f89400a5bd00bc4116ad9bc2223314f28766 100644 (file)
--- a/tintrc03
+++ b/tintrc03
@@ -5,25 +5,29 @@
 #---------------------------------------------
 # BACKGROUND AND BORDER
 #---------------------------------------------
-rounded = 1
-border_width = 1 
-background_color = #282828 100
-border_color = #000000 100
-
-rounded = 1
+rounded = 5
 border_width = 1
-background_color = #282828 100
-#background_color = #3b3b3b 100
-border_color = #cccccc 100
+background_color = #ffffff 40
+border_color = #ffffff 70
+
+rounded = 4
+border_width = 0
+background_color = #ffffff 0
+border_color = #d1d1d1 0
+
+rounded = 4
+border_width = 0
+background_color = #ffffff 30
+border_color = #d1d1d1 14
 
 #---------------------------------------------
 # PANEL
 #---------------------------------------------
 panel_monitor = 1
-panel_position = bottom right
-panel_size = 0 27
-panel_margin = 0 0
-panel_padding = 3 2
+panel_position = bottom center
+panel_size = 1000 25
+panel_margin = 0 7
+panel_padding = 6 0
 font_shadow = 0
 panel_background_id = 1
 
@@ -31,7 +35,7 @@ panel_background_id = 1
 # TASKBAR
 #---------------------------------------------
 taskbar_mode = multi_desktop
-taskbar_padding = 4 0
+taskbar_padding = 2 3
 taskbar_background_id = 0
 
 #---------------------------------------------
@@ -39,14 +43,14 @@ taskbar_background_id = 0
 #---------------------------------------------
 task_icon = 1
 task_text = 1
-task_width = 200
+task_width = 150
 task_centered = 1
-task_padding = 1 3
-task_font = sans 8
-task_font_color = #ffffff 40
-task_active_font_color = #ffffff 100
-task_background_id = 0
-task_active_background_id = 2
+task_padding = 3 2
+task_font = myriad pro 8
+task_font_color = #000000 70
+task_active_font_color = #000000 100
+task_background_id = 2
+task_active_background_id = 3
 
 #---------------------------------------------
 # SYSTRAY
@@ -57,12 +61,12 @@ task_active_background_id = 2
 #---------------------------------------------
 # CLOCK
 #---------------------------------------------
-time1_format = %H:%M:%S
-time1_font = sans 
-time2_format = %A %d %B
-time2_font = sans 7
-clock_font_color = #ffffff 100
-clock_padding = 0 0
+time1_format = %H:%M
+time1_font = sans bold 12
+#time2_format = %A %d %B
+#time2_font = sans bold 10
+clock_font_color = #000000 70
+clock_padding = 6 0
 clock_background_id = 0
 
 #---------------------------------------------
index fd930d48d394d1faa66db6de2bfa9261d550e6a5..5c7378b2b785bc52f271d303c6055d93b463da55 100644 (file)
--- a/tintrc04
+++ b/tintrc04
@@ -5,52 +5,47 @@
 #---------------------------------------------
 # BACKGROUND AND BORDER
 #---------------------------------------------
-rounded = 5
+rounded = 3
 border_width = 1
-background_color = #ffffff 40
-border_color = #ffffff 70
+background_color = #3c3020 90
+border_color = #3c3020 90
 
-rounded = 4
-border_width = 0
-background_color = #ffffff 0
-border_color = #d1d1d1 0
-
-rounded = 4
-border_width = 0
-background_color = #ffffff 30
-border_color = #d1d1d1 14
+rounded = 3
+border_width = 1
+background_color = #3c3020 90
+border_color = #ffffff 30
 
 #---------------------------------------------
 # PANEL
 #---------------------------------------------
 panel_monitor = 1
 panel_position = bottom center
-panel_size = 1000 25
+panel_size = 900 30
 panel_margin = 0 0
-panel_padding = 6 0
+panel_padding = 10 2
 font_shadow = 0
-panel_background_id = 1
+panel_background_id = 0
 
 #---------------------------------------------
 # TASKBAR
 #---------------------------------------------
-taskbar_mode = multi_desktop
-taskbar_padding = 2 3
+taskbar_mode = single_desktop
+taskbar_padding = 9 0
 taskbar_background_id = 0
 
 #---------------------------------------------
 # TASKS
 #---------------------------------------------
-task_icon = 1
+task_icon = 0
 task_text = 1
-task_width = 150
+task_width = 190
 task_centered = 1
-task_padding = 3 2
-task_font = myriad pro 8
-task_font_color = #000000 70
-task_active_font_color = #000000 100
-task_background_id = 2
-task_active_background_id = 3
+task_padding = 2 0
+task_font = sans 8.4
+task_font_color = #ececec 50
+task_active_font_color = #ffffff 90
+task_background_id = 1
+task_active_background_id = 2
 
 #---------------------------------------------
 # SYSTRAY
@@ -62,12 +57,12 @@ task_active_background_id = 3
 # CLOCK
 #---------------------------------------------
 time1_format = %H:%M
-time1_font = sans bold 12
-#time2_format = %A %d %B
-#time2_font = sans bold 10
-clock_font_color = #000000 70
-clock_padding = 6 0
-clock_background_id = 0
+time1_font = sans bold 8
+time2_format = %A %d %B
+time2_font = sans 7
+clock_font_color = #ececec 50
+clock_padding = 4 0
+clock_background_id = 1
 
 #---------------------------------------------
 # MOUSE ACTION ON TASK
This page took 0.043463 seconds and 4 git commands to generate.