Configurations logiciels
Divers astuces, personnalisation de logiciels, d'applis, etc.
- Thunderbird
- Personnalisation de l'interface utilisateur sur Thunderbird
- Afficher le quota de la boîte de messagerie IMAP dans Thunderbird
- Firefox
- Nextcloud
- VSCodium
- Yt-dlp tips
- VirtualBox
- Réduire la taille d'un disque VirtualBox
- Améliorer la résolution de l'affichage
- Créer une machine virtuelle en CLI
- Kdenlive
Thunderbird
Personnalisation de l'interface utilisateur sur Thunderbird
Source : How to customize Thunderbird Mail theme using userChrome.css - devnodes.in
Activer la personnalisation
Les préférences avancées se trouvent en bas de l'onglet Général
des Paramètres
en cliquant sur le bouton Éditeur de configuration…
.
Dans les préférences avancées, activer toolkit.legacyUserProfileCustomizations.stylesheets
à true
en double cliquant sur la valeur par défaut.
Déterminer le dossier de profil utilisateur
Créer le fichier de personnalisation
Ensuite, il faut créer le dossier chrome
dans le dossier de profil utilisé, puis le fichier userChrome.css
.
Utiliser les outils de développement
Pour activer les outils de développement :
-
☰
,Outils
,Outils de développement
; - Confirmer l'invite de sécurité concernant la connexion entrante ;
- Se rendre dans l'
Éditeur de style
; - Filtrer pour afficher la feuille de styles
userChrome.css
; - Applique le style ;
- Enregistrer !
Exemples
Modifier la couleur des messages non-lus
@media not (prefers-contrast) {
@media (prefers-color-scheme: dark) {
:root {
--thread-pane-unread-color: var(--color-teal-30) !important;
}
}
}
Modifier la couleur et le fond des messages non-lus puis inverser au survol
@media not (prefers-contrast) {
@media (prefers-color-scheme: dark) {
tr[is="thread-card"][data-properties~="unread"]:not(.selected, :hover) {
background-color: var(--color-orange-20) !important;
color: var(--color-blue-80) !important;
}
tr[is="thread-card"][data-properties~="unread"]:not(.selected):hover {
background-color: var(--color-blue-80) !important;
color: var(--color-orange-20) !important;
}
}
}
Astuces
Le chemin de l'iframe des messages est : html#messengerWindow body vbox#messengerBody hbox#tabmail-container tabmail#tabmail.printPreviewStack tabbox#tabmail-tabbox tabpanels#tabpanelcontainer.plain vbox#mail3PaneTab1.deck-selected stack browser#mail3PaneTabBrowser1
.
Le chemin de la vue des messages au sein de l'iframe est html body.layout-vertical div#threadPane tree-view#threadTree.tree-view-scrollable-container table.tree-table.some-selected tbody
Bonus
Mon userChrome.css
:
@media not (prefers-contrast) {
@media (prefers-color-scheme: dark) {
#threadTree [data-properties~="unread"]:not(.selected, :hover) {
background-color: var(--color-orange-30) !important;
color: var(--color-blue-80) !important;
box-shadow: var(--color-orange-10) 1px 10px 10px inset,
var(--color-orange-60) -1px -5px 10px -2px inset !important;
}
#threadTree [data-properties~="unread"]:not(.selected):hover {
background-color: var(--color-blue-80) !important;
color: var(--color-orange-20) !important;
box-shadow: var(--color-blue-50) 1px 10px 10px inset,
var(--color-ink-90) -1px -5px 10px -2px inset !important;
}
#threadTree
[data-properties~="unread"][data-properties~="flagged"]:not(
.selected,
:hover
) {
text-shadow: var(--color-teal-20) 0px 0px 2px !important;
}
#threadTree [data-properties~="read"][data-properties~="flagged"] {
box-shadow: var(--color-magenta-20) 1px 5px 10px -2px inset,
var(--color-magenta-90) -1px -5px 10px inset !important;
}
#threadTree
[data-properties~="new"]:not(.selected)
.thread-card-container
:is(.subject, .date) {
color: var(--color-magenta-90) !important;
text-shadow: var(--color-teal-20) 0px 0px 2px !important;
}
#threadTree
[data-properties~="new"]:not(.selected)
.thread-card-container:hover
:is(.subject, .date) {
color: var(--color-orange-30) !important;
text-shadow: var(--color-magenta-90) 0px 0px 4px !important;
}
#threadTree .thread-card-container {
padding: 0px 12px !important;
}
#threadTree td:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
position: relative;
top: 2px;
}
#threadTree td:nth-child(1) > div:nth-child(1) > div:nth-child(2) {
position: relative;
bottom: 2px;
}
}
}
Afficher le quota de la boîte de messagerie IMAP dans Thunderbird
Options avancées
- Cliquer sur le bouton du menu
depuis l'onglet principal ;
- Entrer
éditeur de configuration
dans le champ de recherche ou aller le chercher tout en bas du la page « Général » ; - Cliquer sur le bouton « Éditeur de configuration ».
Modifier l'option de quota
Par défaut, le quota ne s'affiche que lorsque la messagerie atteint 70 %, le but est donc de le réduire à 0 %.
- Entrer
mail.quota
dans le champ de recherche ; - Double-cliquer sur la clés
mail.quota.mainwindow_threshold.show
afin de changer la valeur par0
(zéro) ; - Fermer l'onglet, et relancer Thunderbird.
Résultat
La barre de quota est affichée dans la barre d'information située dans la partie basse de la fenêtre de Thunderbird.
Le fait de cliquer sur cette barre donne les informations en valeurs relatives.
Firefox
Importer des mots de passe depuis un .csv
Accéder aux configurations avancées
Taper about:config
et accepter les risques.
Autoriser l'importation de fichier
Mettre le paramètre signon.management.page.fileImport.enabled
à true
.
Activer eval
Mettre le paramètre security.allow_eval_in_parent_process
à true
.
Importer le fichier
Se rendre dans les paramètres de Firefox (menu hamburger), Mots de passe
, cliquer sur …
en haut à droite puis choisir d'importer un fichier.
Nextcloud
Use Appointments app integration 🇬🇧
SergeyMosin / Appointments is an app for Nextcloud to manage appointments.
Variables
-
<PROVIDED_EMBEDDABLE_URL>
is the provided embeddable url from Appointment app in Nextcloud. -
<PATH_TO_NEXTCLOUD_DIRECTORY>
is the path to Nextcloud on the server, something like/var/www/html/nextcloud
-
<Nextcloud_username>
is the username of the user who create the appointment (it must be lowercase). -
<MY_DESTINATION_DOMMAIN.COM>
the domain URL of the destination page. -
<PAGE_PATH>
is the path to the page which contains the iframe, if it’s the main page remove it.
In the destination page source code
Insert the iframe tag in the destination page.
<iframe id="myAppointmentFrame" title="Appointment form" frameborder="0" style="height: 100rem; width: 100%;" src=
"<PROVIDED_EMBEDDABLE_URL>" name="myAppointmentFrame"></iframe>
If id
is changed, it must be changed in the script.
On the server
Set allowed Frame Ancestor Domain.
sudo -u www-data php /<PATH_TO_NEXTCLOUD_DIRECTORY>/occ config:app:set appointments "emb_afad_<Nextcloud_username>" --value "https://<MY_DESTINATION_DOMMAIN.COM>"
Set base URL for the destination page URL.
sudo -u www-data php /<PATH_TO_NEXTCLOUD_DIRECTORY>/occ config:app:set appointments "emb_cncf_<Nextcloud_username>" --value "https://<MY_DESTINATION_DOMMAIN.COM>/<PAGE_PATH>/?apphash="
If apphash
is renamed, it must be changed in the script.
In the destination page source code
Insert the script tag in head tag of the destination page source code.
<script type="text/javascript" async="async">
var urlRDV = window.location.href.includes('<PAGE_PATH>');
if (urlRDV) {
window.addEventListener('DOMContentLoaded', function() {
var src = "<PROVIDED_EMBEDDABLE_URL>";
var appointmentParam = "apphash"
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
};
var params = getUrlVars();
var apphash = params[appointmentParam];
var paramsConcat = Object.entries(params).reduce(function (prev, curr) {
if (curr[0] === appointmentParam) {
return prev;
}
prev = prev.concat("&",curr[0].toString(),"=",curr[1].toString());
return prev;
}, "");
if (apphash) {
src = src.slice(0, -4).concat('cncf?d=').concat(apphash,paramsConcat);
}
var myIframe = document.getElementById('myAppointmentFrame');
myIframe.src=src;
})();
}
</script>
VSCodium
Utiliser le MarketPlace de Microsoft
Modifier le fichier product.json
pour mentionner les informations suivantes :
(Dans Windows 10 à l'adresse C:\Program Files\VSCodium\resources\app\product.json
)
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"itemUrl": "https://marketplace.visualstudio.com/items",
"controlUrl": "",
"recommendationsUrl": ""
}
Puis redémarrer VSCodium.
À priori, certaines extensions propriétaires vérifient que c’est Vscode qui est installé sur la machine et non Vscodium. Si tel est le cas , elles ne fonctionnent pas. Pour régler ce souci, éditer le fichier
product.json
en mettant la valeur denameLong
àVisual Studio Code
.Source : Vscodium mais où sont passées les extensions - tutox.fr
Yt-dlp tips
Présentation
À compléter éventuellement.
Dépôt logiciel : yt-dlpyt-dlp A youtube-dl fork with additional features and fixes.
Mise à jour
yt-dlp -U
Téléchargement
Télécharger une vidéo en .mp3
yt-dlp -f 'ba' -x --audio-format mp3 <url> -o '%(title)s.%(ext)s'
Télécharger une playist de vidéo en .mp3
C'est la même commande, dans le cas d'une playlist Youtube il faut que la liste soit partagée. C'est-à-dire non "pirvée".
yt-dlp -f 'ba' -x --audio-format mp3 <url> -o '%(title)s.%(ext)s'
Sous-titres
Télécharger la vidéo avec tous les sous-titres
yt-dlp --write-subs --sub-langs all --convert-subs=srt -f "137+140" https://www.youtube.com/watch?v=<ID>
Télécharger uniquement les sous-titres automatiques
yt-dlp --write-auto-subs --sub-langs ".*en" --convert-subs=srt --skip-download https://www.youtube.com/watch?v=<ID>
La différence est dans l'option --write-auto-subs
.
Ensuite…
Remplacer les _ par des espaces.
rename -v 's/_/ /g' *.mp3
Sources
- Downloading YouTube videos and playlists with yt-dlp
- yt-dlpyt-dlp A youtube-dl fork with additional features and fixes
- How to download only subtitles of videos using youtube-dl - Super User
VirtualBox
Réduire la taille d'un disque VirtualBox
Source : clone - How to decrease virtual sizecapacity of a Virtualbox vdi file - Server Fault
Réduire la taille du disque…
Lancer la machine virtuelle depuis un image Live ISO d'un disque comme GParted-Live par exemple. Le but est simplement d'avoir gparted.
Dés-allouer l'espace non nécessaire en fin de disque.
Créer un nouveau disque virtuel
Créer un nouveau disque virtuel depuis le menu de VirtualBox en prennant soin de l'emplacement.
Copier les données
vboxmanage clonemedium disk "source-disk.vmdk" "new-disk.vmdk" --existing
Ajuster la taille
Après avoir changé le disque et démarré sur le nouveau, il est préférable de réajuster la taille. Par exemple en montant à nouveau une autre image Live.
Améliorer la résolution de l'affichage
Source : Installer Rocky Linux 8 dans VirtualBox – Le blog technique de Microlinux
- Sélectionnez l’entrée de menu Install Rocky Linux 8.
- Appuyez sur la touche Tab pour afficher les options de démarrage.
- Gardez à l’esprit que l’écran de démarrage de l’installateur utilise un clavier américain
QWERTY
. - Ajoutez les options
nomodeset vga=791
juste après l’optionquiet
. - Confirmez avec la touche Entrée.
Créer une machine virtuelle en CLI
Windows
VBoxManage createvm --name "<name>" --ostype "<os_type>" --register --basefolder "<path_to_directory>" ; `
VBoxManage modifyvm "<name>" --memory 4096 --vram 128 --cpus 4 --rtcuseutc on ; `
VBoxManage modifyvm "<name>" --ioapic on ; `
VBoxManage modifyvm "<name>" --nic1 nat ; `
VBoxManage createhd --filename "<path_to_directory>\<VDI_name>.vdi" --size 30000 --format VDI ; `
VBoxManage storagectl "<name>" --name "SATA Controller" --add sata --controller IntelAhci ; `
VBoxManage storageattach "<name>" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "<path_to_directory>/<VDI_name>.vdi" ; `
VBoxManage storagectl "<name>" --name "IDE Controller" --add ide --controller PIIX4 ; `
VBoxManage storageattach "<name>" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "<path_to_ISO>" ; `
VBoxManage modifyvm "<name>" --boot1 dvd --boot2 disk --boot3 none --boot4 none ; `
#VBoxManage unattended install "<name>" --iso "<path_to_ISO>" --user=<username> --full-user-name="<full_name>" --password "<password>" --install-additions --time-zone=CEST
Unix-like
VBoxManage createvm --name "<name>" --ostype "Mageia_64" --register --basefolder "<path_to_directory>" \
VBoxManage modifyvm "<name>" --memory 4096 --vram 128 --cpus 4 --rtcuseutc on \
VBoxManage modifyvm "<name>" --ioapic on \
VBoxManage modifyvm "<name>" --nic1 nat \
VBoxManage createhd --filename "<path_to_directory>/<VDI_name>.vdi" --size 30000 --format VDI \
VBoxManage storagectl "<name>" --name "SATA Controller" --add sata --controller IntelAhci \
VBoxManage storageattach "<name>" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "<path_to_directory>/<VDI_name>.vdi" \
VBoxManage storagectl "<name>" --name "IDE Controller" --add ide --controller PIIX4 \
VBoxManage storageattach "<name>" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "<path_to_ISO>" \
VBoxManage modifyvm "<name>" --boot1 dvd --boot2 disk --boot3 none --boot4 none \
#VBoxManage unattended install "<name>" --iso "<path_to_ISO>" --user=<username> --full-user-name="<full_name>" --password "<password>" --install-additions --time-zone=CEST
Explications…
La liste des types d'OS s'obtient avec la commande suivante, sur laquelle on peut appliquer un grep
:
VBoxManage list ostypes
La dernière commande est commentée, elle n'est pas compatible avec tous les OS.
Kdenlive
Ajouter des zones flouettées sur une vidéo
Source : Blur A Region or Face using Kdenlive! - YouTube.
Délimiter la zone
Comme à chaque fois que l'on utilise un outil de ce genre, si on ne voit pas les points de sélection sur l'aperçu, c'est que l'on doit activer l'icône en forme de rognage dans le moniteur de projet.
Un élément simple
Utliser l'effets Formes du canal alpha (Masque).
On peut personnaliser les options et dans l'hypothèse où n'utilise pas de les trames, on peut les désactiver (icône en forme de chronomètre).
L'option largeur de transition permet d'adoucir la zone de sélection en périphérie.
Élément plus complexe
Pour délimiter une zone à forme plus complexe, on peut utiliser l'outils Roboscopie (Masque).
Il s'agit de délimiter des points comme avec un outils de dessin vectoriel.
Effet de flou
On peut appliquer l'effet Gaussian Blur.
Appliquer l'effet
Utliser l'effet Mask Apply.