Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Les g_print's
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Les g_print's [Bug #22] [Bug #23]
matttbe Français 7 fabounet [Read]
26 April 2010 à 01:25

matttbe, Tuesday 06 April 2010 à 23:16


Subscription date : 24 January 2009
Messages : 12573
Comme tous les g_print se retrouvent dans ~/.xsession-errors, ce n'est pas très propre.
Les g_print sont pratiques pour le développement mais après, c'est salissant

Du coup, je propose plusieurs solutions: (sauf p-ê pour les applets tjs en cours de développement)
  • Tous les remplacer par cd_debug ou un autre (voir ajouter un nouveau 'define' pour les logs spéciaux)
  • S'il faut vraiment les avoir dans un fichier, pourquoi ne pas rediriger cette nouvelle catégorie de log dans un fichier autre que .xsession-errors
  • Les plug-ins externes ont pour le moment pas mal de log ce qui pollue bcp .xsession-errors, serait-il possible de tout rediriger autre part automatiquement? Les dev de plug-ins extras pourraient par exemple utiliser la commande : "cairo-dock -l extras".
  • Ou alors, serait-il possible de détecter si l'utilisateur lance CD depuis un terminal ou non?

Tofe, Wednesday 07 April 2010 à 17:47


Subscription date : 09 February 2008
Messages : 921
+1 pour remplacer les g_print par des cd_debug ou cd_message

Par contre si on veut les mettre dans un fichier à nous, suffit de rediriger la sortie...
Pour les plug-ins externes, je ne suis pas sûr de la solution à adopter. Bien sûr on peut redigirer la sortie standard du shell vers un fichier (ou un pipe, qui serait connecté à une fonction de CD ? )

Pas d'accord par contre pour détecter si on lance CD depuis un terminal: ça rend l'application trop bizarre. Il faut avoir toujours le même comportement (--> prévisibilité), en restant le plus standard possible. Si l'utilisateur a lancé CD depuis un terminal, par exemple, ben il sait peut-être pourquoi il le fait

matttbe, Wednesday 07 April 2010 à 19:23


Subscription date : 24 January 2009
Messages : 12573
(ou un pipe, qui serait connecté à une fonction de CD ? )
En fait, CD lances les applications avec "cd (...) && ./(...)" donc suffit d'ajouter le pipe

fabounet, Friday 09 April 2010 à 08:58


