python script per cycle case (lower – mixed – upper)

Utile con autokey. Eccolo:

pre.CICodeFormatter{
font-family:arial;
font-size:12px;
border:1px dashed #CCCCCC;
width:99%;
height:auto;
overflow:auto;
background:#f0f0f0;
line-height:20px;
background-image:URL(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif);
padding:0px;
color:#000000;
text-align:left;
}
pre.CICodeFormatter code{
color:#000000;
word-wrap:normal;
}

 # Get the current selection.  
 sText=clipboard.get_selection()  
 lLength=len(sText)  
   
 try:  
   if not store.has_key("textCycle"):  
     store.set_value("state","title")  
   
 except:  
   pass  
   
 # get saved value of textCycle  
 state = store.get_value("textCycle")  
   
   
 # modify text and set next modfication style  
 if state == "title":  
   #sText=sText.capitalize()  
   sText=sText.title()  
   newstate = "lower"  
   
 elif state == "lower":  
   sText=sText.lower()  
   newstate = "upper"  
   
 elif state == "upper":  
   sText=sText.upper()  
   newstate = "title"  
   
 else:  
   newstate = "lower"  
   
 # save for next run of script  
 store.set_value("textCycle",newstate)    
   
 # Send the result.  
 keyboard.send_keys(sText)  
 keyboard.send_keys("<shift>+<left>"*lLength)  

LO: tradurre una parola e scrievere quella tradotta a fianco di querla originale

Si tratta di una macro per LibreOffice, con l’estensione Traduttore; ho copiato, da un sito per imparare inglese, un elenco di verbi inglesi, non tradotti; così ho cercato di velocizzare il prcesso di traduzione e aggiunta della parola tradotta a fianco di quella originale.

Riporto la soluzioone, dal sito AskLibreOffice:

Solved, with the help of macro’s author!

  • After inserting ~/.config/libreoffice/4/user/Scripts/python/TradutorLibreText.py
  • and after installing libreoffice-script-provider-python

This is my macro
sub translate_word
rem ———————————————————————-
rem define variables
dim document as object
dim dispatcher as object
rem ———————————————————————-
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)

rem ———————————————————————-
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = “Language”
args1(0).Value = “Current_Italian (Italy)”

dispatcher.executeDispatch(document, “.uno:LanguageStatus”, “”, 0, args1())

rem–nuovo inserim inizio
Dim oScriptProvider, oScript
oScriptProvider = ThisComponent.getScriptProvider()
oScript = oScriptProvider.getScript(“vnd.sun.star.script:TradutorLibreText.py$TradutorLibreText?language=Python&location=user”)
oScript.invoke(array(), array(), array())
rem–nuovo inserim fine
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordLeftSel”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Copy”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Undo”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Undo”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToEndOfLine”, “”, 0, Array())

rem ———————————————————————-
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = “Text”
args7(0).Value = ” ”

dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args7())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Paste”, “”, 0, Array())

rem ———————————————————————-
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = “Text”
args9(0).Value = “)”

dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args9())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToPrevWord”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToPrevWord”, “”, 0, Array())

rem ———————————————————————-
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = “Text”
args12(0).Value = “(”

dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args12())

rem ———————————————————————-
dim args13(1) as new com.sun.star.beans.PropertyValue
args13(0).Name = “Count”
args13(0).Value = 1
args13(1).Name = “Select”
args13(1).Value = false

dispatcher.executeDispatch(document, “.uno:GoLeft”, “”, 0, args13())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordRightSel”, “”, 0, Array())

rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordRightSel”, “”, 0, Array())

rem ———————————————————————-
dim args16(1) as new com.sun.star.beans.PropertyValue
args16(0).Name = “Count”
args16(0).Value = 1
args16(1).Name = “Select”
args16(1).Value = true

dispatcher.executeDispatch(document, “.uno:GoRight”, “”, 0, args16())

rem ———————————————————————-
dim args17(0) as new com.sun.star.beans.PropertyValue
args17(0).Name = “Color”
args17(0).Value = 8421504

dispatcher.executeDispatch(document, “.uno:Color”, “”, 0, args17())

rem ———————————————————————-
dim args18(2) as new com.sun.star.beans.PropertyValue
args18(0).Name = “FontHeight.Height”
args18(0).Value = 8
args18(1).Name = “FontHeight.Prop”
args18(1).Value = 100
args18(2).Name = “FontHeight.Diff”
args18(2).Value = 0

