Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/09/2010, à 20:58

Askelon

Empêcher la fermeture d'une fenêtre

Salut à tous !

Je suis en train d'essayer de trouver une solution pour bricoler une interface minimale pas trop crade sous Ubuntu, pour une bibliothèque ; l'amie qui y travail veut un truc simple et joli, à gauche les icônes des quelques applications accessibles aux utilisateurs, à droite des liens internet vers les services proposés, histoire que les papi-mamies qui constituent 99% de sa clientèle comprennent vite, et que le 1% de jeunes délinquants rusés viennent pas mater du porno et mettre en vrac le système pour se marrer en voyant mamie galérer big_smile

Je compte utiliser un gestionnaire de fenêtre bien léger type Openbox, dans lequel serait lancé une page html simple grâce à Konqueror sans aucun menus ni rien, en plein écran, et impossible à fermer.

La question est donc : comment faire pour empêcher la fermeture de la fenêtre de Konqueror ? En passant par devilspie je devrais pouvoir désactiver l'affichage de décoration de fenêtre, donc plus de croix ; mais il reste les combinaisons de touches type ctrl+q ou ctrl+w que quelqu'un trouvera bien un jour hmm

Des idées ?

Hors ligne

#2 Le 30/09/2010, à 21:10

valAa

Re : Empêcher la fermeture d'une fenêtre

Je vais peut-être répondre à côté vu que que tu parles de konqueror, mais opera (pas libre) dispose d'un mode kiosque.
Je suppose que la fenêtre ne peut pas être fermée (à vérifier).

Hors ligne

#3 Le 30/09/2010, à 21:14

Koshie-2.0

Re : Empêcher la fermeture d'une fenêtre

Et si tu changais les raccourcies clavier et que tu bloquais la configuration ?!

Dernière modification par Koshie-2.0 (Le 30/09/2010, à 21:14)

#4 Le 30/09/2010, à 23:41

Askelon

Re : Empêcher la fermeture d'une fenêtre

valAa a écrit :

Je vais peut-être répondre à côté vu que que tu parles de konqueror, mais opera (pas libre) dispose d'un mode kiosque.
Je suppose que la fenêtre ne peut pas être fermée (à vérifier).

Dans la mesure du possible j'aimerais m'en tenir à Konqueror, pour une bonne raison : le but de cette interface est de proposer un choix d'applications et de liens internet, ce que l'on peut faire très simplement avec Konqueror. Par exemple, un lien vers applications:/Internet/Firefox lancera Firefox en un clic smile Simplissime pour les débutants, une page internet, quelques grosses images, des liens, une petite animation et c'est dans la poche.

Chromium comprend permet une sorte de kioskmode en donnant une fenêtre sans toolbar, resterait à supprimer les décorations ; en plus il reconnait le protocole «applications», mais il lance konqueror avant de lancer Firefox par exemple, ce qui n'est pas super pratique. Opera par contre ne le reconnait pas, pas plus que Firefox...

Koshie-2.0 a écrit :

Et si tu changais les raccourcies clavier et que tu bloquais la configuration ?!

Oui c'est la première chose à laquelle j'ai pensé, mais dans la mesure du possible j'aimerai toucher uniquement à la fenêtre précise du navigateur, changer les raccourcis de tout l'environnement...

Edit: han, à moins que tu ne parles des raccourcis spécifiques à Konqueror ? Ça serait beaucoup plus pratique ça, je vais aller voir ça !

Dernière modification par Askelon (Le 30/09/2010, à 23:42)

Hors ligne

#5 Le 01/10/2010, à 00:41

abelthorne

Re : Empêcher la fermeture d'une fenêtre

Ou tu attends la sortie de ChromeOS... tongue

Une autre possibilité qui me vient à l'esprit mais je ne suis pas sûr qu'elle soit très pertinente : en partant du principe que tu ne peux pas empêcher les utilisateurs de fermer Konqueror avec un raccourci-clavier, tu peux éventuellement avoir un script en tâche de fond qui relance automatiquement Konqueror s'il ne tourne plus (en surveillant la liste des processus).
Mais je ne sais pas si c'est très judicieux d'avoir un script qui boucle en tâche de fond, y a des chances que ça bouffe des ressources...

Hors ligne

#6 Le 01/10/2010, à 00:45

Elzen

Re : Empêcher la fermeture d'une fenêtre

J'allais suggérer un truc de le même genre que celui d'albethorne, mais en plus simple :

#! /bin/sh