Subscription date : 30 November 2007
Messages : 17118
pour les g_print c'est du debug, donc à commenter ou à transformer en cd_debug si c'est utile (mais je pense que la plupart du temps ça ne l'est pas trop).
pour les applis externes le dock ne peut pas vraiment les contrer puisque ce sont des process séparés (le coup du pipe serait une solution, mais ça fait des écriture disque qui ralentissent beaucoup), je pense que le mieux est de les commenter lorsque l'applet est bien testée.

matttbe, Friday 09 April 2010 à 10:42


Subscription date : 24 January 2009
Messages : 12573
pour les g_print c'est du debug, donc à commenter ou à transformer en cd_debug si c'est utile (mais je pense que la plupart du temps ça ne l'est pas trop).
Je pense que ça vaut tout de même le coup d'avoir une sortie 'propre' lorsque l'on lance CD depuis le terminal. On en reparle sur IRC un de ces jours

PS: je pense avoir trouver un moyen de faire un petit Hack . Il y a la variable "$LINES" qui affiche le nombre de lignes dans le terminal. Si c'est lancé avec X, la variable ne renvoie rien

matttbe, Sunday 25 April 2010 à 17:43


Subscription date : 24 January 2009
Messages : 12573
J'ai fait le ménage dans ces g_print

  • Pour Core :
    grep -r "g_print" . -l |grep -v CMake |grep -v "\.a" |grep -v "\.o" |grep -v "cairo-dock-extract-message" |grep -v "eggaccelerators" |grep -v "cairo-dock\.c" |grep "\.c" | xargs sed -i '/\/\/g_print/!s/g_print (/cd_debug (/g'
  • Pour les plug-ins:
    grep -r "g_print" . -l |grep -v CMake |grep -v "\.bzr" |grep -v "\.a" |grep -v "\.o" |grep "\.c$" |xargs sed -i '/\/\/g_print/!s/g_print (/cd_debug (/g'

Par contre, il me reste tjs ceci:
$ cairo-dock -o

============================================================================
    Cairo-Dock version: 2.1.4-0beta1
    Compiled date: Apr 25 2010 16:33:03
    Running with OpenGL: 1
============================================================================

GNOMEGVFSwarning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-config.c:cairo_dock_get_double_key_value:187)
Le fichier de clés n'a pas de clé « scroll speed »
warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-config.c:cairo_dock_get_double_key_value:187)
Le fichier de clés n'a pas de clé « scroll accel »
_cd_find_volume_name_from_drive_name: assertion `pDrive != NULL' failed
_cd_find_volume_name_from_drive_name: assertion `pDrive != NULL' failed
warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-keyfile-utilities.c:cairo_dock_open_key_file:34)
Aucun fichier ou dossier de ce type
cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed
warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-keyfile-utilities.c:cairo_dock_open_key_file:34)
Aucun fichier ou dossier de ce type
cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed
warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-keyfile-utilities.c:cairo_dock_open_key_file:34)
N'est pas un dossier
cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed
warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-keyfile-utilities.c:cairo_dock_open_key_file:34)
N'est pas un dossier
cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed

  • GNOMEGVFS => ?
  • Le fichier de clés n'a pas de clé « scroll speed » => pourquoi ne pas ajouter automatiquement la valeur par défaut dans le .conf?
  • _cd_find_volume_name_from_drive_name: assertion `pDrive != NULL' failed => Shortcuts?
  • Idem pour :
    cd_dbus_register_module_in_dir: assertion `pKeyFile != NULL' failed
    warning : (/opt/cairo-dock_bzr/cairo-dock-core/src/cairo-dock-keyfile-utilities.c:cairo_dock_open_key_file:34)
    N'est pas un dossier
    Dbus?