dispatcher.executeDispatch(document, “.uno:FontHeight”, “”, 0, args18())

end sub

rippare sottotitoli da video online

Anche con Firefox si può:

  • attivare inspect element (ad esempio ctrl+shift +I)
  • scegliere network 
  • dare eventualmente F5 
  • cercare la riga con estensione vtt
  • tasto destro del mouse: apri in una nuova scheda
  • salvate il testo che vi apparirà (con un po’ di pazienza) come .srt
  • aggiungetelo al video con il programma apposito

Cfr. https://www.youtube.com/watch?v=rzkqJLEIPOQ

Krusader: per sincronizzare

all’inizio

si può aprire da terminale Krusader scegliendo quale pannello debba stare a sinistra e quale a destra, ad esempio
“krusader –left /path –right /media/path”

escludere certi (tipi di) files dalla sincrinizzazione

In file filter anteporre | al tipo di file. Ad esempio “| *.ini” per escludere dalla sincro i files con estensione ini.

android iphone-like

Se uno vuole rendere il proprio smartphone android il più possibile simile a un iphone può provare a) a ragguppare le apps in modo personalizzato e b) ad avere notifiche a schermo non attivo.

launcher iphone-like

La prima cosa si può fare con X Launcher: che permette di creare dei folder a vostra scelta, dentro cui potere mettere le apps che volete, così da avere uno smartphone perfettamente ordinato.

notifiche iphone-like

 
La seconda cosa è più ardua: ho tentato con Dynamic notifications, con Floatify e con Lockscreen notifications, ma non ho trovato quello che cercavo; queste apps creano una nuova schermata di blocco che si accende quando arriva una notifica, non mostrano le notifiche a schemo (parzialmente) spento.
A questo punto tanto vale usare Glimpse notifications che ha meno pretese, è più leggero e aggiornato, e usa la normale schermata di blocco dello smartphone, accendendola quando arrivano delle notifiche.
In conclusione: pare che su android non sia possibile avere la funzionalità dell’iphone, di avere notifiche a schermo (parzialmente) spento, ma all’arrivo delle notifiche lo schermo si accende (totalmente).

p, li { white-space: pre-wrap; }

usare un range extender tp-link per ampiare la rete wifi

Anzitutto è opportuno fare un reset del dispositivo: con qualcosa di appuntito, come uno spillo, premere nell’apposito buco a dispositivo acceso.

Poi lo si può collegare via cavo ethernet a un computer e usarlo come connessione internet digitando poi nel browser qualcosa come:
http://192.168.0.254/ (è importante che non ci sia la ‘s’: http e non https).
Si aprirà una finestra dove inserire le credenziali (admin/admin, o admin23 o altro a vostra scelta), e poi potrete settare a quale “fonte” wifi l’extender deve collegarsi; vi sarà chiesto ovviamente di digitare la password del wifi “originante”. Due minuti di attesa e la connessione è fatta.
Almeno a me ha funzionato.

exclude a program from autokey

Per settare più programmi con autokey, in window filter
(progr1)|(progr2).

per escludere un programma da un item di autokey 

Si può usare questa regex: ^((?!.*Firefox).)*$
In questo caso escludiamo Firefox: non occorre mettere tutto il nome della window, ma solo la parte finale (senza spazi o punti). In effetti la finestra di Firefox sarebbe “Navigator.Firefox”, ma così non funzionerebbe.

un bug 

L’esclusione suddetta non funziona per il terminale (konsole). Speriamo che risolvano. Per aggirare questo ostacolo si possono indicare (positivamente) tutti gli altri programmi in cui si usa quella abbreviazione.

css: applicare o rimuovere una classe all’elemento “parent”

Si può ricorrere a jquery.
Mettiamo che io voglia applicare la class “noquote” (che toglie le virgolette all’inizio del paragrafo) a un p al cui interno si trova uno span. La sintassi è questa:
    $( “p:has(> span)” ).addClass( “noquote” );
Se invece io voglio che p abbia le virgolette all’inizio se lo span ha una certa classe (mettiamo “evid”), la sintassi è la seguente:
    $(“.evid”).parent().removeClass(“noquote”);