[twmn] Un système de notification adapté au tiling.
Re: [twmn] Un système de notification adapté au tiling.
@shyne : C'est disponible, voir l'option --aot de twmnc, qui écrase l'option always_on_top du fichier de configuration. Deux valeurs possibles : true ou false. Quand true il passe au dessus des applications plein écran, quand false il passe au Z suivant. Mais comme j'ai dit, ça risque de dépendre du WM, en tout cas ça fonctionne sous WMFS.
Re: [twmn] Un système de notification adapté au tiling.
Oui impek, ça fonctionne aussi sous Openbox.
Merci encore.
Merci encore.
Re: [twmn] Un système de notification adapté au tiling.
Super système j'adopte .
Par contre je voit pas trop comment l'intégrer avec notify-send ... Actuellement j'utilise xfce4-notifyd ...
Merci.
Par contre je voit pas trop comment l'intégrer avec notify-send ... Actuellement j'utilise xfce4-notifyd ...
Merci.
Re: [twmn] Un système de notification adapté au tiling.
Remplace seulement le processus xfce4-notifyd par twmnd.
Re: [twmn] Un système de notification adapté au tiling.
Bonjour,
Merci pour ce projet fort sympathique !
Cela dit, j'ai testé sous awesome et wmfs, et je rencontre le même soucis de placement de la notification.
Voici un screenshot pour appuyer le problème.
Le soucis était quasi similaire sous awesome au niveau du placement de la notification.
Les autres placements disponible (top_left, bottom_left, bottom_right) sont tout aussi incohérent dans leur placement.
Je précise que je suis en Dual screen.
http://ompldr.org/vYTE1ZQ
Merci pour ce projet fort sympathique !
Cela dit, j'ai testé sous awesome et wmfs, et je rencontre le même soucis de placement de la notification.
Voici un screenshot pour appuyer le problème.
Le soucis était quasi similaire sous awesome au niveau du placement de la notification.
Les autres placements disponible (top_left, bottom_left, bottom_right) sont tout aussi incohérent dans leur placement.
Je précise que je suis en Dual screen.
http://ompldr.org/vYTE1ZQ
Re: [twmn] Un système de notification adapté au tiling.
Hum. Le dual screen est un soucis en effet. Je devine où afficher en fonction de la taille de l'écran courant, donc en dual screen on peut avoir des trucs bizarres.
Je vais rajouter une option permettant de donner une position absolue.
Je vais rajouter une option permettant de donner une position absolue.
Re: [twmn] Un système de notification adapté au tiling.
Une nouveauté attendue : Plusieurs notifications.
Étant donné que twmn a été concu pour afficher un slide unique, il n'est pas possible d'avoir plusieurs notifications visible en même temps, donc grâce à des raccourcis clavier/souris il est possible de se déplacer parmi les notifications en attente.
Si l'utilisateur ne touche à rien (pas de raccourci clavier), les notifications s'afficheront normalement, chacune pendant le temps qui lui est imparti. Comme actuellement, sauf que le slide n'ira pas se cacher pour réapparaitre, ce qui fait ~1.5 secondes de gagnées.
Les raccourcis sont paramétrables via /home/$USER/.config/twmn/twmn.conf, comme pratiquement toute l'application.
Voici ceux que j'ai défini par défaut :
- Notification suivante : Alt + J. Molette bas.
- Notification précédente : Alt + K. Molette haut.
- Activation de notification : Alt + Return. Clic gauche. Exécute la commande du paramètre --ac de twmnc, ou la valeur activate_command du fichier de configuration.
- Fermer la notification : Alt+x. Clic droit.
J'ai corrigé le soucis lié au dual screen en rajoutant une clé absolute_position au fichier de configuration. Précisez la position exacte du slide en plus de l'endroit où il est.
Avec l'arrivée de absolute_position de nouveaux usages peuvent être imaginés, donc j'ajouterai 3 nouveaux types de "position" :
- center. Une animation adaptée pour afficher la notification au milieu de l'écran.
- top_center. Adaptée pour afficher la notification en haut, au milieu de l'écran.
- bottom_center. Adaptée pour afficher la notification en bas, au milieu de l'écran.
C'est possible de le faire déjà mais avec les animations existantes c'est laid.
Étant donné que twmn a été concu pour afficher un slide unique, il n'est pas possible d'avoir plusieurs notifications visible en même temps, donc grâce à des raccourcis clavier/souris il est possible de se déplacer parmi les notifications en attente.
Si l'utilisateur ne touche à rien (pas de raccourci clavier), les notifications s'afficheront normalement, chacune pendant le temps qui lui est imparti. Comme actuellement, sauf que le slide n'ira pas se cacher pour réapparaitre, ce qui fait ~1.5 secondes de gagnées.
Les raccourcis sont paramétrables via /home/$USER/.config/twmn/twmn.conf, comme pratiquement toute l'application.
Voici ceux que j'ai défini par défaut :
- Notification suivante : Alt + J. Molette bas.
- Notification précédente : Alt + K. Molette haut.
- Activation de notification : Alt + Return. Clic gauche. Exécute la commande du paramètre --ac de twmnc, ou la valeur activate_command du fichier de configuration.
- Fermer la notification : Alt+x. Clic droit.
J'ai corrigé le soucis lié au dual screen en rajoutant une clé absolute_position au fichier de configuration. Précisez la position exacte du slide en plus de l'endroit où il est.
Avec l'arrivée de absolute_position de nouveaux usages peuvent être imaginés, donc j'ajouterai 3 nouveaux types de "position" :
- center. Une animation adaptée pour afficher la notification au milieu de l'écran.
- top_center. Adaptée pour afficher la notification en haut, au milieu de l'écran.
- bottom_center. Adaptée pour afficher la notification en bas, au milieu de l'écran.
C'est possible de le faire déjà mais avec les animations existantes c'est laid.
Re: [twmn] Un système de notification adapté au tiling.
Bonjour, bonjour,
Question bête... y'aurait-il un moyen que ce super programme twmn prennent en charge la notification d'insertion de clé usb?
En effet, lorsque j'insère une clé usb (avec thunar lancé) j'ai une notification qui apparaît sur mon écran et twmn ne réagit pas à l'insertion de ma clé.
Merci et encore bravo pour le boulot.
Question bête... y'aurait-il un moyen que ce super programme twmn prennent en charge la notification d'insertion de clé usb?
En effet, lorsque j'insère une clé usb (avec thunar lancé) j'ai une notification qui apparaît sur mon écran et twmn ne réagit pas à l'insertion de ma clé.
Merci et encore bravo pour le boulot.
[ Vaio S (VJS131X0211B) ]==[ Arch64 i3 Bépo ]==[ KISS spirit ]
Re: [twmn] Un système de notification adapté au tiling.
Thunar utilise libnotify pour envoyer un événement, avec un backend KDE c'est Solid, bref c'est le bordel.
Je ne l'intègre pas dans twmn parce que c'est trop spécifique, mais je te pond un petit script Python qui récupère ce qu'il faut et l'envoie à l'API de twmn.
Je ne l'intègre pas dans twmn parce que c'est trop spécifique, mais je te pond un petit script Python qui récupère ce qu'il faut et l'envoie à l'API de twmn.
Re: [twmn] Un système de notification adapté au tiling.
T'es trop fort, c'est sympa.
Et donc j'ai une nouvelle question simplette (j'en fait une spécialité ^^) : quelles types de notifications sont naturellement prises en charge par twmn ?
Merci
Et donc j'ai une nouvelle question simplette (j'en fait une spécialité ^^) : quelles types de notifications sont naturellement prises en charge par twmn ?
Merci
[ Vaio S (VJS131X0211B) ]==[ Arch64 i3 Bépo ]==[ KISS spirit ]
Re: [twmn] Un système de notification adapté au tiling.
Ce qui est pris en charge c'est ce qui vient de notify-send et twmnc.
Donc org.freedesktop.Notifications, le reste c'est du superflu, à mes yeux en tout cas. De toutes façons il est toujours possible de rediriger vers twmn comme j'ai fait ici.
Voilà :
Tu n'a qu'à lancer ce script et tu aura des notifications au branchement d'un volume. Il faut avoir hal et dbus lancé.
- Tu peux améliorer en ajoutant une icône : balise 'icon', personnellement comme c'est ça me suffit amplement.
- Une commande pour monter ton périphérique à l'activation de la notification entre la balise 'ac'. (typiquement 'udisks --mount /dev/sdx')
Donc org.freedesktop.Notifications, le reste c'est du superflu, à mes yeux en tout cas. De toutes façons il est toujours possible de rediriger vers twmn comme j'ai fait ici.
Voilà :
Code : Tout sélectionner
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import dbus
import gobject
import socket
title="Nouveau péripherique détecté"
twmnd_port=9797
twmnd_host='127.0.0.1'
class DeviceAddedListener:
def __init__(self):
self.bus = dbus.SystemBus()
self.hal_manager_obj = self.bus.get_object(
"org.freedesktop.Hal",
"/org/freedesktop/Hal/Manager")
self.hal_manager = dbus.Interface(self.hal_manager_obj,
"org.freedesktop.Hal.Manager")
self.hal_manager.connect_to_signal("DeviceAdded", self._filter)
def _filter(self, udi):
device_obj = self.bus.get_object ("org.freedesktop.Hal", udi)
device = dbus.Interface(device_obj, "org.freedesktop.Hal.Device")
if device.QueryCapability("volume"):
return self.do_something(device)
def do_something(self, volume):
device = volume.GetProperty("block.device")
label = volume.GetProperty("volume.label")
#fstype = volume.GetProperty("volume.fstype")
#mounted = volume.GetProperty("volume.is_mounted")
#mount_point = volume.GetProperty("volume.mount_point")
try:
size = volume.GetProperty("volume.size")
except:
size = 0
#print " device_file: %s" % device_file
#print " label: %s" % label
#print " fstype: %s" % fstype
size = float(size) / 1024**3
content = str(label) + '(' + device + ' - ' + ('%.2fGb' % size ) + ')'
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((twmnd_host, twmnd_port))
mount_dir = "/media/";
if len(label):
mount_dir = mount_dir + label
else:
mount_dir = mount_dir + device.split('/')[2]
s.send("<root><title>" + title + "</title><content>" + content + "</content>"
"<ac></ac></root>")
if __name__ == '__main__':
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
loop = gobject.MainLoop()
DeviceAddedListener()
loop.run()
- Tu peux améliorer en ajoutant une icône : balise 'icon', personnellement comme c'est ça me suffit amplement.
- Une commande pour monter ton périphérique à l'activation de la notification entre la balise 'ac'. (typiquement 'udisks --mount /dev/sdx')
Re: [twmn] Un système de notification adapté au tiling.
Merci !
Quelle réactivité !!!
Quelle réactivité !!!
[ Vaio S (VJS131X0211B) ]==[ Arch64 i3 Bépo ]==[ KISS spirit ]
Re: [twmn] Un système de notification adapté au tiling.
Ouep, belle réactivité. Après avoir un peu plus testé, je trouve vraiment sympa mais sur Awesome ça fait un peu double emploi avec naugthy.
Re: [twmn] Un système de notification adapté au tiling.
Utilisant awesome je suis d'accord mais ça reste très interessant pour d'autre wm et puis naughty ne gère pas non plus les notifications de montage de volumes alors que le script de Boli y parvient.
[ Vaio S (VJS131X0211B) ]==[ Arch64 i3 Bépo ]==[ KISS spirit ]
Re: [twmn] Un système de notification adapté au tiling.
bonjour bonjour,
boli je l'ai définitivement adopté. Je m'en sers avec weechat et http://mayrhofer.eu.org/dvcs-autosync et c'est excellent. Merci beaucoup.
boli je l'ai définitivement adopté. Je m'en sers avec weechat et http://mayrhofer.eu.org/dvcs-autosync et c'est excellent. Merci beaucoup.
oloꟼ aka ewloni
Re: [twmn] Un système de notification adapté au tiling.
Bonjour, ça fait plaisir.
Sinon des nouvelles du projet :
L'intégration d'un patch de kiooeht qui permet de gérer très simplement le dual-head, une amélioration de la documentation et un nouvel exemple toujours en Python grâce au travail de orftz. Et moi ben ... j'ai résolu quelques bugs par-ci par là et j'ai fait du refactoring. Le prochain morceau c'est une intégration de widgets dans les notifications mais je suis mitigé. J'ai pas envie de passer du temps à implémenter cette fonctionnalité complexe pour que ça déplaise ou que ce soit inutile parce qu'une notification c'est une notification hein, pas besoin d'un truc qui fait le café. En plus ça fait double usage avec la possibilité de lancer une commande à l'activation de la notification.
Je vous demande donc votre avis :
L'idée que j'ai en tête, c'est de donner la possiblité d'ajouter des widgets (slider, boutton, lineEdit) directement dans la notification, toujours en gardant ce principe de 'ligne unique'. Les usages qu'on peut y voir sont multiples, par exemple si je me restreint aux exemples fournis :
- MPD : Trois boutons. Précédent, Suivant, Toggle.
- Mail : Un bouton pour ouvrir la boite mail.
- Périphérique : Un bouton pour monter le périphérique, un autre pour se rendre dans le répertoire de montage par exemple.
- La possibilité d'exécuter carrément n'importe quelle action depuis une notification, un lineEdit pouvant être utilisé pour entrer une commande par exemple.
Sachant que les propriétés d'un widget sont scriptables au format XML(commande, image, icône, action à réaliser à l'activation ...), que les widgets communiquent entre eux et que le tout reste contrôlable au clavier.
Si vous pensez que ça vaut le coup d'implémenter ça faites le moi savoir s'il vous plaît, sinon je risque de ne pas me prendre la tête avec ça.
Sinon des nouvelles du projet :
L'intégration d'un patch de kiooeht qui permet de gérer très simplement le dual-head, une amélioration de la documentation et un nouvel exemple toujours en Python grâce au travail de orftz. Et moi ben ... j'ai résolu quelques bugs par-ci par là et j'ai fait du refactoring. Le prochain morceau c'est une intégration de widgets dans les notifications mais je suis mitigé. J'ai pas envie de passer du temps à implémenter cette fonctionnalité complexe pour que ça déplaise ou que ce soit inutile parce qu'une notification c'est une notification hein, pas besoin d'un truc qui fait le café. En plus ça fait double usage avec la possibilité de lancer une commande à l'activation de la notification.
Je vous demande donc votre avis :
L'idée que j'ai en tête, c'est de donner la possiblité d'ajouter des widgets (slider, boutton, lineEdit) directement dans la notification, toujours en gardant ce principe de 'ligne unique'. Les usages qu'on peut y voir sont multiples, par exemple si je me restreint aux exemples fournis :
- MPD : Trois boutons. Précédent, Suivant, Toggle.
- Mail : Un bouton pour ouvrir la boite mail.
- Périphérique : Un bouton pour monter le périphérique, un autre pour se rendre dans le répertoire de montage par exemple.
- La possibilité d'exécuter carrément n'importe quelle action depuis une notification, un lineEdit pouvant être utilisé pour entrer une commande par exemple.
Sachant que les propriétés d'un widget sont scriptables au format XML(commande, image, icône, action à réaliser à l'activation ...), que les widgets communiquent entre eux et que le tout reste contrôlable au clavier.
Si vous pensez que ça vaut le coup d'implémenter ça faites le moi savoir s'il vous plaît, sinon je risque de ne pas me prendre la tête avec ça.
Re: [twmn] Un système de notification adapté au tiling.
Personnellement l'idée me séduit... je pense que ça permettrait a twmn d'être complet sans pour autant faire doublon ou proposer des fonctionnalités inutiles.
[ Vaio S (VJS131X0211B) ]==[ Arch64 i3 Bépo ]==[ KISS spirit ]
Re: [twmn] Un système de notification adapté au tiling.
Pour moi, tu as bien résumé ici, en tiling, chacun a déjà ses raccourcis défini, et généralement pas trop fan des click-click sur des boutons (si j'ai bien compris ce que tu voulais faire). En tout cas, si tu l'implémentes, je serai d'avis qu'il ne soit pas activé par défaut.boli a écrit :ou que ce soit inutile parce qu'une notification c'est une notification hein, pas besoin d'un truc qui fait le café.
Félicitation pour cette belle initiative en tout cas.
~ Yet Another DevOps Blog ~
Re: [twmn] Un système de notification adapté au tiling.
Même avis que Nic0. Faut rester KISS quoi