2017-09-24

modificare una appimage

Per modificare una appimage (ad esempio per modificare l'immagine di splash) si può:
  1. estrarre l'appimage (che è in realtà un file zippato) in una cartella, ad esempio dando questo comando (da terminale, aperto nella cartella dove c'è il file da estrarre): "./digikam-5.9.0-01-x86-64.appimage --appimage-extract"
  2. modificare il file che si vuole (nell'esempio lo slash-screen di digikam)
  3. ricompattare ola cartella estratta con AppImnageKit https://github.com/AppImage/AppImageKit, un ottimo programma, esso stesso appimage, ad esempio con questo codice "./appimagetool-x86_64.AppImage squashfs-root digikam.5.9.appimage" dove "squashfs-root" è la cartella dove è stata decompattata l'appimage e "digikam.5.9.appimage" è il nome della appimage di destinazione.
     

2017-09-14

LibreWriter macro per aprire un documento nel punto in cui lo si è chiuso

Si possono creare due macro:
Con la prima (qui) creiamo un segnalibro nel punto in cui siamo arrivati, il segnalibro "qui", e questa macro la assegnamo automaticamente al salvataggio di un documento.
Con la seconda (vai_qui) andiamo esattamente al punto in cui avevamo chiuso il documento, e questa macro la assegniamo alla apertura di un documento. Abbiamo dovuto duplicare le istruzioni, altrimenti, nei documenti lunghi il cursore andava sì nel pyunto dove c'è il segnalibro, ma il focus restava su un'altra porzione del documento. Invece così va tutto a posto.

1a macro

sub qui
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 = "Bookmark"
args1(0).Value = "qui"

dispatcher.executeDispatch(document, ".uno:DeleteBookmark", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Bookmark"
args2(0).Value = "qui"

dispatcher.executeDispatch(document, ".uno:InsertBookmark", "", 0, args2())

end sub

2a macro

sub vai_qui

If NOT ThisComponent.supportsService("com.sun.star.text.TextDocument" ) Then
   Exit Sub  
End If

oBookmarks = ThisComponent.getBookmarks()
If NOT oBookmarks.hasByName("qui") Then
   Exit Sub  
End If

ViewCursor = ThisComponent.CurrentController.getviewCursor()
Bookmark = ThisComponent.Bookmarks.getByName("qui").Anchor
ViewCursor.gotorange(Bookmark, False)

ViewCursor = ThisComponent.CurrentController.getviewCursor()
Bookmark = ThisComponent.Bookmarks.getByName("qui").Anchor
ViewCursor.gotorange(Bookmark, False)

end sub

Blog Archive