while true
 do
        konqueror file://lurl/de/ta/page
done

À moins que ça ne tourne en daemon quelque part (j'connais plus trop KDE, donc j'sais pas…), ce script lancera simplement un nouveau konqueror et restera bloqué en attendant la fin du processus, puis le relancera une nouvelle fois et restera encore bloqué, et ainsi de suite.

Dernière modification par ArkSeth (Le 01/10/2010, à 00:47)

Hors ligne

#7 Le 01/10/2010, à 00:47

abelthorne

Re : Empêcher la fermeture d'une fenêtre

Ça ne va pas relancer des instances de Konqueror indéfiniment (même s'il est déjà ouvert) et mettre le système en vrac en quelques secondes ?

Hors ligne

#8 Le 01/10/2010, à 00:49

Elzen

Re : Empêcher la fermeture d'une fenêtre

Édité entre temps wink

Ça ne fera ça que s'il y a un daemon qui tourne en tâche de fond et que la commande konqueror ne fait que le réveiller.

En gros, un test tout simple à faire : lance la commande konqueror (sans & derrière) en console, si tu récupères le prompt immédiatement, évite, si le terminal reste bloqué jusqu'à la fermeture de konqueror, mon script devrait convenir.


Edit : ceci dit, lancer des applis depuis un navigateur, ça reste moche, même si c'est konqueror tongue M'est avis qu'une fenêtre de lancement non-fermée, qui lance des commandes (pour les liens, il suffit de les passer en paramètre aux navigateurs) serait plus propre, mais c'est toi qui vois.

Dernière modification par ArkSeth (Le 01/10/2010, à 00:54)

Hors ligne

#9 Le 01/10/2010, à 02:18

AnsuzPeorth

Re : Empêcher la fermeture d'une fenêtre

Bjr,
Sinon j'ai fait un petit script qui pourrait convenir.
C'est du python et gtkmozembed pour l'affichage du html.
http://forum.ubuntu-fr.org/viewtopic.php?id=388885

Ce script affiche une page html en 'fond d'écran'.
On peux lancer des commandes ou ouvrir une page internet sur le bureau. L'exemple utilise les frames, une pour les commandes, l'autre pour l'affichage.
C'est du html pour l'affichage, donc tout est possible (presque !)

EDIT:
Sinon, il est assez facile de faire une application GTK/bash, en pleine écran, mais ca sera surement moins 'clinquant' qu'une page html.

Dernière modification par AnsuzPeorth (Le 01/10/2010, à 02:27)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#10 Le 01/10/2010, à 02:23

Askelon

Re : Empêcher la fermeture d'une fenêtre

J'ai viré les raccourcis claviers pour Konqueror, ça limite déjà un peu, il faudra que je regarde comment désactiver le Alt+F4 d'Openbox.

Ton script résoudrait le problème, ArkSeth... Sauf que justement on ne peut pas l'arrêter, sauf à l'avoir ouvert dans une console et le tuer. Du coup, ça risque d'être un peu galère pour les personnes qui devront allumer et surtout éteindre les machines... Aucun moyen d'arrêter le script ! Mais je vais réfléchir à ça. Il devrait être possible de lier une commande à une combinaison de touche pour tuer le script et fermer directement la session... La nuit porte conseil.

Sinon... Ouaip, c'est carrément crade de lancer une application via un navigateur, je suis d'accord tongue Mais c'est le meilleur compromis que j'ai trouvé, en fait. Je ne vois pas comment avoir en même temps, dans une même fenêtre, des lanceurs d'applications, des liens internet et pourquoi pas du texte, des images, un champ de recherche, etc, en passant par autre chose qu'une page web hmm J'ai une belle petite page html farcie de CSS3, je peux y ajouter tout ce que je veux, avec des petits animations, et les liens amènent vers un lanceur utilisant le protocole applications:/ de Konqueror.

Maintenant s'il y a un moyen de faire ça plus proprement et simplement, je suis preneur ! Mais là l'avantage, c'est que je n'ai qu'à copier une page html dans chaque machine, configurer les sessions utilisateur de chaque poste pour qu'elles lancent automatiquement Openbox avec Konqueror en plein écran impossible à fermer et qui charge la page. Le responsable de la salle allume les postes, tout se lance automatiquement et les machines sont prêtes à utiliser sans qu'il n'ait rien à faire.

Edit: AnsuzPeorth je vais regarder ça !

Edit2: très intéressant ce petit bout de code ! Remarque déjà, il dépend de python-gtkmozembed et non plus python-gnome2-extras wink Et malheureusement, il ne conviendra pas à ce que je veux faire... Utilisant le moteur Gecko je perds l'intérêt de CSS3, et en prime Firefox ne gère pas le protocole applications sad Dommage, c'était exactement ce que je voulais en fait...

Edit3: j'avais mal lu, effectivement le coup des lanceurs dans la frame menu peut être très intéressant ! Je regarderais ça en détail demain.

Dernière modification par Askelon (Le 01/10/2010, à 02:47)

Hors ligne

#11 Le 01/10/2010, à 09:34

Koshie-2.0

Re : Empêcher la fermeture d'une fenêtre

KDE ne va pas arrêter de dev Konqueror ? Il ne veulent pas le remplacer par Rekonq?

#12 Le 01/10/2010, à 12:09

Askelon

Re : Empêcher la fermeture d'une fenêtre

Je n'ai pas trouvé d'info précise sur un arrêt du support... Rekonq est conçu pour être un navigateur internet très léger, ce que n'est pas Konqueror qui fait à la fois navigateur web et gestionnaire de fichiers ; je ne sais pas trop si les dev oseront arrêter le développement, il me semble qu'il y a quand même beaucoup d'utilisateur derrière non ?

En tout cas si quelqu'un connait un moyen «propre» de faire ce que je veux, je suis preneur ! Avec file:// tous les navigateurs peuvent accéder au contenu du disque dur, mais aucun n'accepte de lancer un binaire sans demander une confirmation de sécurité (ce qui est tout-à-fait logique, mais pas pratique dans mon cas), donc à part applications:/ je ne vois pas comment faire...

Dernière modification par Askelon (Le 01/10/2010, à 12:10)

Hors ligne

#13 Le 01/10/2010, à 12:52

Koshie-2.0

Re : Empêcher la fermeture d'une fenêtre

Konqueror, sans que je l'ai utilisé plus de 10 secondes, semble très pratique à pouvoir afficher une page web, du PDF, du texte, ses fichiers, des vidéos, sftp… En fait il ne fait qu'un appel vers d'autre logiciel non ? KHTML, Dolphin, DragonPlayer et j'en passe.

#14 Le 01/10/2010, à 13:03

cbrunos

Re : Empêcher la fermeture d'une fenêtre

Askelon a écrit :

J'ai viré les raccourcis claviers pour Konqueror, ça limite déjà un peu, il faudra que je regarde comment désactiver le Alt+F4 d'Openbox.

Tu vas dans le rc.xml et tu vires l'entrée relative à alt-f4.

  <keybind key="A-F4">
    <action name="Close"/>
  </keybind>

Je recommande pcubuntoo!

Hors ligne

#15 Le 01/10/2010, à 14:29

Elzen

Re : Empêcher la fermeture d'une fenêtre

Askelon a écrit :

Ton script résoudrait le problème, ArkSeth... Sauf que justement on ne peut pas l'arrêter, sauf à l'avoir ouvert dans une console et le tuer. Du coup, ça risque d'être un peu galère pour les personnes qui devront allumer et surtout éteindre les machines... Aucun moyen d'arrêter le script ! Mais je vais réfléchir à ça. Il devrait être possible de lier une commande à une combinaison de touche pour tuer le script et fermer directement la session... La nuit porte conseil.

L'appui (non-prolongé) sur le bouton d'extinction de la machine envoie un signal qui déclenche l'arrêt système en tuant au passage tous les processus actifs, à moins qu'il ne soit bloqué par un truc genre le gnome-power-manager.
À partir du moment où le système commence à s'éteindre, c'est imparable, il ne va pas attendre que konqueror ait fini de se relancer.

Askelon a écrit :

Sinon... Ouaip, c'est carrément crade de lancer une application via un navigateur, je suis d'accord tongue Mais c'est le meilleur compromis que j'ai trouvé, en fait. Je ne vois pas comment avoir en même temps, dans une même fenêtre, des lanceurs d'applications, des liens internet et pourquoi pas du texte, des images, un champ de recherche, etc, en passant par autre chose qu'une page web hmm J'ai une belle petite page html farcie de CSS3, je peux y ajouter tout ce que je veux, avec des petits animations, et les liens amènent vers un lanceur utilisant le protocole applications:/ de Konqueror.

Il suffit d'un peu de prog simple, par exemple en PyGTK. À partir du moment où le logiciel peut lancer des commandes externes (pour ouvrir les applications), les liens hypertextes seront fonctionnels, puisque pour ouvrir un lien, il suffit de lancer le navigateur en lui passant le lien en paramètre.
S'tu veux, je peux te faire ça sur mesure, et/ou t'apprendre à le faire et à le maintenir, ce n'est pas compliqué du tout.

Hors ligne

#16 Le 01/10/2010, à 18:19

Askelon

Re : Empêcher la fermeture d'une fenêtre

@cbrunos: merci !

ArkSeth a écrit :

L'appui (non-prolongé) sur le bouton d'extinction de la machine envoie un signal qui déclenche l'arrêt système en tuant au passage tous les processus actifs, à moins qu'il ne soit bloqué par un truc genre le gnome-power-manager.
À partir du moment où le système commence à s'éteindre, c'est imparable, il ne va pas attendre que konqueror ait fini de se relancer.

Oui évidemment, mais bon si on peut éviter de devoir éteindre tous les pcs comme ça, ça serait plus pratique tongue

Arkseth a écrit :

Il suffit d'un peu de prog simple, par exemple en PyGTK. À partir du moment où le logiciel peut lancer des commandes externes (pour ouvrir les applications), les liens hypertextes seront fonctionnels, puisque pour ouvrir un lien, il suffit de lancer le navigateur en lui passant le lien en paramètre.
S'tu veux, je peux te faire ça sur mesure, et/ou t'apprendre à le faire et à le maintenir, ce n'est pas compliqué du tout.

J'ai déjà essayé ça avant de regarder du côté du HTML wink C'est en effet très simple à mettre en place, quelques lignes en python-gtk et c'est plié ; le «problème» est que c'est tout de suite moins clinquant, c'était justement tout l'intérêt du HTML/CSS : avoir un truc simple et esthétique (pour nous c'est tape-à-l'œil, mais pour les vieux qui vont l'utiliser, c'est moderne tongue) tout en restant relativement léger.

J'ai bien regardé du côté de python-wekbit, mais je galère comme c'est pas possible pour trouver de la doc complète... Je peux parfaitement créer une fenêtre Gtk en plein écran avec donc toutes les options que je veux, y ajouter des boutons, etc, et y afficher ma petite page html ; mais il faut que je trouve un moyen d'interpréter les clics sur les liens, et justement, je ne trouve pas de docs sur comment faire ça hmm

Hors ligne

#17 Le 01/10/2010, à 19:18

AnsuzPeorth

Re : Empêcher la fermeture d'une fenêtre

Ben mozembed ne fait pas ?
(d'ailleurs fonctionne plus chez moi, Hardy inside)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#18 Le 01/10/2010, à 20:54

Elzen

Re : Empêcher la fermeture d'une fenêtre

Askelon a écrit :

J'ai bien regardé du côté de python-wekbit, mais je galère comme c'est pas possible pour trouver de la doc complète... Je peux parfaitement créer une fenêtre Gtk en plein écran avec donc toutes les options que je veux, y ajouter des boutons, etc, et y afficher ma petite page html ; mais il faut que je trouve un moyen d'interpréter les clics sur les liens, et justement, je ne trouve pas de docs sur comment faire ça hmm

Mettre les labels dans un EventBox wink
Tu peux aussi t'en servir pour écouter la souris pour changer la couleur, comme pour un lien hypertexte.

Sinon, tu peux aussi regarder gtk-mozembed, c'est peut-être plus simple à utiliser que Webkit.

Hors ligne

#19 Le 02/10/2010, à 13:31

Askelon

Re : Empêcher la fermeture d'une fenêtre

J'ai regardé rapidement la doc de gtkmozembed, mais je ne vois pas trop comment «détourner» les clics sur un lien...

ArkSeth a écrit :

Mettre les labels dans un EventBox wink

... Plait-il ? Je peux attacher ça à mon widget WebKit ? (ça fait bien 2 ans que j'ai pas fait de Gtk, et j'ai jamais fait de python, c'est pas compliqué outre mesure mais je rame un peu quand même)

Je vais laisser de côté python-webkit pour l'instant et tenter un truc uniquement en python-gtk ou python-qt, mais si je peux arriver à faire marcher le truc webkit ça serait pratique aussi quoi...

Hors ligne

#20 Le 02/10/2010, à 14:50

AnsuzPeorth

Re : Empêcher la fermeture d'une fenêtre

J'ai regardé rapidement la doc de gtkmozembed, mais je ne vois pas trop comment «détourner» les clics sur un lien...

Tu as regardé le script que je t'ai proposé, il fait exactement ça ! Je pensais que tu avais laissé tomber car pas compatible css3 ?

Mais peut être je ne t'ai pas compris !

Récapitulons ....
Tu veux une application, en pleine écran, dans laquelle tu auras plusieurs images (si je m'en réfère à ton screen), chaque image est cliquable et lance une commande (firefox, gimp,etc,etc).
C'est bien ça ???

Si oui, c'est très simple, soit tu utilises mon script, le lien à renseigné pour chaque image et du type mailto:launch@cmd (ca peut aussi être un lien texte, voir encadrer dans le post) ou alors simplement en pygtk (mais pour avoir un effet type web, il faudra s'amuser avec les images, selon si elles ont le focus, cliquées ou autre, alors qu'avec mozembed, tu as qd même le javascript de dispo, faute de css3 ....).

L'exemple de mon script contient 2 frames. Une pour le menu (ou sont les commandes, c'est du html), et la 2 pour afficher une page web.
Donc depuis le menu, soit tu lances une commande système, ou tu affiches une page web dans la frame 2. Tous les liens interne de la frame2 (lien de page web), s'ouvriront dans cette frame.

Dans ton cas, il faudrait juste faire une seule page html en s'inspirant de la frame1 de mon exemple.

Dernière modification par AnsuzPeorth (Le 02/10/2010, à 14:54)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#21 Le 02/10/2010, à 15:44

Askelon

Re : Empêcher la fermeture d'une fenêtre

... I'm a boulet.

J'étais parti (comme d'habitude...) sur un truc ultra complexe pour détourner des clics là ou tu utilises une méthode toute simple tongue Le pire est que j'avais prévu de regarder en détail ton code, l'autre nuit... Zappé le matin, faut vraiment que je m'installe un bloc-note quelque part.

Je vais donc regarder ce que je peux faire avec ça, et surtout comment forcer mozembed à faire ce que je veux.

Merci beaucoup ! Tu m'as (presque) évité des heures à jouer avec Python et Gtk tongue (ceci dit c'est bien, Python-Gtk, je vais continuer à jouer avec je crois)

Dernière modification par Askelon (Le 02/10/2010, à 15:44)

Hors ligne

#22 Le 02/10/2010, à 16:19

AnsuzPeorth

Re : Empêcher la fermeture d'une fenêtre

ceci dit c'est bien, Python-Gtk, je vais continuer à jouer avec je crois

pyGtk c'est pas mal en effet, par contre pour monter un treeview .....Merci ! (ca doit être modifié dans GTK 3)

Tu peux regarder du coté de glade2script (voir ma signature), c'est une sorte de mini language à base de pygtk pour utilser le toolkitGtk via un script bash ou python.
Si tu n'as pas le courage de te taper toute la doc pygtk, glade2script simplifie bien la vie wink

PS: je suis en train de réecrire des fonctions qui ne me plaisait pas et refaire la doc, d'ici qqles jours glade2script sera plus propre et une doc plus clair (en html pour aller dans devhelp)!

Dernière modification par AnsuzPeorth (Le 02/10/2010, à 16:19)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#23 Le 02/10/2010, à 17:02

Askelon

Re : Empêcher la fermeture d'une fenêtre

Tant qu'à faire, j'vais me taper la doc wink

J'ai installé Glade pour voir, mais je préfère coder comme un bourrin à la main, j'ai toujours eu beaucoup de mal avec les wysiwyg et assimilés.

Hors ligne

#24 Le 03/10/2010, à 20:05

Askelon

Re : Empêcher la fermeture d'une fenêtre

Bon, et bien ça avance très bien cette affaire smile

J'ai réussi à faire ce que je voulais à la base, j'en suis au codage des fonctionnalités, pour le moment un panneau de configuration minimal pour éviter de devoir aller éditer à la main le fichier source, et peut-être à l'avenir une interface pour ajouter/supprimer des liens/raccourcis dans la page web... À voir avec les «clients» smile

Techniquement, je reprends l'idée de base de ton script en ce qui concerne le lancement d'applications, AnsuzPeorth. Je balancerai l'intégralité du code en GPL quand il sera fini smile

Hors ligne

#25 Le 13/01/2011, à 14:21

joulio1

Re : Empêcher la fermeture d'une fenêtre

bonjour tout le monde je suis débutant dans l'utilisation d'ubuntu et veux que quelqu'un m'aider d'afficher une page html ecrit en bash

Hors ligne