Aller au contenu

juddix

Membres
  • Compteur de contenus

    909
  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutral

À propos de juddix

  • Rang
    Extrem Member
  • Date de naissance 14/03/1980

Profile Information

  • Sexe
    Male
  • Localisation
    Paris
  1. juddix

    Créer une fenêtre en GTK ou Python

    bon, j'ai réussi a me basant sur une fenetre de Ctkarch // Released under the terms of the WTFPL, without any warranty. #include <stdlib.h> #include <gtk/gtk.h> #include <unistd.h> #include <string.h> void launch(GtkWidget*, gpointer); int main(int argc, char **argv) { GtkWidget *pWindow=NULL; // pointeur sur la fenetre GtkWidget *pLaunch=NULL; // pointeur sur le bouton de lancement du doc.html GtkWidget *pClose=NULL; // pointeur sur le bouton de fermeture GtkWidget *pVbox=NULL; // pointeur sur le conteneur vertical contenant le texte de bienvenue et le conteneur des 2 boutons GtkWidget *pHbox=NULL; // pointeur sur le conteneur horizontal contenant les 2 boutons en bas de la fenetre GtkWidget *pTextView = NULL; // pointeur sur la vue du texte dnas la fenetre GtkTextBuffer *pTextBuffer = NULL ; // pointeur sur le buffer du texte GtkTextTagTable *pTagTable = NULL; // pointeur sur une table de tag GtkTextTag *pTag = NULL; // pointeur sur le tag courant GtkTextIter start, end; // defini le debut et la fin de la zone impacté par le tag char *langue = NULL ; // permet de stocker la langue local char *home = NULL ; // permet de stocker le repertoire HOME de l'utilisateur courant char icone[100]; // defini le chemin de l'icone de l'appli gtk_init(&argc,&argv); // initialisation *icone='\0'; home=getenv("HOME"); // recuperation de la locale if ( home == NULL ) // si la local n'est pas defini, on affiche une erreur { GtkWidget* pError; pError = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"Variable d'environnement $HOME non définie !"); gtk_dialog_run (GTK_DIALOG (pError)); gtk_widget_destroy (pError); exit(1) ; } strcpy(icone,home); strcat(icone,"/.config/fbpanel/arch.png"); pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); // creation de la fenetre gtk_window_set_default_size(GTK_WINDOW(pWindow),450,285); // definition de la taille de fenetre gtk_window_set_icon_from_file(GTK_WINDOW(pWindow),icone,NULL); // definition de l'icone pTagTable = gtk_text_tag_table_new(); // nouvelle table de tag. Necessaire pour la mise en forme pTextBuffer = gtk_text_buffer_new (pTagTable); // creation du bugger. Va contenir le texte a afficher pTextView = gtk_text_view_new_with_buffer (pTextBuffer); // creation de la vue du texte a afficher // creation du tag pour la couleur de fond pTag = gtk_text_tag_new("background-darkgray"); g_object_set ((gpointer) pTag, "background", "darkgray", NULL); gtk_text_tag_table_add(pTagTable,pTag); // creation du tag pour le gras du texte pTag = gtk_text_tag_new("gras"); g_object_set ((gpointer) pTag, "weight", PANGO_WEIGHT_BOLD, NULL); gtk_text_tag_table_add(pTagTable,pTag); // creation du tag pour centrer le texte pTag = gtk_text_tag_new("centrer"); g_object_set ((gpointer) pTag, "justification", GTK_JUSTIFY_CENTER, NULL); gtk_text_tag_table_add(pTagTable,pTag); gtk_text_view_set_right_margin(GTK_TEXT_VIEW(pTextView),5); // en pixel. Defini la marge a droite gtk_text_view_set_left_margin(GTK_TEXT_VIEW(pTextView),5); // en pixel. Defini la marge a gauche gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pTextView),FALSE); // n'affiche pas le curseur gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextView),FALSE); // desactive l'edition du texte gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(pTextView),GTK_TEXT_WINDOW_LEFT,10); // bordure de 10 pixels. Defini l'ecartement entre le bord de la fenetre et la zone de texte a gauche gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(pTextView),GTK_TEXT_WINDOW_RIGHT,10); // bordure de 10 pixels. Defini l'ecartement entre le bord de la fenetre et la zone de texte a droite gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(pTextView),GTK_TEXT_WINDOW_TOP,10); // bordure de 10 pixels. Defini l'ecartement entre le bord de la fenetre et la zone de texte en haut gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(pTextView),GTK_TEXT_WINDOW_BOTTOM,10); // bordure de 10 pixels. Defini l'ecartement entre le bord de la fenetre et la zone de texte en bas langue=getenv("LANG"); // recuperation de la locale if ( langue == NULL ) // si la local n'est pas defini, on affiche une erreur { GtkWidget* pError; pError = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"Variable d'environnement $LANG non définie !"); gtk_dialog_run (GTK_DIALOG (pError)); gtk_widget_destroy (pError); exit(1) ; } if ( strstr(langue,"fr") != NULL ) // si la lange est FR, alors on affiche un texte en français { gtk_text_buffer_set_text(pTextBuffer,"\nUtilisation des outils d'accesibilite\n\n inversion des couleurs Noir/Blanc = windows + n\n changer de couleurs la fenêtre selectionner = windows + f \n changer de couleurs toutes les fenêtres = windows + d\n\n changer de filtre de couleurs = Ctrl + windows + s \n loupe = windows + molette souris \n\n Pour avoir plus d’infos, cliquer sur le bouton Documentation. \n\n La Cellule réseau\n du Lundi au Vendredi de 9h à12 et de 14h à 17h\n \n\0",-1); // texte en FR pClose = gtk_button_new_with_label(" Fermer "); // creation du bouton de fermeture en FR // mise en place de la mise en forme pour les raccourcis gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,3); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,10,34); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"gras",&start,&end); // mise en place de la mise en forme pour le plus d'infos gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,10); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,10,62); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"gras",&start,&end); } else // sinon en anglais { gtk_text_buffer_set_text(pTextBuffer,"\nLive CTKArch 0.7\n\n Alt+F1 : Terminal \n Alt+F2 : Execute command \n Alt+F3 : File manager\n\n To configure a network connection, click the menu, Network, Wicd. \n An icon will appear on the bottom right of the screen. \n\n To get more info, click the Documentation button. \n\n Have a nice day !\n\0",-1); // texte en En pClose = gtk_button_new_with_label(" Close "); // creation du bouton de fermeture en En // mise en place de la mise en forme pour les raccourcis gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,3); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,5,22); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"gras",&start,&end); // mise en place de la mise en forme pour le plus d'infos gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,10); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,10,51); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"gras",&start,&end); } // mise en place du fond // gtk_text_buffer_get_bounds(pTextBuffer,&start,&end); // gtk_text_buffer_apply_tag_by_name(pTextBuffer,"background-darkgray",&start,&end); // mise en place de la mise en forme pour le titre gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,1); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,1,37); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"gras",&start,&end); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"centrer",&start,&end); // mise en place de l'apparence pour le message de fin gtk_text_buffer_get_iter_at_line(pTextBuffer,&start,12); gtk_text_buffer_get_iter_at_line_offset(pTextBuffer,&end,12,18); gtk_text_buffer_apply_tag_by_name(pTextBuffer,"centrer",&start,&end); pLaunch = gtk_button_new_with_label(" Documentation "); // creation du bouton pVbox = gtk_vbox_new(FALSE,10); // creation du conteneur vertical pHbox = gtk_hbox_new(TRUE,5); // creation du conteneur horizontal gtk_window_set_title (GTK_WINDOW(pWindow), "Outils pour malvoyants"); // positionnement du titre de la fenetre gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER); // positionnement de la fenetre sur l'ecran g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL); // peremt de fermer la fenetre en cliquant sur la croix g_signal_connect(G_OBJECT(pLaunch), "clicked", G_CALLBACK(launch),NULL); // lance la fonction "launch" quand on clique sur le bouton g_signal_connect(G_OBJECT(pClose), "clicked", G_CALLBACK(gtk_main_quit),NULL); // quitte l'application si on clique sur le bouton gtk_box_pack_start(GTK_BOX(pHbox), pLaunch, FALSE, FALSE, 0); // ajoute le bouton a gauche de la Hbox gtk_box_pack_start(GTK_BOX(pHbox), pClose, FALSE, FALSE, 0); // ajoute le bouton a droite du 1er bouton gtk_box_pack_start(GTK_BOX(pVbox), pTextView, FALSE, FALSE, 0); // ajoute le texte en haut de la Vbox gtk_box_pack_start(GTK_BOX(pVbox), pHbox, FALSE, FALSE, 0); // ajoute la Hbox en dessous du texte gtk_container_add(GTK_CONTAINER(pWindow), pVbox); // ajoute la Vbox dans la fenetre gtk_widget_set_size_request(pLaunch,-1,26); // taille en pixels de la hauteur du bouton gtk_widget_set_size_request(pClose,-1,26); // taille en pixels de la hauteur du bouton gtk_widget_show_all(pWindow); // montre la fenetre gtk_main(); // gere le clic sur les boutons return EXIT_SUCCESS; } void launch(GtkWidget *Widget, gpointer data) // fonction appelé pour lancer le contenu de la variable d'environnement BROWSER { pid_t pid; pid = fork (); // fork pour le lancement du browser if (pid > 0) { gtk_main_quit(); // en cas de process pere (process initiateur) on quitte pour rendre la main a la suite } else if (pid == 0) { char *browser = NULL; char *langue = NULL ; char fichier[100]; *fichier='\0'; browser=getenv("BROWSER"); // recuperation du contenu de la variable d'environnement BROWSER if ( browser == NULL ) // si variable non defini, on creer une boite de dialogue avertissant l'utilisateur que la variable n'est pas défini { GtkWidget* pError; pError = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"La variable d'environnement $BROWSER n\'existe pas !"); gtk_dialog_run (GTK_DIALOG (pError)); gtk_widget_destroy (pError); exit(1) ; } langue=getenv("LANG"); if ( langue == NULL ) { GtkWidget* pError; pError = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"Variable d'environnement $LANG non définie !"); gtk_dialog_run (GTK_DIALOG (pError)); gtk_widget_destroy (pError); exit(1) ; } if ( strstr(langue,"fr") != NULL ) { strcpy(fichier,"/install/Documentation/fr.html"); } else { strcpy(fichier,"/install/Documentation/en.html"); } execlp(browser,browser,fichier,NULL); // on remplace le process fils par celui du browser (ecrasement) } else // si jamais, on ne peux pas forker { GtkWidget* pError; pError = gtk_message_dialog_new(NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,"Impossible de forker !"); gtk_dialog_run (GTK_DIALOG (pError)); gtk_widget_destroy (pError); exit(1) ; } } on compile avec gcc $(pkg-config gtk+-2.0 --cflags) $(pkg-config gtk+-2.0 --libs) -Wall intro.c -o intro on démarre avec: BROWSER=firefox ./intro
  2. Bonjour, je cherche a créer une fenetre pour une session utilisateur Linux. cette fenetre a pour seule but, être un pense bete utilisateur. j'ai bien essayé glade3, je fais la mise en forme puis j'enregistre le projet en fenetre.glade <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3.0 --> <object class="GtkWindow" id="window1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="title" translatable="yes">outils accesibilite</property> <property name="window_position">center</property> <child> <object class="GtkBox" id="box1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <child> <object class="GtkEntry" id="entry1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">Utilisation des outils d'accesibilite:</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkEntry" id="entry2"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkEntry" id="entry3"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">inversion des couleurs Noir/Blanc = windows + n</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> <child> <object class="GtkEntry" id="entry4"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">changer de couleurs la fenêtre selectionner = windows + f</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">3</property> </packing> </child> <child> <object class="GtkEntry" id="entry5"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">changer de couleurs toutes les fenêtres = windows + d</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">4</property> </packing> </child> <child> <object class="GtkEntry" id="entry6"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">changer de filtre de couleurs = Ctrl + windows +s</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">5</property> </packing> </child> <child> <object class="GtkEntry" id="entry7"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="invisible_char">●</property> <property name="text" translatable="yes">loupe = windows + molette souris</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">6</property> </packing> </child> <child> <object class="GtkButton" id="button1"> <property name="label">gtk-close</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> <property name="use_stock">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">7</property> </packing> </child> </object> </child> </object> </interface> voila ce que je cherche... juste créer une fenetre avec du texte. Utilisation des outils d'accesibilite: inversion des couleurs Noir/Blanc = windows + n changer de couleurs la fenêtre selectionner = windows + f changer de couleurs toutes les fenêtres = windows + d changer de filtre de couleurs = Ctrl + windows +s loupe = windows + molette souris Comme vous l'avez comprit c'est une fenetre de rappel de raccourcit claviers de compiz pour des utilisateurs malvoyant. si vous avec des idées où alternative a glade3, je suis preneur. juste pour info je connais rien a tout ça... je débute la dedans.
  3. Bonjour, je cherche un moyen de supprimer une alerte qui revient sans arrêt lorsque je branche certaines clé usb et disque externe. le principale soucis est que je branche mes clé / disque un peu partout entre collègues de travail et chez les amis. y a t'il une astuces pour désactiver cette alerte où de la forcer sur continuer sans analyser constamment ? cette option est apparut sous Vista il me semble
  4. juddix

    pilote brother dcp585cw

    Salut, Palux Quelle distribution utilise tu ? Cups "l'outils d'ajout d'imprimantes" trouve pas ? essaye avec ça si cups ne trouve pas http://welcome.solutions.brother.com/bsc/p....html#DCP-585CW
  5. juddix

    Copie de fichier volumineux sur Fat32

    Salut, soit tu converti ton disque dur en NTFS où tu passe par un outils comme 7-Zip et tu lui dit de compresser tes fichiers avec un découpage automatique juste avant la limite des 4Go Après a toi de voir si t'es obligé où non de resté en Fat32
  6. juddix

    Univers Mac

    Le mac a souvent des raccourcit clavier difficile et des signe manquant sur les touches du clavier comme le \ Mais où est il ???? on tapote partout et on découvre d'autre raccourcit, bon ok ça c 'est la méthode bourrin j'ai toujours eu un naturel un peu bourrin que voulez vous. le mode Nocturne (comme les GPS la nuit) ça inverse toute les couleurs, et fatigue moins les yeux. que dire de plus.... c' est de l'investissement c' est vrai mais ça reste une très belle machine. comment je réussirais a me passer de ce mac quand mon chef le réclamera..... euh je crains ne plus pouvoir m'en passé. comme dirais certains, un switcher de plus. passé de Linux a Mac os qui lu cru.... et mec qui utilise Arch ben ouais ça arrive que voulez vous. C' est comme passé du tuning a la ferrari dans un sens. Mais bon, c' est vrai que le bricolage sur mac y en a pas.... y a bien un terminal mais il sert pas a grand chose.
  7. Bonsoir, voilà je suis actuellement dans une entreprise rempli de virus comment désinfecter correctement, et ne pas se faire infecter.... je crois devoir lacher mon windows 7 que je testait pour donner mon avis dessus au seins de l'entreprise, un peu marre de me faire infecter par les autres l'infection se fait parfois même souvent après avoir mit ma cle USB dans un PC pour l'installation de pilotes, du coup j'ai tendance a ne plus prendre mes cle USB... du moins j'essaye en teste dessus depuis pret de 2 mois, ça marche bien, mais passon je suis là pour avoir vos avis et vos idées sur quelles solutions antivirus Linux antispyware afin, d'éradiquer tout ce petit monde sans me faire infecter. j'utilise l'antivirus donnée par l'entreprise, mais pas mal de truc passe via les infections par cle usb, msn et par le P2P... ben ouais j'ai vu quelques bécanes avec ça dessus, bref c' est l'anarchie total le vers du jour est Mariposa, aussi connu sous le nom de : Worm.P2P.Palevo.J je sais que tout ça relève d'une charte informatique, mais bon je viens d' arrivée dans l'entreprise alors bon. il me faut un linux que j'installe en 2h maxi avec des dépots assé complet, je peux pas me permettre de passé la journée dessus a le configurer. Ubuntu, Debian, autres ... J'ai bien sortie mes quelques liveCD antivirus, mais ça semble pas très concluant. bitdefender rescue CD avira rescue CD Kapersky rescue CD F-secure rescue CD J'ai fait quelques recherches avant de vous demander, mais votre avis serait le bienvenue. http://doc.ubuntu-fr.org/antivirus http://eservice.free.fr/te-logiciels-antivirus.html Merci, d'avance a tous.
  8. juddix

    Univers Mac

    Sur un macbook pro 13" depuis mi décembre c' est vrai que ça n'a rien a voir avec les autres OS Snow leopard le seul soucis que j'ai dessus, c' est la prise en charge NTFS en écriture comment se passer de cette bestiole après ???? portable en prêt par le taff
  9. juddix

    [Resolu] Disque dur pas reconnu

    et sans le -o force ça donne quoi ?
  10. juddix

    [Resolu] Disque dur pas reconnu

    le répertoire /media /JEREMIE existe il ? et regarde si ton disque n' est pas monté ailleur par hasard avec cette commande essaye ça sinon:
  11. juddix

    [Resolu] Disque dur pas reconnu

    C 'est un disque externe, interne, usb, ide, sata .... en NTFS où Fat32
  12. juddix

    [FAQ] Quelle distribution Linux pour commencer ?

    Pour ceux qui veulent essayer Archlinux (manuel débutant) sans se casser la tête a configurer sa distribution a la main, un nouveau projet viens de naître qui fera la joie des Débutants Chakra un projet encore alpha quelques petits bugs mais rien de bien méchant. affichage pas d'audio a cause de /etc/group incomplet refus de lancé X programmes qui demande X 0:0 depuis une console a cause de /etc/group incomplet alors que directement dans Kde ça fonctionne. A cause d'un crash disque, j'ai réinstallé Archlinux et j'avais pas envie de passé 2h dessus, donc voilà c'était l'occasion de tester Chakra ça serait bien de faire de telle projets soit déporté vers slackware et les autres distribution tordue. mon crash disque: freeze de arch en plein surf plus rien répondait même pas les tty, reset a l'arrache erreurs multiple a la fin du chargement du kernel ext3 error ..... reset, erreur grub 024 supergrub n' arrivait pas a réparer accès violation depuis explorer2fs sous XP au root allé, je refais une install.....on verra bien
  13. juddix

    [Résolu]Clavier Logitech

    t'es sous Gnome, Kde, ..... ? en console en tant que user, fait: numlock on puis teste ton pavé numérique, après faut automatisé le démarrage.
  14. je crois qu'il est mort tout simplement.... récupère quelques pièces où vend le pour pièces. la garantie est dépassé, informe toi au SAV s'il y a possibilité de le réparrer. la CM doit être morte.
  15. juddix

    [RESOLU]Probleme dossier partagé entre Ubuntu/Xp

    il faut se méfier de l'accès total depuis XP avec ext2ifs, le linux qui normalement est robuste devient tout d'un coup très fragile.....j'ai réinstallé arch un fois a jouer dans la partition Linux depuis XP.
×