Puis j'ai voulu quitté par le menu:
cairo_dock_create_surface_from_image_simple: assertion `cImageFile != NULL' failed
cairo_dock_create_surface_from_image_simple: assertion `cImageFile != NULL' failed
J'ai cliqué sur le V :
*** glibc detected *** cairo-dock: double free or corruption (fasttop): 0x0000000002096530 ***
======= Backtrace: =========
/lib/libc.so.6(+0x775b6)[0x7fc6251c95b6]
/lib/libc.so.6(cfree+0x73)[0x7fc6251cfe53]
/usr/lib/cairo-dock/libcd-musicPlayer.so(cd_musicplayer_free_handler+0x23)[0x7fc60ee0f739]
/lib/libglib-2.0.so.0(g_list_foreach+0x1c)[0x7fc6266df15c]
/usr/lib/cairo-dock/libcd-musicPlayer.so(reset_data+0x17f)[0x7fc60ee07d8b]
cairo-dock(cairo_dock_stop_module_instance+0x64)[0x43584c]
/lib/libglib-2.0.so.0(g_list_foreach+0x1c)[0x7fc6266df15c]
cairo-dock(cairo_dock_deactivate_module+0x7a)[0x4342c7]
cairo-dock[0x434cca]
/lib/libglib-2.0.so.0(g_hash_table_foreach+0x43)[0x7fc6266d2d73]
cairo-dock(cairo_dock_deactivate_all_modules+0x20)[0x434cec]
cairo-dock(cairo_dock_free_all_docks+0x15)[0x447e6d]
cairo-dock(main+0x1616)[0x49e25f]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7fc625170c4d]
cairo-dock[0x423d59]
======= Memory map: ========
00400000-004e4000 r-xp 00000000 08:04 1863055 /usr/bin/cairo-dock
006e4000-006e5000 r--p 000e4000 08:04 1863055 /usr/bin/cairo-dock
006e5000-006e7000 rw-p 000e5000 08:04 1863055 /usr/bin/cairo-dock
006e7000-006eb000 rw-p 00000000 00:00 0
01c2f000-03f63000 rw-p 00000000 00:00 0 [heap]
40265000-402c4000 rw-p 00000000 00:05 950 /dev/zero
41383000-41385000 rwxp 00000000 00:05 950 /dev/zero
41385000-413e4000 rw-p 00000000 00:05 950 /dev/zero
41980000-419df000 rw-p 00000000 00:05 950 /dev/zero
7fc604000000-7fc604021000 rw-p 00000000 00:00 0
7fc604021000-7fc608000000 ---p 00000000 00:00 0
7fc609827000-7fc609828000 ---p 00000000 00:00 0
7fc609828000-7fc60a028000 rwxp 00000000 00:00 0
7fc60a028000-7fc60a6e3000 rw-p 00000000 00:00 0
7fc60a8a8000-7fc60a908000 rw-s 00000000 00:04 5177383 /SYSV00000000 (deleted)
7fc60a908000-7fc60a994000 r--p 00000000 08:04 398252 /home/mbaerts/.fonts/DejaVuSans-Bold.ttf
7fc60a994000-7fc60a996000 r-xp 00000000 08:04 1839901 /usr/lib/gtk-2.0/2.10.0/loaders/svg_loader.so
7fc60a996000-7fc60ab95000 ---p 00002000 08:04 1839901 /usr/lib/gtk-2.0/2.10.0/loaders/svg_loader.so
7fc60ab95000-7fc60ab96000 r--p 00001000 08:04 1839901 /usr/lib/gtk-2.0/2.10.0/loaders/svg_loader.so
7fc60ab96000-7fc60ab97000 rw-p 00002000 08:04 1839901 /usr/lib/gtk-2.0/2.10.0/loaders/svg_loader.so
7fc60ab97000-7fc60ab9d000 r-xp 00000000 08:04 1852060 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7fc60ab9d000-7fc60ad9c000 ---p 00006000 08:04 1852060 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7fc60ad9c000-7fc60ad9d000 r--p 00005000 08:04 1852060 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7fc60ad9d000-7fc60ad9e000 rw-p 00006000 08:04 1852060 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7fc60ad9e000-7fc60adfe000 rw-s 00000000 00:04 5144591 /SYSV00000000 (deleted)
7fc60ae0e000-7fc60ae21000 r--p 00000000 08:04 1846727 /usr/share/locale-langpack/fr/LC_MESSAGES/gnome-control-center-2.0.mo
7fc60ae21000-7fc60ae33000 r--p 00000000 08:04 1870826 /usr/share/fonts/type1/gsfonts/n019004l.pfb
7fc60ae3b000-7fc60ae40000 r--p 00000000 08:04 1846825 /usr/share/locale-langpack/fr/LC_MESSAGES/gnome-screensaver.mo
7fc60ae40000-7fc60ae42000 r--p 00000000 08:04 1846707 /usr/share/locale-langpack/fr/LC_MESSAGES/gnome-menus.mo
7fc60ae42000-7fc60ae45000 r--p 00000000 08:04 1846601 /usr/share/locale-langpack/fr/LC_MESSAGES/software-properties.mo
7fc60ae45000-7fc60aec5000 rw-s 7042b000 00:05 4778 /dev/nvidia0
7fc60aec5000-7fc60aec9000 r-xp 00000000 08:04 1848634 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7fc60aec9000-7fc60b0c9000 ---p 00004000 08:04 1848634 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7fc60b0c9000-7fc60b0ca000 r--p 00004000 08:04 1848634 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7fc60b0ca000-7fc60b0cb000 rw-p 00005000 08:04 1848634 /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7fc60b0cb000-7fc60b0e6000 r--s 00000000 08:04 1848463 /usr/share/mime/mime.cache
7fc60b0e6000-7fc60b0fa000 r-xp 00000000 08:04 1857171 /usr/lib/gio/modules/libgioremote-volume-monitor.so
7fc60b0fa000-7fc60b2f9000 ---p 00014000 08:04 1857171 /usr/lib/gio/modules/libgioremote-volume-monitor.so
7fc60b2f9000-7fc60b2fa000 r--p 00013000 08:04 1857171 /usr/lib/gio/modules/libgioremote-volume-monitor.so
7fc60b2fa000-7fc60b2fb000 rw-p 00014000 08:04 1857171 /usr/lib/gio/modules/libgioremote-volume-monitor.so
7fc60b2fb000-7fc60b30a000 r--p 00000000 08:04 1872835 /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf
7fc60b3b0000-7fc60b456000 rw-p 00000000 00:00 0
7fc60b456000-7fc60b467000 r--p 00000000 08:04 1872833 /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf
7fc60b467000-7fc60b469000 r-xp 00000000 08:04 1838934 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7fc60b469000-7fc60b668000 ---p 00002000 08:04 1838934 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7fc60b668000-7fc60b669000 r--p 00001000 08:04 1838934 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7fc60b669000-7fc60b66a000 rw-p 00002000 08:04 1838934 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so
7fc60b66a000-7fc60b66b000 r--s 00000000 08:04 1580698 /var/cache/fontconfig/26de28bc8622bbc1fb67fd234c21975f-le64.cache-3
7fc60b66b000-7fc60b66c000 r--s 00000000 08:04 1593513 /var/cache/fontconfig/c05880de57d1f5e948fdfacc138775d9-le64.cache-3
7fc60b66c000-7fc60b675000 r--s 00000000 08:04 1593416 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-3
7fc60b675000-7fc60b677000 r--s 00000000 08:04 1596261 /var/cache/fontconfig/99e8ed0e538f840c565b6ed5dad60d56-le64.cache-3
(d'après xsession, je l'avais quasi à chaque fois avant mes modif)

