Salut la ML,
Puisque vous êtes nombreux à avoir formulé cette demande, vous voici en
PJ, un module 6pad++.py sur mesure qui répond à la demande de JF.
1. Le module ajoute un item de menu "Touche origine intelligente" dans
le menu format de 6pad++.
Cet item est coché par défaut.
Il permet de faire en sorte que la touche Origine positionne sur le
premier caractère de la ligne qui n'est pas une espace ou tabulation
s'il est coché, et le contraire s'il ne l'est pas.
2. À l'opposé, le raccourci-clavier Alt Origine, provoquera l'action
contraire selon que la touche Origine intelligente soit activée ou pas.
La présence de l'item de menu n'est pas indispensable, mais pourrait
toujours être utile si on préfère gérer tout cela rien qu'avec la touche
origine.
Voila, dites moi ce que vous en pensez.
Bien amicalement,,
Abdel.
Le 29/01/2017 à 21:54, Mathieu Barbe a écrit :
Bonne idée, je vote pour.
Sous Gedit, linux, un appui amène au premier caractère et un second
appui au début de la ligne.
Mais pour nous, sans voir, ce n'est pas du tout pratique.
++ Mathieu
Le 27/01/2017 à 21:39, Jean-François Colas a écrit :
Hello la ML,
Je me demandais un truc: est-ce qu'il ne serait pas judicieux de
considérer que Alt+Home ait un comportement alternatif à Home dans
tous les cas? Je veux dire, si SmartHome est à On, Home place donc le
curseur sur le premier caractère non blanc et Alt-Home,
alternativement, place sur le vrai début de la ligne. Mais si
SmartHome était à Off, pourrait-on imaginer que, de même que Home
place sur le vrai début de ligne, Alt-Home placerait sur le premier
caractère non blanc?
Je m'aperçois que j'ai très souvent besoin de me placer en début de
ligne. Plus souvent que sur le premier non blanc. Donc j'envisage de
désactiver SmartHome; mais je sais qu'en faisant ça, je perds une
commande puisque je ne vois pas trop alors comment je pourrais me
placer en une manip, aujourd'hui, sur le premier caractère non blanc...
Merci,
J.-F.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
import sixpad as sp
# Action de la case à cocher "Touche origine intelligente" dans le menu format
def onHomeKey():
formatMenu.originalHomeKey.checked = not
formatMenu.originalHomeKey.checked
# Ajout de la case à cocher "Touche origine intelligente" dans le menu format
formatMenu = sp.window.menus[-3]
formatMenu.add(label="Touche &origine intelligente", action = onHomeKey, name =
"originalHomeKey")
# On la coche par défaut
formatMenu.originalHomeKey.checked = True
def onKeyDown(activePage, vk):
# On vérifie si la touche origine a bien été pressée
if vk == 36:
# On vérifie si la case touche origine intelligente est cochée
if formatMenu.originalHomeKey.checked:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
else:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
return False
# On vérifie si le raccourci-clavier Alt + origine a bien été pressée
if vk == 2084:
# On vérifie si la case touche origine intelligente est bien
cochée
if formatMenu.originalHomeKey.checked:
# On se positionne au début de la ligne sur n'importe
quel caractère
activePage.position =
activePage.lineStartOffset(activePage.curLine)
char = "tab" if activePage.text[activePage.position] ==
"\t" else "espace"
sp.say(char, True)
else:
# On se positionne sur le premier caractère qui n'est
pas une espace ou une tabulation
activePage.position =
activePage.lineSafeStartOffset(activePage.curLine)
sp.say(activePage.text[activePage.position], True)
return False
return True
def pageOpened(openedPage):
openedPage.addEvent("keyDown", onKeyDown)
sp.window.addEvent("pageOpened", pageOpened)
sp.window.curPage.addEvent("keyDown", onKeyDown)