Le mois dernier, Adam avait
brêvement parlé de Transmission, un
client bittorrent basé sur GTK. Commençant à être passablement échauffé par les
nombreuses imperfections de l'interface du client bittorrent officiel, je me
suis laissé tenter. Grand bien m'en a pris ! J'en suis presque à me demander
pourquoi il ne fait pas partie du bureau GNOME. D'ailleurs serait-ce possible,
ou le spectre de l'illégalité dans certains pays poserait-t-il problèmes.
Bref.
Si vous cherchez un client bittorrent sous GNOME, n'allez pas plus loin,
Transmission est celui qu'il vous faut !
Je vous rappelle donc comme il l'a
précédemment annoncé que
Transmission pour Mandriva 2007.1 est disponible dans la source
contrib/backports.
Tag - GNOME
jeudi 24 mai 2007
Transmission, le client bittorrent pour GNOME
Par liberforce le jeudi 24 mai 2007, 23:53 - Computers / Informatique
mardi 24 avril 2007
GNOME Goal: Install theme-friendly icons
Par liberforce le mardi 24 avril 2007, 19:34 - Computers / Informatique
The "Install
theme-friendly icons" GNOME goal is currently going on. This one had
previously been announced, and partially completed, but the guidelines were
buggy. So if you
are a brave hacker-wanabe, and you are interested in helping the GNOME Desktop
to improve its consistency, then here's a task for you !
Spread the word about this goal !
Hopefully, Brian Pepple has started
to squash these dirty bugs, but he definitely needs your help ! On the best
case, a simple 3 lines patch will be enough, so you can learn how to submit your first
patch. On the (other) best case, the whole task needs to be completed, and
you can then learn how to make an application behave nice with icon themes, so
that a theme can override the application's icon.
So thank you Brian, and if you, reader, have some spare time, help Brian to
improve consistency in the GNOME Desktop !
lundi 16 avril 2007
Re: a way to get more GNOME hackers
Par liberforce le lundi 16 avril 2007, 19:38 - Computers / Informatique
Alberto,
here are some hints if you want to improve this part of GNOME (ie, reduce the
technical level needed by newcommers to just become jhbuild users).
- Create a standard .jhbuildrc for newbies.
Look
at http://live.gnome.org/JhbuildDependencies
But a jhbuildrc is a bit distro dependant... For example, I maintain the
Mandriva subsection:
http://live.gnome.org/JhbuildDependencies/MandrivaLinux
- Create a metapackage
gnome-jhbuild-essentials:
This may not work, as dependencies vary from each GNOME version to build.
You'll need a gnome-2.16-jhbuild-essentials and a
gnome-2.18-jhbuild-essentials.
- Create a page on the wiki for newcomers, explaining howto setup
the enviroment, play with module sets, and create a patch.
I was working on a new jhbuild guide this some
time ago, but didn't finish it, so you can modify it if you want.
For patches, a patch submission guide
exists, but needs some update for the cvs->svn migration:
Relevant content of Elijah's guidelines need also to be imported, as this kind
of info should now be centralized in the wiki (Elijah was ok with this, I
talked to him about that at last GUADEC).
Check also:
http://live.gnome.org/CategoryJhbuild
http://live.gnome.org/CategoryJhbuildIssues
Enjoy ;-)
samedi 7 avril 2007
Number of the day: 185 !
Par liberforce le samedi 7 avril 2007, 19:39 - Computers / Informatique
This is the number of lines in the code shipped with GNOME 2.18 that use a
deprecated
symbol in GLib. The winner, by far, is g_strcasecmp.
at-spi/test/test-simple.c:766: if
(!g_strcasecmp (argv [i], "--poke"))
evolution-data-server/calendar/libecal/e-cal-time-util.c:425: * This is
analogous to g_date_set_time() but takes the timezone into account.
evolution-data-server/libedataserver/e-memory.c:1219:
GMemChunk *gmc;
evolution-data-server/libedataserver/e-memory.c:1273: gmc =
g_mem_chunk_new("memchunk", CHUNK_SIZE, CHUNK_SIZE*CHUNK_COUNT,
G_ALLOC_AND_FREE);
evolution-data-server/libedataserver/e-memory.c:1275:
mem = g_mem_chunk_alloc(gmc);
evolution-data-server/libedataserver/e-memory.c:1277:
g_mem_chunk_free(gmc, mem);
evolution-data-server/libedataserver/e-memory.c:1280:
g_mem_chunk_destroy(gmc);
evolution-data-server/libedataserver/e-memory.c:1293: gmc =
g_mem_chunk_new("memchunk", CHUNK_SIZE, CHUNK_COUNT*CHUNK_SIZE,
G_ALLOC_ONLY);
evolution-data-server/libedataserver/e-memory.c:1295:
mem = g_mem_chunk_alloc(gmc);
evolution-data-server/libedataserver/e-memory.c:1298:
g_mem_chunk_destroy(gmc);
gail/tests/testlib.c:116: if (g_strcasecmp(name,
gtk_widget_get_name(GTK_WIDGET (widget))) == 0)
gail/tests/testlib.c:139:
if (g_strcasecmp(name, gtk_widget_get_name(GTK_WIDGET (widget))) == 0)
gail/tests/testlib.c:185: if (accessible_name &&
(g_strcasecmp(name, accessible_name) == 0))
gail/tests/testlib.c:205: if (accessible_name
&& (g_strcasecmp(name, accessible_name) == 0))
gail/tests/testtable.c:264: g_string_sprintf(out_desc, "new
column description %d", i);
gail/tests/testtable.c:295: g_string_sprintf(out_desc, "new
row description %d", i);
gail/tests/testtextlib.c:543: if
(g_strcasecmp(param_string2, "ATK_XY_SCREEN") == 0)
gail/tests/testtextlib.c:551: else if
(g_strcasecmp(param_string2, "ATK_XY_WINDOW") == 0)
gail/tests/testtextlib.c:573: if
(g_strcasecmp(param_string3, "ATK_XY_SCREEN") == 0)
gail/tests/testtextlib.c:582: else if
(g_strcasecmp(param_string3, "ATK_XY_WINDOW") == 0)
gail/gail/gailtextview.c:1075: if (!g_strcasecmp
(name, atk_text_attribute_get_name (ATK_TEXT_ATTR_LEFT_MARGIN)))
gail/gail/gailtextview.c:1078: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_RIGHT_MARGIN)))
gail/gail/gailtextview.c:1081: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_INDENT)))
gail/gail/gailtextview.c:1084: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_PIXELS_ABOVE_LINES)))
gail/gail/gailtextview.c:1087: else if
(!g_strcasecmp(name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_PIXELS_BELOW_LINES)))
gail/gail/gailtextview.c:1090: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP)))
gail/gail/gailtextview.c:1093: else if
(!g_strcasecmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_SIZE)))
gail/gail/gailtextview.c:1096: else if
(!g_strcasecmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_RISE)))
gail/gail/gailtextview.c:1099: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_WEIGHT)))
gail/gail/gailtextview.c:1102: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_BG_FULL_HEIGHT)))
gail/gail/gailtextview.c:1105:
(g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_BG_FULL_HEIGHT, 0))),
gail/gail/gailtextview.c:1109: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_LANGUAGE)))
gail/gail/gailtextview.c:1112: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_FAMILY_NAME)))
gail/gail/gailtextview.c:1115: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_EDITABLE)))
gail/gail/gailtextview.c:1118:
(g_strcasecmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE,
0))),
gail/gail/gailtextview.c:1122: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_INVISIBLE)))
gail/gail/gailtextview.c:1125:
(g_strcasecmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE,
0))),
gail/gail/gailtextview.c:1129: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_UNDERLINE)))
gail/gail/gailtextview.c:1133:
if (!g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_UNDERLINE, j)))
gail/gail/gailtextview.c:1141: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_STRIKETHROUGH)))
gail/gail/gailtextview.c:1144:
(g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_STRIKETHROUGH, 0))),
gail/gail/gailtextview.c:1148: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_BG_COLOR)))
gail/gail/gailtextview.c:1158: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_FG_COLOR)))
gail/gail/gailtextview.c:1168: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_STRETCH)))
gail/gail/gailtextview.c:1172:
if (!g_strcasecmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH,
j)))
gail/gail/gailtextview.c:1180: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_JUSTIFICATION)))
gail/gail/gailtextview.c:1184:
if (!g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_JUSTIFICATION, j)))
gail/gail/gailtextview.c:1192: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_DIRECTION)))
gail/gail/gailtextview.c:1196:
if (!g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_DIRECTION, j)))
gail/gail/gailtextview.c:1204: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_VARIANT)))
gail/gail/gailtextview.c:1208:
if (!g_strcasecmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT,
j)))
gail/gail/gailtextview.c:1216: else if
(!g_strcasecmp (name, atk_text_attribute_get_name
(ATK_TEXT_ATTR_WRAP_MODE)))
gail/gail/gailtextview.c:1220:
if (!g_strcasecmp (value, atk_text_attribute_get_value
(ATK_TEXT_ATTR_WRAP_MODE, j)))
gail/gail/gailtextview.c:1228: else if
(!g_strcasecmp (name, atk_text_attribute_get_name (ATK_TEXT_ATTR_STYLE)))
gail/gail/gailtextview.c:1232:
if (!g_strcasecmp (value, atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE,
j)))
gail/gail/gailtextcell.c:261:
g_strcasecmp (text_cell->cell_text, new_cache))
gail/gail/gailcell.c:400: if (!g_strcasecmp
(((ActionInfo *)(list_node->data))->name, action_name))
gconf/gconf/testclient.c:93: loop = g_main_new(TRUE);
gconf/gconf/testclient.c:97: g_main_run(loop);
gconf/gconf/testclient.c:101: g_main_destroy(loop);
gnome-applets/gswitchit/gswitchit-applet.c:530:
g_strcasecmp ("XKB",
gnome-control-center/archiver/archive.c:380: g_tree_traverse
(archive->locations,
gnome-control-center/archiver/archive.c:720: g_tree_traverse
(archive->locations,
gnome-control-center/capplets/url-properties/url-properties.c:192:
if (!g_strcasecmp(key, "default"))
gnome-control-center/capplets/url-properties/url-properties.c:244:
if (!g_strcasecmp(prot, col1)) {
gnome-control-center/capplets/url-properties/url-properties.c:265:
if (!g_strcasecmp(prot, col1)) {
gnome-control-center/capplets/background/gnome-wp-xml.c:33:
if (!g_strcasecmp ((gchar *)prop, "true") || !g_strcasecmp ((gchar *)prop,
"1")) {
gnome-control-center/libslab/document-tile.c:149:
g_date_set_time (time_stamp, modified);
gnome-media/cddb-slave2/iochannel.c:62: if
((error = g_io_channel_write(channel, ptr, nleft, &nwritten))
gnome-media/cddb-slave2/iochannel.c:119: if
((error = g_io_channel_read(channel, ptr, nleft, &nread))
gnome-menus/libmenu/canonicalize.c:238: if (allow_missing_basename
&& retval == NULL)
gnome-netstatus/src/netstatus-sysdeps.c:547: if (g_strncasecmp (iface,
"an", 2) &&
gnome-netstatus/src/netstatus-sysdeps.c:548:
g_strncasecmp (iface, "wi", 2) &&
gnome-netstatus/src/netstatus-sysdeps.c:549:
g_strncasecmp (iface, "ath", 3) &&
gnome-netstatus/src/netstatus-sysdeps.c:550:
g_strncasecmp (iface, "ndis", 4) &&
gnome-netstatus/src/netstatus-sysdeps.c:551:
g_strncasecmp (iface, "ipw", 3) &&
gnome-netstatus/src/netstatus-sysdeps.c:552:
g_strncasecmp (iface, "iwi", 3) &&
gnome-netstatus/src/netstatus-sysdeps.c:553:
g_strncasecmp (iface, "acx", 3))
gnome-netstatus/src/netstatus-sysdeps.c:556: if (g_strncasecmp (iface,
"an", 2) == 0)
gnome-nettool/src/callbacks.c:236: if
(g_strcasecmp (text, "") != 0)
gnome-nettool/src/callbacks.c:246: if
(g_strcasecmp (text, "") != 0)
gnome-session/gnome-session/startup-programs.c:137:
if (g_strcasecmp (only_show_in_list[i], "GNOME") == 0)
gnome-session/gnome-session/startup-programs.c:160:
if (g_strcasecmp (not_show_in_list[i], "GNOME") == 0)
gnome-session/gnome-session/save.c:427:
if (g_strcasecmp (only_show_in_list[i], "GNOME") == 0)
gnome-session/gnome-session/save.c:451:
if (g_strcasecmp (not_show_in_list[i], "GNOME") == 0)
gnome-session/gnome-session/gsm-gsd.c:88: if (!g_strcasecmp (name,
"org.gnome.SettingsDaemon"))
gnome-session/gnome-session/gsm-gsd.c:91: if
(!g_strcasecmp ("", new_owner))
gnome-speech/gnome-speech/speaker.c:107:
if (!g_strcasecmp (name, p->name))
gnome-speech/drivers/eloquence/eloquencespeaker.c:387:
if (!g_strcasecmp (voice_spec->name, name))
gnome-utils/logview/logview.c:250: if (selected!=NULL
&& g_strncasecmp (log->name, selected, -1)==0)
gok/gok/create-branching-keyboard.c:96: g_io_channel_close
(kbd->io);
gok/gok/main.c:527: returncode = g_strcasecmp(a_file,
b_file);
gok/gok/main.c:1662: if
(g_strcasecmp (pKB->Name, NameKeyboard) == 0)
gok/gok/gok-scanner.c:1769: if
(g_strcasecmp (pAccessMethod->Name, NameAccessMethod) == 0)
gst-plugins-good/gst/rtp/gstrtpvorbisdepay.c:302: if (g_strcasecmp
(delivery_method, "inline")) {
gst-plugins-good/gst/rtp/gstrtpvorbisdepay.c:304: } else if (g_strcasecmp
(delivery_method, "in_band")) {
gst-plugins-good/gst/rtp/gstrtpilbcpay.c:133: if (g_strcasecmp
("audio/x-iLBC", payload_name) == 0) {
gst-plugins-good/gst/rtp/gstrtptheoradepay.c:302: if (g_strcasecmp
(delivery_method, "inline")) {
gst-plugins-good/gst/rtp/gstrtptheoradepay.c:304: } else if (g_strcasecmp
(delivery_method, "in_band")) {
gstreamer/tests/old/testsuite/caps/intersection.c:60:
g_mem_chunk_info ();
gstreamer/tests/old/testsuite/caps/intersection.c:65:
g_mem_chunk_info ();
gstreamer/tests/old/testsuite/plugin/loading.c:15: g_mem_chunk_info
();
gstreamer/tests/old/testsuite/plugin/loading.c:33: g_mem_chunk_info
();
gstreamer/tests/old/testsuite/plugin/loading.c:52: g_mem_chunk_info
();
gtk+/gtk/gtkfilechoosersettings.c:57:get_config_dirname (void)
gtk+/gtk/gtkfilechoosersettings.c:566: dirname =
get_config_dirname ();
libbonoboui/tools/browser/oaf-helper.c:41:
if (!g_strcasecmp (property_name, property->property_name) &&
libbonoboui/tools/browser/oaf-helper.c:346:
if (g_strcasecmp (prop->property_name, "repo_ids") == 0)
{
libglade/test/domp.c:50:
g_hash_table_freeze(tree->hash);
libglade/test/domp.c:55:
g_hash_table_thaw(tree->hash);
libglade/test/saxp.c:398:
g_string_sprintfa(state->style_data, " font = "%s"n",
libglade/test/saxp.c:403:
g_string_sprintfa(state->style_data,
libglade/test/saxp.c:412:
g_string_sprintfa(state->style_data,
libglade/test/saxp.c:421:
g_string_sprintfa(state->style_data,
libglade/test/saxp.c:430:
g_string_sprintfa(state->style_data,
libglade/test/saxp.c:437:
g_string_sprintfa(state->style_data, " bg_pixmap[%s] = "%s"n",
libgnomeprint/libgnomeprint/gnome-font-face.c:611:
if (!g_strcasecmp (family, entry->familyname)) {
libgnomeprint/libgnomeprint/gnome-fontmap.c:576: return
g_strcasecmp (((GPFontEntry *) a)->name, ((GPFontEntry *)
b)->name);
libgnomeprint/libgnomeprint/gnome-fontmap.c:587: return
g_strcasecmp (((GPFontEntry *) a)->speciesname, ((GPFontEntry *)
b)->speciesname);
libgnomeprint/libgnomeprint/gnome-fontmap.c:593: return
g_strcasecmp (((GPFamilyEntry *) a)->name, ((GPFamilyEntry *)
b)->name);
librsvg/rsvg-styles.c:1371: data = g_chunk_new (RsvgState,
ctx->state_allocator);
librsvg/rsvg-styles.c:1393: g_mem_chunk_free
(ctx->state_allocator, dead_state);
librsvg/rsvg-base.c:1033: g_mem_chunk_free
(ctx->state_allocator, data);
librsvg/rsvg-base.c:1047: g_mem_chunk_destroy
(handle->state_allocator);
librsvg/rsvg-base.c:1227: ctx->state_allocator =
g_mem_chunk_create (RsvgState, 256, G_ALLOC_AND_FREE);
librsvg/test-display.c:42:_rsvg_basename (const char *file)
librsvg/test-display.c:300: base_name = _rsvg_basename
(info->base_uri);
librsvg/test-display.c:351: base_name = _rsvg_basename
(info->base_uri);
librsvg/gtk-engine/svg-rc-style.c:727:
g_scanner_freeze_symbol_table(scanner);
librsvg/gtk-engine/svg-rc-style.c:732:
g_scanner_thaw_symbol_table(scanner);
librsvg/rsvg-cairo-render.c:96: draw->state_allocator =
g_mem_chunk_create (RsvgState, 256, G_ALLOC_AND_FREE);
libsoup/tests/dict.c:84: g_main_quit (loop);
libsoup/tests/dict.c:160: g_main_run (loop);
libsoup/tests/dns.c:59: g_main_run (loop);
libsoup/tests/get.c:175: g_main_quit
(loop);
libsoup/tests/get.c:303: g_main_run (loop);
libsoup/tests/getbug.c:63: g_main_quit (loop);
libsoup/tests/getbug.c:133: g_main_run (loop);
libsoup/libsoup/soup-session-async.c:218:
g_main_iteration (TRUE);
libsoup/libsoup/soup-server-auth.c:434:
g_string_sprintfa (str,
libsoup/libsoup/soup-server-auth.c:438:
g_string_sprintfa (str,
libsoup/libsoup/soup-server-auth.c:444:
g_string_sprintfa (str, "qop="auth-int", ");
libsoup/libsoup/soup-server-auth.c:446:
g_string_sprintfa (str, "qop="auth,auth-int", ");
libsoup/libsoup/soup-server-auth.c:449:
g_string_sprintfa (str, "algorithm="MD5-sess"");
libsoup/libsoup/soup-server-auth.c:451:
g_string_sprintfa (str, "algorithm="MD5"");
libsoup/libsoup/soup-uri.c:292:
g_string_sprintfa (str, "%s:", soup_protocol_name (uri->protocol));
metacity/src/delete.c:505:
g_strcasecmp (w->res_class, "metacity-dialog") == 0)
nautilus/libnautilus-private/nautilus-file.c:3045:
g_date_set_time (today, time (NULL));
ORBit2/test/echo-local.c:129: g_blow_chunks();
ORBit2/test/everything/client.c:1960:
g_main_iteration (TRUE);
pango/pango-view/viewer-win32.c:499: if (0 ==
g_strcasecmp(pango_font_family_get_name(families[i]), family_name))
pkg-config-0.20/parse.c:1082: pkg->pcfiledir =
g_dirname (path);
seahorse/agent/seahorse-agent-cache.c:85:static GMemChunk *g_memory =
NULL; /* Memory for sa_cache_t's */
seahorse/agent/seahorse-agent-cache.c:217:
g_chunk_free (it, g_memory);
seahorse/agent/seahorse-agent-cache.c:247: g_memory =
g_mem_chunk_create (SeahorseAgentPassReq, 128, G_ALLOC_AND_FREE);
seahorse/agent/seahorse-agent-cache.c:268:
g_mem_chunk_destroy (g_memory);
seahorse/agent/seahorse-agent-cache.c:405:
it = g_chunk_new (sa_cache_t, g_memory);
seahorse/agent/seahorse-agent-actions.c:39:static GMemChunk *g_memory =
NULL; /* Allocator for SeahorseAgentPassReq items
*/
seahorse/agent/seahorse-agent-actions.c:79: g_memory =
g_mem_chunk_create (SeahorseAgentPassReq, 128, G_ALLOC_AND_FREE);
seahorse/agent/seahorse-agent-actions.c:94:
g_mem_chunk_destroy (g_memory);
seahorse/agent/seahorse-agent-actions.c:129: pr = g_chunk_new
(SeahorseAgentPassReq, g_memory);
seahorse/agent/seahorse-agent-actions.c:158: g_chunk_free
(pr, g_memory);
seahorse/agent/seahorse-agent-io.c:70:static GMemChunk *g_memory =
NULL; /* Memory for connections */
seahorse/agent/seahorse-agent-io.c:204: g_chunk_free (cn,
g_memory);
seahorse/agent/seahorse-agent-io.c:643: cn = g_chunk_new0
(SeahorseAgentConn, g_memory);
seahorse/agent/seahorse-agent-io.c:683: g_memory =
g_mem_chunk_create (SeahorseAgentConn, 8, G_ALLOC_AND_FREE);
seahorse/agent/seahorse-agent-io.c:706:
g_mem_chunk_destroy (g_memory);
seahorse/daemon/seahorse-hkp-server.c:322: if (t &&
g_strcasecmp(t, "on") == 0)
seahorse/daemon/seahorse-hkp-server.c:443: else
if(g_strcasecmp(t, "index") == 0)
seahorse/daemon/seahorse-hkp-server.c:446: else
if(g_strcasecmp(t, "vindex") == 0)
seahorse/daemon/seahorse-hkp-server.c:449: else
if(g_strcasecmp(t, "get") == 0)
seahorse/src/seahorse-gkeyring-item.c:70:
if (g_strcasecmp (name, attr->name) == 0 &&
seahorse/src/seahorse-gkeyring-item.c:90: return protocol
&& g_strncasecmp (protocol, match, strlen (match)) == 0;
seahorse/src/seahorse-gkeyring-item.c:534:
if (g_strcasecmp (name, attr->name) == 0 &&
seahorse/plugins/nautilus/seahorse-tool-progress.c:81: else
if (g_strcasecmp (args[0], CMD_BLOCK) == 0)
seahorse/plugins/nautilus/seahorse-tool-progress.c:84: else
if (g_strcasecmp (args[0], CMD_UNBLOCK) == 0) {
seahorse/plugins/nautilus/seahorse-tool-progress.c:89: else
if (g_strcasecmp (args[0], CMD_PROGRESS) == 0) {
seahorse/libseahorse/seahorse-util.c:187: g_date_set_time
(created_date, time);
seahorse/libseahorse/seahorse-dns-sd.c:121:
if (g_strcasecmp (HKP_SERVICE_TYPE, type) != 0)
seahorse/libseahorse/seahorse-dns-sd.c:168: if (g_strcasecmp
(HKP_SERVICE_TYPE, type) != 0)
totem/src/backend/bacon-video-widget-gst-0.10.c:4864:
g_date_set_time (&d, time (NULL));
yelp/src/info2html/html.c:149: if
(g_strcasecmp(ref, "(dir)")) {
zenity/src/tree.c:153: if (strcmp
(g_strdown (zenity_util_strip_newline (string->str)), "true") == 0)
zenity/src/tree.c:231: if (strcmp
(g_strdown ((gchar *) args[i+j]), "true") == 0)
zenity/src/tree.c:305: if (strcmp (g_strdown
(tree_data->print_column), "all") == 0)
mercredi 28 mars 2007
Sysprof sous Mandriva 2007.0
Par liberforce le mercredi 28 mars 2007, 00:58 - Computers / Informatique
Sysprof est un logiciel de
profiling: il permet de voir les fonctions qui utilisent le plus de temps CPU
dans un programme. C'est le logiciel recommandé par GNOME pour vérifier les
performances d'une application. Malheureusement, il semble que le logiciel ne
peut être installé sous Mandriva 2007.0, à causes de problèmes de
dépendances.
Pour ceux que cela intéresse, j'ai recompilé sysprof 1.0.8 à partir du RPM
source de la Mandriva 2007.1, pour qu'il soit utilisable sous Mandriva 2007.0.
N'oubliez pas aussi d'installer dkms, et les sources de
votre version du kernel (kernel-source ou
kernel-source-stripped). Un petit modprobe
sysprof-module en root sera sans doute aussi nécessaire...
Vous trouverez là sysprof
1.0.8 (i586) pour Mandriva 2007.0.
mardi 27 mars 2007
Oisiweb: Comment afficher une chaine de caractères avec des accents ?
Par liberforce le mardi 27 mars 2007, 01:00 - Computers / Informatique
Cher oisiweb (oisif+web, traduction libre de lazyweb),
je me sens actuellement désoeuvré devant ce problème qui semble pourtant
simple: afficher des caractères accentués dans mon programme en mode
texte.
C'est un programme d'une extrême complexité, je te laisse juger:
#include <glib.h>Pourtant, que le fichier soit enregistré en iso-8859-1 ou en utf8, pas d'accents. J'ai essayé aussi les entêtes spéciaux (coding cookie):
int main (void)
{
g_print("éèân");
return 0;
}
/* -*-coding: utf-8; -*- */J'ai aussi essayé l'option -finput-charset de gcc, mais non, je n'obtiens aucun résultat concluant. Alors cher oisiweb, aurais tu la solution à ce problème ?
Update 1:
D'après les exemples du guide officiel du développeur GNOME, j'ai vu un cas qui fonctionnait.
Fichier en UTF8, coding cookie en entête, et c'est magique, ça marche. Quelle est la différence entre mon exemple et les siens ? Le coding cookie ? Non, en l'enlevant, on obtient le même résultat, c'était sans doute nécessaire en 2003-2004 pour aider gcc à trouver l'encodage du fichier, mais apparemment plus maintenant.
Non en fait, la différence c'est qu'il appelle gtk_init dans son exemple. Mais pourquoi diable doit-on se lier à GTK pour une appli non graphique, juste pour avoir des traces en français (besoin de mon employeur) ? Si quelqu'un a une réponse, ou un autre moyen, je suis preneur...
Update 2:
Effectivement, comme l'indique Pascal dans les commentaires, il semble que ce soit un appel à setlocale qui soit a cause de mes soucis. Comme l'indique la documentation de gtk_set_locale, gtk_init appelle gtk_set_locale qui appelle setlocale(LC_ALL, "").
C'est cette dernière fonction qui va vérifier la locale utilisée, et ainsi affecter toutes les fonctions d'affichage.
La version corrigée de mon programme de test est donc:
#include <glib.h>
#include <locale.h>
int main (void)
{
setlocale(LC_ALL, "");
g_print("éèân");
return 0;
}
GNOME lack of documentation
Par liberforce le mardi 27 mars 2007, 01:00 - Computers / Informatique
GNOME lacks documentation. Everyone knows it. Sure. But we are in 2007 and
there are still
people starting to learn GNOME by starting with CORBA.
Moreover, the book about GNOME the most pointed out to learn GNOME is "The Official GNOME 2 Developer's guide".
I've just learned today that this book uses a (mostly) free licence: it uses
the Creative Commons
NonCommercial-ShareAlike 1.0 licence. However, it seems there is no online
version of this book (p2p excepted, I heard). This means no one can correct the
book that is beginning to become a bit outdated, thanks to project Ridley and
other things. Also, I've bought this book, but I don't have any electronic
version to search information in it, which is also quite a bit annoying.
I just hope that the upcoming library.gnome.org project, and that the www.gnome.org revamp that
Quim Gil is leading will help newbies with that, so that they can easily know
where to start, what is up to date, and what is updated....
mardi 20 mars 2007
GNOME 2.18 on Mandriva 2007.0 with jhbuild
Par liberforce le mardi 20 mars 2007, 01:09 - Computers / Informatique
GNOME 2.18 has been released
a few days ago. However, I still haven't seen it running.... I'm too lazy to
download Foresight
Linux, and it seems that the Mandriva One with GNOME 2.18 is only available
for x86_64 users... Too bad for my Athlon XP 3000+.
Anyway, I just achieved to compile almost the whole GNOME desktop from jhbuild
tonight. Only a few modules are missing, some because they are hard to compile
with 2007.0 (NetworkManager, network-manager-applet), others just because I
just don't care about them (mozilla, evolution-exchange, libexchange). Mozilla
in particular is so huge that I just always skip it.
For the braves that will dare to compile the GNOME desktop on their Mandriva
2007.0, I have just updated my guidelines about the jhbuild dependencies
for GNOME on Mandriva Linux.
Enjoy.
vendredi 2 mars 2007
Un nouveau spammeur sur planète GNOME-FR !
Par liberforce le vendredi 2 mars 2007, 01:11 - Gossip / Blabla
Bonjour à tous les lecteurs de planète GNOME-FR !
Vincent m'a permis de vous
rejoindre pour votre plus grand bonheur, ce qui a provoqué une quantité non
négligeable de spam sur la planète... Je m'en excuse, n'ayant pas trop de
contrôle sur ce point. J'en ai même profité pour introduire par la même
occasion mon premier troll politique, bien involontairement également (ce post
là n'était pas censé se retrouver ici !).
Pour ce qui ne me connaissent pas (et il doit y en avoir un paquet), je vous
renvois à mon billet d'introduction. Autrement,
je traine en ce moment mes guêtres du côté d'Ekiga, au niveau de la migration à GTK+ 2.10. Et puis
j'ai un petit projet qui arrivera peut être après ça, si j'ai un peu plus
avancé côté professionnel (c'est à dire si je suis moins à la bourre sur mon
projet). Mais chut, ne le dites à personne.
jeudi 15 février 2007
Plein de choses à dire...
Par liberforce le jeudi 15 février 2007, 00:32 - Gossip / Blabla
Et pas assez de temps... Du sommeil en retard... Du boulot... et puis un (petit) patch pour GNOME. Il m'aura quand même fallu 3 mois pour me décider à me replonger dedans. Oui je sais. Mais bon, comme le FOSDEM approche, j'avais peur d'avoir mauvaise conscience :-) en voyant Damien.
mercredi 24 janvier 2007
GNOME tip of the day
Par liberforce le mercredi 24 janvier 2007, 03:04 - Computers / Informatique
Avoiding turning your screen on to raise/lower sound on your
computer.
I have a CRT screen at home. When I listen to some music
without being in front of the computer, I turn the screen off, to avoid useless
power consumption. However, I don't like using my speakers' buttons to regulate
the sound level. I prefer to do it by software, but i'd need to turn the screen
on again to do that.
So here is my GNOME tip of the day:
Step 1: move your mixer applet to one
corner
So I moved the mixer applet at the top right corner
of my desktop (works for every corner). For that, you need to unlock the mixer
applet and every applet that would prevent it from going on the destop corner.
To move the applet, use the traditionnal middle mouse drag-and-drop.
Step 2: turn your screen off
Step 3: move you mouse trying to go to the corner were you put the mixer
applet
Step 4: roll your mouse wheel up or down to raise/lower the sound.
page 2 de 2 - billets suivants »