matttbe, Sunday 25 April 2010 à 18:31


Subscription date : 24 January 2009
Messages : 12573
J'ai voulu afficher les info que si CD était lancé depuis un terminal mais mon petit hack ne fonctionne pas
gchar *cLines = cairo_dock_launch_command_sync ("sh -c \"echo c$LINES\"");
    g_print ("Lines number: %s\n", cLines); // => tjs = à c
    if (strcmp(cLines, "c")) // launch from a terminal


PS: Peut-être qu'il vaut mieux garder celui-là:
$ bzr diff
=== modified file 'src/cairo-dock-opengl.c'
--- src/cairo-dock-opengl.c    2010-04-25 15:26:08 +0000
+++ src/cairo-dock-opengl.c    2010-04-25 16:47:51 +0000
@@ -730,7 +730,7 @@
        glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, fMaximumAnistropy);
    }
    
-    cd_debug ("OpenGL config summary :\n - bNonPowerOfTwoAvailable : %d\n - bFboAvailable : %d\n - direct rendering : %d\n - bTextureFromPixmapAvailable : %d\n - Anisotroy filtering level max : %.1f\n - OpenGL version: %s\n - OpenGL vendor: %s\n - OpenGL renderer: %s\n\n",
+    g_print ("OpenGL config summary :\n - bNonPowerOfTwoAvailable : %d\n - bFboAvailable : %d\n - direct rendering : %d\n - bTextureFromPixmapAvailable : %d\n - Anisotroy filtering level max : %.1f\n - OpenGL version: %s\n - OpenGL vendor: %s\n - OpenGL renderer: %s\n\n",
        g_openglConfig.bNonPowerOfTwoAvailable,
        g_openglConfig.bFboAvailable,
        !g_openglConfig.bIndirectRendering,

fabounet, Monday 26 April 2010 à 01:25


Subscription date : 30 November 2007
Messages : 17118
GNOMEGVFS
je le cherchais aussi !

pourquoi ne pas ajouter automatiquement la valeur par défaut dans le .conf
parce qu'il faut que je remette d'aplomb la vue caroussel

_cd_find_volume_name_from_drive_name: assertion `pDrive != NULL' failed => Shortcuts?
oui, peut-être que on pourrait le passer sous silence, il faut que je regarde ça

cd_dbus_register_module_in_dir
oui Dbus, faudra voir où

Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Les g_print's [Bug #22] [Bug #23]
matttbe Français 7 fabounet [Read]
26 April 2010 à 01:25


Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Les g_print's Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.