mirror of
https://forge.chapril.org/tykayn/workflow
synced 2025-10-04 17:04:55 +02:00
add config assets, backup round
This commit is contained in:
parent
cb1e4934b5
commit
728457f71c
26 changed files with 2011 additions and 126 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -2,4 +2,6 @@
|
||||||
.vscode
|
.vscode
|
||||||
|
|
||||||
bin/Nextcloud*
|
bin/Nextcloud*
|
||||||
bin/Veracrypt*
|
bin/Veracrypt*
|
||||||
|
/bin/VeraCrypt-1.26.24-x86_64.AppImage
|
||||||
|
/bin/Nextcloud-3.16.6-x86_64.AppImage
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
import osmnx as ox
|
|
||||||
import pandas as pd
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
import networkx as nx
|
|
||||||
|
|
||||||
# 1. Télécharger les routes principales de l'Essonne
|
|
||||||
# On cible les types de routes principales
|
|
||||||
highway_types = ["motorway", "trunk", "primary", "secondary"]
|
|
||||||
|
|
||||||
# Essonne (département 91, France)
|
|
||||||
place = "Essonne, France"
|
|
||||||
|
|
||||||
print("Téléchargement du graphe routier...")
|
|
||||||
G = ox.graph_from_place(place, network_type='drive', custom_filter='["highway"~"motorway|trunk|primary|secondary"]')
|
|
||||||
|
|
||||||
# 2. Extraire les limitations de vitesse et calculer la longueur
|
|
||||||
edges = ox.graph_to_gdfs(G, nodes=False, edges=True)
|
|
||||||
|
|
||||||
# On normalise les limitations de vitesse
|
|
||||||
|
|
||||||
def parse_maxspeed(val):
|
|
||||||
# Si c'est une liste ou un array, on prend le premier élément
|
|
||||||
if isinstance(val, (list, tuple)):
|
|
||||||
if len(val) == 0:
|
|
||||||
return None
|
|
||||||
val = val[0]
|
|
||||||
if pd.isna(val):
|
|
||||||
return None
|
|
||||||
try:
|
|
||||||
# On ne garde que le nombre
|
|
||||||
return int(str(val).split()[0])
|
|
||||||
except Exception:
|
|
||||||
return None
|
|
||||||
|
|
||||||
edges['maxspeed_norm'] = edges['maxspeed'].apply(parse_maxspeed)
|
|
||||||
|
|
||||||
# Calcul de la longueur en km
|
|
||||||
edges['length_km'] = edges['length'] / 1000
|
|
||||||
|
|
||||||
# 3. Statistiques
|
|
||||||
speed_stats = edges.groupby('maxspeed_norm')['length_km'].sum().reset_index()
|
|
||||||
speed_stats = speed_stats.rename(columns={'maxspeed_norm': 'limitation_vitesse', 'length_km': 'longueur_km'})
|
|
||||||
|
|
||||||
# Combien de km sans limitation ?
|
|
||||||
no_speed = edges[edges['maxspeed_norm'].isna()]['length_km'].sum()
|
|
||||||
|
|
||||||
# Remplacer les NaN par -1 pour les routes sans limitation spécifiée
|
|
||||||
speed_stats['limitation_vitesse'] = speed_stats['limitation_vitesse'].fillna(-1).astype(int)
|
|
||||||
|
|
||||||
# 4. Export CSV
|
|
||||||
speed_stats.to_csv('limitations_vitesse_essonne.csv', index=False)
|
|
||||||
|
|
||||||
# 5. Graphique SVG
|
|
||||||
fig, ax = plt.subplots(figsize=(12, 12))
|
|
||||||
# Routes avec limitation: gris, sans limitation: rouge
|
|
||||||
edges_with_speed = edges[edges['maxspeed_norm'].notna()]
|
|
||||||
edges_no_speed = edges[edges['maxspeed_norm'].isna()]
|
|
||||||
|
|
||||||
edges_with_speed.plot(ax=ax, linewidth=0.7, color='grey', alpha=0.5)
|
|
||||||
edges_no_speed.plot(ax=ax, linewidth=1.2, color='red', alpha=0.8)
|
|
||||||
|
|
||||||
ax.set_title("Routes principales de l'Essonne sans limitation de vitesse (en rouge)")
|
|
||||||
ax.axis('off')
|
|
||||||
plt.tight_layout()
|
|
||||||
plt.savefig('routes_sans_limitation_essonne.svg', format='svg')
|
|
||||||
|
|
||||||
# 5b. Histogramme des limitations de vitesse
|
|
||||||
plt.figure(figsize=(10,6))
|
|
||||||
plt.bar(speed_stats['limitation_vitesse'].astype(str), speed_stats['longueur_km'], color='skyblue', edgecolor='black')
|
|
||||||
plt.xlabel('Limitation de vitesse (km/h)')
|
|
||||||
plt.ylabel('Longueur totale (km)')
|
|
||||||
plt.title("Histogramme des limitations de vitesse sur les routes principales de l'Essonne")
|
|
||||||
plt.tight_layout()
|
|
||||||
plt.savefig('histogramme_limitations_vitesse_essonne.png')
|
|
||||||
print("Histogramme sauvegardé sous histogramme_limitations_vitesse_essonne.png")
|
|
||||||
|
|
||||||
# 6. Résumé console
|
|
||||||
print("\nRésumé:")
|
|
||||||
print(speed_stats)
|
|
||||||
print(f"\nLongueur totale sans limitation de vitesse: {no_speed:.2f} km")
|
|
||||||
print("CSV sauvegardé sous limitations_vitesse_essonne.csv")
|
|
||||||
print("SVG sauvegardé sous routes_sans_limitation_essonne.svg")
|
|
|
@ -6,9 +6,8 @@
|
||||||
# load variables
|
# load variables
|
||||||
# echo "bash custom aliases: load functions to sync files"
|
# echo "bash custom aliases: load functions to sync files"
|
||||||
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh"
|
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh"
|
||||||
|
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/initialization/functions.sh"
|
||||||
source "$HOME/Nextcloud/ressources/workflow_nextcloud/secrets_vars.sh"
|
source "$HOME/Nextcloud/ressources/workflow_nextcloud/secrets_vars.sh"
|
||||||
source "$WORKFLOW_PATH/install/functions_sync.sh"
|
|
||||||
source "$WORKFLOW_PATH/install/functions_tk.sh"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,6 +16,7 @@ alias work="cd $www_folder/scripts/mapping_geojson_to_osm_tags"
|
||||||
|
|
||||||
########## lieux ###########
|
########## lieux ###########
|
||||||
alias gow="cd $WORKFLOW_PATH" # go to folder of nextcloud where i store my scripts
|
alias gow="cd $WORKFLOW_PATH" # go to folder of nextcloud where i store my scripts
|
||||||
|
alias gopw="cd $WORKFLOW_PUBLIC_PATH" # go to folder of nextcloud where i store my scripts
|
||||||
|
|
||||||
###### lieux locaux
|
###### lieux locaux
|
||||||
alias goj="ssh -p 3910 tykayn@bbb.liness.org"
|
alias goj="ssh -p 3910 tykayn@bbb.liness.org"
|
||||||
|
@ -106,8 +106,6 @@ alias hgrep="history |grep"
|
||||||
alias whatport="sudo netstat -pna | grep "
|
alias whatport="sudo netstat -pna | grep "
|
||||||
alias runport="firefox https://localhost:$1"
|
alias runport="firefox https://localhost:$1"
|
||||||
alias dff='df -h --exclude-type=squashfs --exclude-type=devtmpfs --exclude-type=tmpfs' # voir l'espace libre sans les paritions snap
|
alias dff='df -h --exclude-type=squashfs --exclude-type=devtmpfs --exclude-type=tmpfs' # voir l'espace libre sans les paritions snap
|
||||||
alias pup='/home/tykayn/.local/pipx/venvs/panoramax-cli/bin/panoramax_cli upload --api-url https://panoramax.openstreetmap.fr .' #panoramax upload avec mon compte perso
|
|
||||||
alias pum='/home/tykayn/.local/pipx/venvs/panoramax-cli/bin/panoramax_cli upload --api-url https://panoramax.openstreetmap.fr . --token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnZW92aXNpbyIsInN1YiI6IjQ1NmJmMWQ1LTgxNzEtNDdlMy05MmQ1LWNkNTM1MjBiOWZkMyJ9.JqedjxqgwVY6bB9vKe4v5HiSvZAndiXICre_iI06Auc" --disable-duplicates-check --parallel-uploads 15' #panoramax upload motocultrice
|
|
||||||
|
|
||||||
export RUBY_ENV=devlopment
|
export RUBY_ENV=devlopment
|
||||||
|
|
||||||
|
@ -239,7 +237,7 @@ function gc() {
|
||||||
git push
|
git push
|
||||||
}
|
}
|
||||||
|
|
||||||
export PATH="~/.pyenv/bin/:~/.cargo/bin:/snap/bin:$WORKFLOW_PATH/bin:$PATH"
|
export PATH="~/.pyenv/bin/:~/.cargo/bin:/snap/bin:$WORKFLOW_PATH/bin:$WORKFLOW_PUBLIC_PATH/bin:$PATH"
|
||||||
#export PATH="$HOME/.rbenv/bin:$PATH"
|
#export PATH="$HOME/.rbenv/bin:$PATH"
|
||||||
export PATH="~/.npm-global/bin:$PATH"
|
export PATH="~/.npm-global/bin:$PATH"
|
||||||
export PATH="$PATH:$HOME/.npm-global/bin"
|
export PATH="$PATH:$HOME/.npm-global/bin"
|
||||||
|
@ -250,4 +248,8 @@ eval "$(zoxide init zsh)" # zoxyde, navigation de dossier avec fuzzy finder
|
||||||
|
|
||||||
|
|
||||||
export alias please='sudo !!'
|
export alias please='sudo !!'
|
||||||
export alias plz='please'
|
export alias plz='please'
|
||||||
|
|
||||||
|
# pour debug
|
||||||
|
# echo "custom aliases chargés depuis:"
|
||||||
|
# pwd
|
37
assets/.config/filetags/.filetags
Normal file
37
assets/.config/filetags/.filetags
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
amis
|
||||||
|
animaux
|
||||||
|
bâtiment
|
||||||
|
brouillon final
|
||||||
|
carte
|
||||||
|
chantier
|
||||||
|
chat
|
||||||
|
chien
|
||||||
|
claire
|
||||||
|
dodo
|
||||||
|
doudou
|
||||||
|
famille
|
||||||
|
festival
|
||||||
|
fête
|
||||||
|
gopro
|
||||||
|
gopro-back
|
||||||
|
gopro-front
|
||||||
|
graph
|
||||||
|
gull
|
||||||
|
has_no_tag
|
||||||
|
hélia
|
||||||
|
illustration
|
||||||
|
maison
|
||||||
|
manif
|
||||||
|
matériel
|
||||||
|
nourriture
|
||||||
|
papier
|
||||||
|
plan
|
||||||
|
portrait
|
||||||
|
public private
|
||||||
|
regulus
|
||||||
|
sélection
|
||||||
|
sexy
|
||||||
|
taiga
|
||||||
|
tykayn
|
||||||
|
voiture
|
||||||
|
voyage
|
330
assets/.config/geeqie/accels
Normal file
330
assets/.config/geeqie/accels
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
; geeqie GtkAccelMap rc-file -*- scheme -*-
|
||||||
|
; this file is an automated accelerator map dump
|
||||||
|
;
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark4Alt1" "KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RatingM1" "<Alt>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowSlower" "<Primary>minus")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActions/Thumbnails" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tethered-photography.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FirstPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom200" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tag-cosplay.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ClearMarks" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewIcons" "<Primary>i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Back" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CloseWindow" "<Primary>w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanCycle" "k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/eom.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanV" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark5Alt1" "KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rename" "<Primary>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageHistogram" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageOverlayCycle" "i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageOverlay" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AlterNone" "<Shift>o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomOutAlt1" "KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SBar" "<Primary>k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IgnoreAlpha" "<Shift>a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark0" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActions/Animate" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFillHor" "h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark9" "<Primary>9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark6Alt1" "KP_6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark0Alt1" "<Primary>KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpKbd" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/export-jpeg.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark8" "<Primary>8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanR" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark7" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/remove-tags.desktop" "r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Move" "<Primary>m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark7" "<Primary>7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFit" "x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/image-crop.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/gimp.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark7Alt1" "KP_7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tag-administratif.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark6" "<Primary>6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark1Alt1" "<Primary>KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/prepend-name.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CopyPath" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/EditMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark5" "<Primary>5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RectangularSelection" "<Alt>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewInNewWindow" "<Primary>v")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/symlink.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFit" "<Shift>x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark4" "<Primary>4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ExifRotate" "<Alt>x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomOutAlt1" "<Shift>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark8Alt1" "KP_8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Flip" "<Shift>f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Search" "F3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark2Alt1" "<Primary>KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitPreviousPane" "<Alt>Left")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark3" "<Primary>3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RatingMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFillHor" "<Shift>h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpContents" "F1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark2" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActions/Refresh" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteAlt1" "Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark2" "<Primary>2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteAlt2" "KP_Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImageAlt2" "KP_Next")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImageAlt1" "Page_Down")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DrawRectangle" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OpenArchive" "<Primary>o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark1" "<Primary>1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PermanentDelete" "<Shift>Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark9Alt1" "KP_9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark3Alt1" "<Primary>KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rotate180" "<Shift>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomInAlt1" "<Shift>KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/GoMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom33" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark0" "<Primary>0")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/guess-filename.desktop" "g")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideBars" "grave")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/PTBatcherGUI.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/m2a.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FileMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SaveMetadata" "<Primary>s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomIn" "equal")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShow" "s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Copy" "<Primary>c")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitQuad" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark4Alt1" "<Primary>KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Quit" "<Primary>q")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Maintenance" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OpenRecent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FirstImage" "Home")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/org.kde.gwenview.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Plugins" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanG" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImage" "BackSpace")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFillVert" "<Shift>w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImageAlt2" "KP_Page_Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoSBS" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreenAlt2" "F11")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom100Alt1" "KP_Divide")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitDownPane" "<Alt>Down")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitPaneSync" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImageAlt1" "Page_Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark5Alt1" "<Primary>KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImage" "space")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindowDefault" "<Primary>n")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom300" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OverUnderExposed" "<Shift>e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom50" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreenAlt1" "v")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OverlayMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FindDupes" "d")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideTools" "<Primary>h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFillVert" "w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoAuto" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PluginsMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoOff" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom25" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFitAlt1" "KP_Multiply")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectAll" "<Primary>a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark6Alt1" "<Primary>KP_6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowPause" "p")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom300" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanB" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ExifWin" "<Primary>e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom100" "z")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OpenCollection" "o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpSearch" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LogWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rangereal.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpShortcuts" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Print" "<Shift>p")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/KeywordAutocomplete" "<Alt>k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowFileFilter" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark7Alt1" "<Primary>KP_7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitHorizontal" "e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mirror" "<Shift>m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom100Alt1" "<Shift>KP_Divide")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LastImage" "End")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom100" "<Shift>z")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate-270.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreen" "f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Delete" "<Primary>d")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RenameWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/About" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark8Alt1" "<Primary>KP_8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitSingle" "y")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Up" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/append-name.desktop" "a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewFolder" "<Primary>f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewCollection" "c")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tag-nourriture.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFitAlt1" "<Shift>KP_Multiply")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Preferences" "<Primary>o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeLog" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpNotes" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark9" "9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoCross" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/EscapeAlt1" "q")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark9Alt1" "<Primary>KP_9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WriteRotationKeepDate" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark8" "8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WriteRotation" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/add-tags.desktop" "t")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tag-illu.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanRGB" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark7" "7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/camera-import.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WindowsMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectInvert" "<Primary><Shift>i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeCycle" "j")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark6" "6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitNextPane" "<Alt>Right")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitUpPane" "<Alt>Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SearchAndRunCommand" "slash")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark5" "5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideToolbar" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectNone" "<Primary><Shift>a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowFaster" "<Primary>equal")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Escape" "Escape")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Home" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark4" "4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomInAlt1" "KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeLin" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SBarSort" "<Shift>s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark0Alt1" "KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Forward" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RotateCW" "bracketright")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark3" "3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OrientationMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom33" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomOut" "minus")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark2" "2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark1" "1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FloatTools" "l")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark1Alt1" "KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomIn" "plus")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CopyPathUnquoted" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark0" "0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FileDirMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UseColorProfiles" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomOut" "underscore")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitVertical" "u")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/random-image.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindowFromCurrent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Grayscale" "<Shift>g")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LayoutConfig" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating5" "<Alt>KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark2Alt1" "KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate-90.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowMarks" "m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LastPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating4" "<Alt>KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom400" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowInfoPixel" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoCycle" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageBack" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating3" "<Alt>KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/hugin.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating2" "<Alt>KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/display-im6.q16.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark3Alt1" "KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom50" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom400" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating1" "<Alt>KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FolderTree" "<Primary>t")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UseImageProfile" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom200" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom25" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating0" "<Alt>KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PanView" "<Primary>j")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewList" "<Primary>l")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RotateCCW" "bracketleft")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageForward" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark5" "")
|
12
assets/.config/geeqie/applications/add-tags.desktop
Normal file
12
assets/.config/geeqie/applications/add-tags.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=filetags add
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-adding-wrapper-with-gnome-terminal.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/append-name.desktop
Normal file
12
assets/.config/geeqie/applications/append-name.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=filetags append file name
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-append-file-name-wrapper-with-gnome-terminal.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/guess-filename.desktop
Normal file
12
assets/.config/geeqie/applications/guess-filename.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=filetags guess file name
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-guess-filename-with-gnome-terminal.sh %F | tee -a $HOME/guessfilename_history.txt 2>&1
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/m2a.desktop
Normal file
12
assets/.config/geeqie/applications/m2a.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=m2a
|
||||||
|
GenericName=m2a
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-m2a-wrapper-with-gnome-terminal.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/prepend-name.desktop
Normal file
12
assets/.config/geeqie/applications/prepend-name.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=filetags append file name
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-prepend-file-name-wrapper-with-gnome-terminal.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/rangereal.desktop
Normal file
12
assets/.config/geeqie/applications/rangereal.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=rangereal
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-rangereal-with-gnome-terminal.sh %F | tee -a $HOME/rangereal_history.txt 2>&1
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/remove-tags.desktop
Normal file
12
assets/.config/geeqie/applications/remove-tags.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=filetags remove
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-interactive-removing-wrapper-with-gnome-terminal.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/tag-administratif.desktop
Normal file
12
assets/.config/geeqie/applications/tag-administratif.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=tag administratif
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-append-tag-administratif.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/tag-cosplay.desktop
Normal file
12
assets/.config/geeqie/applications/tag-cosplay.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=tag cosplay
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-append-tag-cosplay.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/tag-illu.desktop
Normal file
12
assets/.config/geeqie/applications/tag-illu.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=tag illustration
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-append-tag-illu.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
12
assets/.config/geeqie/applications/tag-nourriture.desktop
Normal file
12
assets/.config/geeqie/applications/tag-nourriture.desktop
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=tag nourriture
|
||||||
|
GenericName=filetags
|
||||||
|
Comment=
|
||||||
|
Exec=$HOME/areas/www/misc/vk-filetags-append-tag-nourriture.sh %F
|
||||||
|
Icon=
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Graphics;
|
||||||
|
hidden=false
|
||||||
|
MimeType=image/*;video/*;image/mpo;image/thm
|
||||||
|
Categories=X-Geeqie;
|
330
assets/.config/geeqie/geeqie accels config
Normal file
330
assets/.config/geeqie/geeqie accels config
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
; geeqie GtkAccelMap rc-file -*- scheme -*-
|
||||||
|
; this file is an automated accelerator map dump
|
||||||
|
;
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark4Alt1" "KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RatingM1" "<Alt>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowSlower" "<Primary>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Thumbnails" "t")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/tethered-photography.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FirstPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom200" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ClearMarks" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewIcons" "<Primary>i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Back" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CloseWindow" "<Primary>w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanCycle" "k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/eom.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanV" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark5Alt1" "KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rename" "<Primary>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageHistogram" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageOverlayCycle" "i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageOverlay" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AlterNone" "<Shift>o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomOutAlt1" "KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SBar" "<Primary>k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IgnoreAlpha" "<Shift>a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/qView.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Animate" "a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFillHor" "h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark9" "<Primary>9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark6Alt1" "KP_6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark0Alt1" "<Primary>KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpKbd" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/export-jpeg.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark8" "<Primary>8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanR" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Move" "<Primary>m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark7" "<Primary>7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFit" "x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/image-crop.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/gimp.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark7Alt1" "KP_7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark6" "<Primary>6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark1Alt1" "<Primary>KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CopyPath" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/EditMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark5" "<Primary>5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RectangularSelection" "<Alt>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewInNewWindow" "<Primary>v")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFit" "<Shift>x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/symlink.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark4" "<Primary>4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ExifRotate" "<Alt>x")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomOutAlt1" "<Shift>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark8Alt1" "KP_8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Flip" "<Shift>f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Search" "F3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark2Alt1" "<Primary>KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitPreviousPane" "<Alt>Left")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark3" "<Primary>3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SetMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFillHor" "<Shift>h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpContents" "F1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Refresh" "r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark2" "<Primary>2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RatingMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteAlt2" "KP_Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImageAlt2" "KP_Next")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteAlt1" "Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DrawRectangle" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/DeleteWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImageAlt1" "Page_Down")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark1" "<Primary>1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PermanentDelete" "<Shift>Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark9Alt1" "KP_9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark3Alt1" "<Primary>KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rotate180" "<Shift>r")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomInAlt1" "<Shift>KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/AddMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/IntMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/GoMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom33" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark0" "<Primary>0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideBars" "grave")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/PTBatcherGUI.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FileMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SaveMetadata" "<Primary>s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomIn" "equal")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShow" "s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Copy" "<Primary>c")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitQuad" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark4Alt1" "<Primary>KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Quit" "<Primary>q")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Maintenance" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OpenRecent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FirstImage" "Home")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/org.kde.gwenview.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Plugins" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanG" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImage" "BackSpace")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFillVert" "<Shift>w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImageAlt2" "KP_Page_Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoSBS" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreenAlt2" "F11")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom100Alt1" "KP_Divide")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitDownPane" "<Alt>Down")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitPaneSync" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevImageAlt1" "Page_Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark5Alt1" "<Primary>KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NextImage" "space")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindowDefault" "<Primary>n")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/cura.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom300" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OverUnderExposed" "<Shift>e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom50" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreenAlt1" "v")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OverlayMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FindDupes" "d")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideTools" "<Primary>h")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFillVert" "w")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoAuto" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PluginsMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoOff" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom25" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomFitAlt1" "KP_Multiply")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectAll" "<Primary>a")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark6Alt1" "<Primary>KP_6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowPause" "p")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom300" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanB" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/org.gnome.Evince.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ExifWin" "<Primary>e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom100" "z")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OpenCollection" "o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpSearch" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LogWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageGuidelines" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpShortcuts" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Print" "<Shift>p")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/KeywordAutocomplete" "<Alt>k")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowFileFilter" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark7Alt1" "<Primary>KP_7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitHorizontal" "e")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mirror" "<Shift>m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom100Alt1" "<Shift>KP_Divide")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LastImage" "End")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom100" "<Shift>z")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate-270.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FullScreen" "f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Delete" "<Primary>d")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RenameWindow" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark8Alt1" "<Primary>KP_8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/About" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitSingle" "y")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Up" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewFolder" "<Primary>f")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewCollection" "c")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomFitAlt1" "<Shift>KP_Multiply")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Preferences" "<Primary>o")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeLog" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HelpNotes" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark9" "9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoCross" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/EscapeAlt1" "q")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectMark9Alt1" "<Primary>KP_9")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/mypaint.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WriteRotationKeepDate" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark8" "8")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WriteRotation" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramChanRGB" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark7" "7")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/camera-import.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/WindowsMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SelectInvert" "<Primary><Shift>i")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeCycle" "j")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark6" "6")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitNextPane" "<Alt>Right")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitUpPane" "<Alt>Up")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SearchAndRunCommand" "slash")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ResetMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark5" "5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HideToolbar" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PrevPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SlideShowFaster" "<Primary>KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Escape" "Escape")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Home" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark4" "4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomInAlt1" "KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/HistogramModeLin" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SBarSort" "<Shift>s")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark0Alt1" "KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Forward" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RotateCW" "bracketright")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark3" "3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/OrientationMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/org.kde.kolourpaint.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom33" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomOut" "minus")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark2" "2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ZoomMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark1" "1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FloatTools" "l")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark1Alt1" "KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomIn" "plus")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/CopyPathUnquoted" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark0" "0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FileDirMenu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UseColorProfiles" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoomOut" "underscore")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/SplitVertical" "u")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/random-image.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/NewWindowFromCurrent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Grayscale" "<Shift>g")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LayoutConfig" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating5" "<Alt>KP_5")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/org.gnome.eog.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark2Alt1" "KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate-90.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowMarks" "m")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/LastPage" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating4" "<Alt>KP_4")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/rotate.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom400" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UnselMark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ShowInfoPixel" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/StereoCycle" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageBack" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark9" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating3" "<Alt>KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark1" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/hugin.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile5" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark8" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating2" "<Alt>KP_2")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActionsExternal/display-im6.q16.desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ToggleMark3Alt1" "KP_3")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Mark0" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom50" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ConnectZoom400" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark7" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating1" "<Alt>KP_1")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile4" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FolderTree" "<Primary>t")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/UseImageProfile" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom200" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Zoom25" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark6" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/Rating0" "<Alt>KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ColorProfile3" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/PanView" "<Primary>j")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ViewList" "<Primary>l")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/RotateCCW" "bracketleft")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/ImageForward" "")
|
||||||
|
; (gtk_accel_path "<Actions>/MenuActions/FilterMark5" "")
|
||||||
|
|
||||||
|
(gtk_accel_path "<Actions>/MenuActions/SelectNone" "")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/add-tags.desktop" "<Primary><Shift>a")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/remove-tags.desktop" "<Primary><Shift>r")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/guess-filename.desktop" "g")
|
||||||
|
(gtk_accel_path "<Actions>/MenuActionsExternal/rangereal.desktop" "<Primary>r")
|
390
assets/.config/geeqie/geeqierc.xml
Normal file
390
assets/.config/geeqie/geeqierc.xml
Normal file
|
@ -0,0 +1,390 @@
|
||||||
|
<!--
|
||||||
|
######################################################################
|
||||||
|
# Geeqie config file version 2.0.1 #
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# Note: This file is autogenerated. Options can be changed here,
|
||||||
|
# but user comments and formatting will be lost.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<gq>
|
||||||
|
|
||||||
|
<global
|
||||||
|
|
||||||
|
show_icon_names = "false"
|
||||||
|
show_star_rating = "false"
|
||||||
|
show_predefined_keyword_tree = "true"
|
||||||
|
|
||||||
|
tree_descend_subdirs = "false"
|
||||||
|
view_dir_list_single_click_enter = "true"
|
||||||
|
circular_selection_lists = "true"
|
||||||
|
lazy_image_sync = "false"
|
||||||
|
update_on_time_change = "true"
|
||||||
|
|
||||||
|
progressive_key_scrolling = "true"
|
||||||
|
keyboard_scroll_step = "1"
|
||||||
|
duplicates_similarity_threshold = "99"
|
||||||
|
duplicates_match = "0"
|
||||||
|
duplicates_select_type = "0"
|
||||||
|
duplicates_thumbnails = "false"
|
||||||
|
rot_invariant_sim = "true"
|
||||||
|
sort_totals = "false"
|
||||||
|
|
||||||
|
mousewheel_scrolls = "false"
|
||||||
|
image_lm_click_nav = "true"
|
||||||
|
image_l_click_archive = "false"
|
||||||
|
image_l_click_video = "false"
|
||||||
|
image_l_click_video_editor = ""
|
||||||
|
open_recent_list_maxsize = "10"
|
||||||
|
recent_folder_image_list_maxsize = "10"
|
||||||
|
dnd_icon_size = "48"
|
||||||
|
dnd_default_action = "0"
|
||||||
|
place_dialogs_under_mouse = "false"
|
||||||
|
clipboard_selection = "2"
|
||||||
|
save_window_positions = "true"
|
||||||
|
use_saved_window_positions_for_new_windows = "false"
|
||||||
|
save_window_workspace = "false"
|
||||||
|
tools_restore_state = "true"
|
||||||
|
save_dialog_window_positions = "false"
|
||||||
|
show_window_ids = "false"
|
||||||
|
expand_menu_toolbar = "false"
|
||||||
|
log_window_lines = "1000"
|
||||||
|
log_window.timer_data = "false"
|
||||||
|
marks_save = "true"
|
||||||
|
help_search_engine = "https://duckduckgo.com/?q=site:geeqie.org/help "
|
||||||
|
external_preview.enable = "false"
|
||||||
|
external_preview.select = ""
|
||||||
|
external_preview.extract = ""
|
||||||
|
with_rename = "false"
|
||||||
|
collections_on_top = "false"
|
||||||
|
hide_window_in_fullscreen = "true"
|
||||||
|
file_ops.enable_in_place_rename = "true"
|
||||||
|
file_ops.confirm_delete = "true"
|
||||||
|
file_ops.confirm_move_to_trash = "true"
|
||||||
|
file_ops.enable_delete_key = "true"
|
||||||
|
file_ops.use_system_trash = "true"
|
||||||
|
file_ops.safe_delete_enable = "false"
|
||||||
|
file_ops.safe_delete_path = "/home/tykayn/.local/share/geeqie/trash"
|
||||||
|
file_ops.safe_delete_folder_maxsize = "128"
|
||||||
|
file_ops.no_trash = "false"
|
||||||
|
properties.tabs_order = ""
|
||||||
|
image.zoom_mode = "2"
|
||||||
|
|
||||||
|
image.zoom_2pass = "true"
|
||||||
|
image.zoom_to_fit_allow_expand = "false"
|
||||||
|
image.zoom_quality = "2"
|
||||||
|
image.zoom_increment = "5"
|
||||||
|
image.zoom_style = "0"
|
||||||
|
image.fit_window_to_image = "false"
|
||||||
|
image.limit_window_size = "true"
|
||||||
|
image.max_window_size = "90"
|
||||||
|
image.limit_autofit_size = "false"
|
||||||
|
image.max_autofit_size = "100"
|
||||||
|
image.max_enlargement_size = "900"
|
||||||
|
image.scroll_reset_method = "2"
|
||||||
|
image.tile_cache_max = "10"
|
||||||
|
image.image_cache_max = "128"
|
||||||
|
image.enable_read_ahead = "true"
|
||||||
|
image.exif_rotate_enable = "true"
|
||||||
|
image.use_custom_border_color = "false"
|
||||||
|
image.use_custom_border_color_in_fullscreen = "true"
|
||||||
|
image.border_color = "#000000000000"
|
||||||
|
image.alpha_color_1 = "#999999999999"
|
||||||
|
image.alpha_color_2 = "#666666666666"
|
||||||
|
image.tile_size = "128"
|
||||||
|
thumbnails.max_width = "96"
|
||||||
|
thumbnails.max_height = "72"
|
||||||
|
thumbnails.enable_caching = "true"
|
||||||
|
thumbnails.cache_into_dirs = "false"
|
||||||
|
thumbnails.use_xvpics = "true"
|
||||||
|
thumbnails.spec_standard = "true"
|
||||||
|
thumbnails.quality = "1"
|
||||||
|
thumbnails.use_exif = "false"
|
||||||
|
thumbnails.use_color_management = "false"
|
||||||
|
thumbnails.use_ft_metadata = "true"
|
||||||
|
thumbnails.collection_preview = "20"
|
||||||
|
file_sort.method = "1"
|
||||||
|
file_sort.ascending = "true"
|
||||||
|
file_sort.case_sensitive = "false"
|
||||||
|
file_sort.natural = "false"
|
||||||
|
fullscreen.screen = "-1"
|
||||||
|
fullscreen.clean_flip = "false"
|
||||||
|
fullscreen.disable_saver = "true"
|
||||||
|
fullscreen.above = "false"
|
||||||
|
|
||||||
|
image_overlay.template_string = "%collection:<i>*</i>\\n%(%number%/%total%) [%zoom%] <b>%name%</b>\n%res%|%date%|%size%\n%formatted.Aperture%|%formatted.ShutterSpeed%|%formatted.ISOSpeedRating:ISO *%|%formatted.FocalLength%|%formatted.ExposureBias:* Ev%\n%formatted.Camera:40%|%formatted.Flash%\n%formatted.star_rating%"
|
||||||
|
image_overlay.x = "10"
|
||||||
|
image_overlay.y = "-10"
|
||||||
|
image_overlay.text_red = "0"
|
||||||
|
image_overlay.text_green = "0"
|
||||||
|
image_overlay.text_blue = "0"
|
||||||
|
image_overlay.text_alpha = "255"
|
||||||
|
image_overlay.background_red = "240"
|
||||||
|
image_overlay.background_green = "240"
|
||||||
|
image_overlay.background_blue = "240"
|
||||||
|
image_overlay.background_alpha = "210"
|
||||||
|
image_overlay.font = ""
|
||||||
|
slideshow.delay = "5.0"
|
||||||
|
slideshow.random = "false"
|
||||||
|
slideshow.repeat = "false"
|
||||||
|
collections.rectangular_selection = "false"
|
||||||
|
file_filter.show_hidden_files = "false"
|
||||||
|
file_filter.show_parent_directory = "true"
|
||||||
|
file_filter.show_dot_directory = "false"
|
||||||
|
file_filter.disable_file_extension_checks = "false"
|
||||||
|
file_filter.disable = "false"
|
||||||
|
|
||||||
|
sidecar.ext = ".jpg;%raw;.xmp;%unknown"
|
||||||
|
shell.path = "/bin/sh"
|
||||||
|
shell.options = "-c"
|
||||||
|
helpers.html_browser.command_name = ""
|
||||||
|
helpers.html_browser.command_line = ""
|
||||||
|
metadata.enable_metadata_dirs = "false"
|
||||||
|
metadata.save_in_image_file = "false"
|
||||||
|
metadata.save_legacy_IPTC = "false"
|
||||||
|
metadata.warn_on_write_problems = "true"
|
||||||
|
metadata.save_legacy_format = "false"
|
||||||
|
metadata.sync_grouped_files = "true"
|
||||||
|
metadata.confirm_write = "true"
|
||||||
|
metadata.sidecar_extended_name = "false"
|
||||||
|
metadata.confirm_timeout = "10"
|
||||||
|
metadata.confirm_after_timeout = "false"
|
||||||
|
metadata.confirm_on_image_change = "false"
|
||||||
|
metadata.confirm_on_dir_change = "true"
|
||||||
|
metadata.keywords_case_sensitive = "false"
|
||||||
|
metadata.write_orientation = "true"
|
||||||
|
metadata.check_spelling = "true"
|
||||||
|
stereo.mode = "0"
|
||||||
|
stereo.fsmode = "0"
|
||||||
|
stereo.enable_fsmode = "false"
|
||||||
|
stereo.fixed_w = "1920"
|
||||||
|
stereo.fixed_h = "1080"
|
||||||
|
stereo.fixed_x1 = "0"
|
||||||
|
stereo.fixed_y1 = "0"
|
||||||
|
stereo.fixed_x2 = "0"
|
||||||
|
stereo.fixed_y2 = "1125"
|
||||||
|
read_metadata_in_idle = "false"
|
||||||
|
star_rating.star = "10040"
|
||||||
|
star_rating.rejected = "10060"
|
||||||
|
cp_mv_rn.auto_start = "0"
|
||||||
|
cp_mv_rn.auto_padding = "0"
|
||||||
|
cp_mv_rn.auto_end = ""
|
||||||
|
cp_mv_rn.formatted_start = "0"
|
||||||
|
|
||||||
|
printer.template_string = ""
|
||||||
|
printer.image_font = "Serif 10"
|
||||||
|
printer.page_font = "Serif 10"
|
||||||
|
printer.page_text = ""
|
||||||
|
printer.image_text_position = "1"
|
||||||
|
printer.page_text_position = "3"
|
||||||
|
printer.show_image_text = "false"
|
||||||
|
printer.show_page_text = "false"
|
||||||
|
|
||||||
|
threads.duplicates = "-1"
|
||||||
|
|
||||||
|
mouse_button_8 = "Back"
|
||||||
|
mouse_button_9 = "Forward"
|
||||||
|
|
||||||
|
override_disable_gpu = "false"
|
||||||
|
>
|
||||||
|
|
||||||
|
<color_profiles screen_file = "" enabled = "true" use_image = "true" input_type = "0" use_x11_screen_profile = "true" render_intent = "0" >
|
||||||
|
<profile input_file = "" input_name = "" />
|
||||||
|
<profile input_file = "" input_name = "" />
|
||||||
|
<profile input_file = "" input_name = "" />
|
||||||
|
<profile input_file = "" input_name = "" />
|
||||||
|
</color_profiles>
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<file_type key = "dds" enabled = "true" extensions = ".dds" description = "DirectDraw Surface" file_class = "1" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "pdf" enabled = "true" extensions = ".pdf" description = "Portable Document Format" file_class = "6" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "heif/avif" enabled = "true" extensions = ".heif;.heic;.avif" description = "HEIF/AVIF Image" file_class = "1" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "webp" enabled = "true" extensions = ".webp" description = "WebP Format" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "djvu" enabled = "true" extensions = ".djvu;.djv" description = "DjVu Format" file_class = "6" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "jp2" enabled = "true" extensions = ".jp2" description = "JPEG 2000" file_class = "1" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "zip" enabled = "true" extensions = ".zip;.rar;.tar;.tar.gz;.tar.bz2;.tar.xz;.tgz;.tbz;.txz;.cbr;.cbz;.gz;.bz2;.xz;.lzh;.lza;.7z" description = "Archive files" file_class = "7" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "scr" enabled = "true" extensions = ".scr" description = "ZX Spectrum screen Format" file_class = "1" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "psd" enabled = "true" extensions = ".psd" description = "Adobe Photoshop Document" file_class = "1" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "apng" enabled = "true" extensions = ".apng" description = "Animated Portable Network Graphic" file_class = "1" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "png" enabled = "true" extensions = ".png" description = "PNG" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "jpeg" enabled = "true" extensions = ".jpeg;.jpe;.jpg" description = "JPEG" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "ani" enabled = "true" extensions = ".ani" description = "Windows animated cursor" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "bmp" enabled = "true" extensions = ".bmp" description = "BMP" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "gif" enabled = "true" extensions = ".gif" description = "GIF" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "icns" enabled = "true" extensions = ".icns" description = "MacOS X icon" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "ico" enabled = "true" extensions = ".ico;.cur" description = "Windows icon" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "pnm" enabled = "true" extensions = ".pnm;.pbm;.pgm;.ppm" description = "PNM/PBM/PGM/PPM" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "qtif" enabled = "true" extensions = ".qtif;.qif" description = "QuickTime" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "svg" enabled = "true" extensions = ".svg;.svgz;.svg.gz" description = "Scalable Vector Graphics" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "tga" enabled = "true" extensions = ".tga;.targa" description = "Targa" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "tiff" enabled = "true" extensions = ".tiff;.tif" description = "TIFF" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "xbm" enabled = "true" extensions = ".xbm" description = "XBM" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "xpm" enabled = "true" extensions = ".xpm" description = "XPM" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "ras" enabled = "false" extensions = ".ras" description = "Raster" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "jps" enabled = "true" extensions = ".jps" description = "Stereo side-by-side jpeg" file_class = "1" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "mpo" enabled = "true" extensions = ".mpo" description = "Stereo multi-image jpeg" file_class = "1" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "xmp" enabled = "true" extensions = ".xmp" description = "XMP sidecar" file_class = "3" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "meta" enabled = "true" extensions = ".meta" description = "GQview legacy metadata" file_class = "3" writable = "true" allow_sidecar = "false" />
|
||||||
|
<file_type key = "gqv" enabled = "true" extensions = ".gqv" description = "Geeqie image collection" file_class = "5" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "pto" enabled = "true" extensions = ".pto" description = "Panorama script file" file_class = "3" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "arw" enabled = "true" extensions = ".arw;.srf;.sr2" description = "Sony raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "crw" enabled = "true" extensions = ".crw;.cr2;.cr3" description = "Canon raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "kdc" enabled = "true" extensions = ".kdc;.dcr;.k25" description = "Kodak raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "raf" enabled = "true" extensions = ".raf" description = "Fujifilm raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "mef" enabled = "true" extensions = ".mef;.mos" description = "Mamiya raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "mrw" enabled = "true" extensions = ".mrw" description = "Minolta raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "nef" enabled = "true" extensions = ".nef" description = "Nikon raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "orf" enabled = "true" extensions = ".orf" description = "Olympus raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "pef" enabled = "true" extensions = ".pef;.ptx" description = "Pentax or Samsung raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "dng" enabled = "true" extensions = ".dng" description = "Adobe Digital Negative raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "x3f" enabled = "true" extensions = ".x3f" description = "Sigma raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "raw" enabled = "true" extensions = ".raw" description = "Panasonic raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "r3d" enabled = "true" extensions = ".r3d" description = "Red raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "3fr" enabled = "true" extensions = ".3fr" description = "Hasselblad raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "erf" enabled = "true" extensions = ".erf" description = "Epson raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "srw" enabled = "true" extensions = ".srw" description = "Samsung raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "rw2" enabled = "true" extensions = ".rw2" description = "Panasonic raw format" file_class = "2" writable = "false" allow_sidecar = "true" />
|
||||||
|
<file_type key = "mp4" enabled = "false" extensions = ".mp4;.m4v;.3gp;.3g2" description = "MP4 video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "3gp" enabled = "false" extensions = ".3gp;.3g2" description = "3GP video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "mov" enabled = "false" extensions = ".mov;.qt" description = "MOV video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "avi" enabled = "false" extensions = ".avi" description = "AVI video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "mpg" enabled = "false" extensions = ".mpg;.mpeg;.mts;.m2ts" description = "MPG video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "mkv" enabled = "false" extensions = ".mkv;.webm" description = "Matroska video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "wmv" enabled = "false" extensions = ".wmv;.asf" description = "Windows Media Video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
<file_type key = "flv" enabled = "false" extensions = ".flv" description = "Flash Video file" file_class = "4" writable = "false" allow_sidecar = "false" />
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
<marks_tooltips>
|
||||||
|
<tooltip text = "Mark 1" />
|
||||||
|
<tooltip text = "Mark 2" />
|
||||||
|
<tooltip text = "Mark 3" />
|
||||||
|
<tooltip text = "Mark 4" />
|
||||||
|
<tooltip text = "Mark 5" />
|
||||||
|
<tooltip text = "Mark 6" />
|
||||||
|
<tooltip text = "Mark 7" />
|
||||||
|
<tooltip text = "Mark 8" />
|
||||||
|
<tooltip text = "Mark 9" />
|
||||||
|
<tooltip text = "Mark 10" />
|
||||||
|
</marks_tooltips>
|
||||||
|
|
||||||
|
<disabled_plugins>
|
||||||
|
</disabled_plugins>
|
||||||
|
|
||||||
|
<class_filter>
|
||||||
|
<filter_type filter = "Unknown" enabled = "true" />
|
||||||
|
<filter_type filter = "Image" enabled = "true" />
|
||||||
|
<filter_type filter = "RAW Image" enabled = "true" />
|
||||||
|
<filter_type filter = "Metadata" enabled = "true" />
|
||||||
|
<filter_type filter = "Video" enabled = "true" />
|
||||||
|
<filter_type filter = "Collection" enabled = "true" />
|
||||||
|
<filter_type filter = "Document" enabled = "true" />
|
||||||
|
<filter_type filter = "Archive" enabled = "true" />
|
||||||
|
</class_filter>
|
||||||
|
|
||||||
|
<keyword_tree>
|
||||||
|
</keyword_tree>
|
||||||
|
</global>
|
||||||
|
|
||||||
|
|
||||||
|
<layout
|
||||||
|
id = "lw1"
|
||||||
|
style = "0"
|
||||||
|
order = "123"
|
||||||
|
dir_view_type = "0"
|
||||||
|
file_view_type = "1"
|
||||||
|
dir_view_list_sort.method = "1"
|
||||||
|
dir_view_list_sort.ascend = "true"
|
||||||
|
show_marks = "false"
|
||||||
|
show_file_filter = "false"
|
||||||
|
show_thumbnails = "false"
|
||||||
|
show_directory_date = "true"
|
||||||
|
home_path = "/home/poule/encrypted/stockage-syncable/photos/2024"
|
||||||
|
startup_path = "0"
|
||||||
|
|
||||||
|
main_window.x = "1920"
|
||||||
|
main_window.y = "0"
|
||||||
|
main_window.w = "1720"
|
||||||
|
main_window.h = "1359"
|
||||||
|
main_window.maximized = "true"
|
||||||
|
main_window.hdivider_pos = "660"
|
||||||
|
main_window.vdivider_pos = "494"
|
||||||
|
workspace = "-1"
|
||||||
|
|
||||||
|
folder_window.vdivider_pos = "216"
|
||||||
|
|
||||||
|
float_window.x = "0"
|
||||||
|
float_window.y = "0"
|
||||||
|
float_window.w = "260"
|
||||||
|
float_window.h = "450"
|
||||||
|
float_window.vdivider_pos = "-1"
|
||||||
|
|
||||||
|
properties_window.w = "0"
|
||||||
|
properties_window.h = "0"
|
||||||
|
|
||||||
|
tools_float = "false"
|
||||||
|
tools_hidden = "false"
|
||||||
|
|
||||||
|
toolbar_hidden = "false"
|
||||||
|
show_info_pixel = "false"
|
||||||
|
ignore_alpha = "false"
|
||||||
|
|
||||||
|
bars_state.info = "false"
|
||||||
|
bars_state.sort = "false"
|
||||||
|
bars_state.tools_float = "false"
|
||||||
|
bars_state.tools_hidden = "false"
|
||||||
|
bars_state.hidden = "false"
|
||||||
|
|
||||||
|
image_overlay.state = "0"
|
||||||
|
image_overlay.histogram_channel = "4"
|
||||||
|
image_overlay.histogram_mode = "1"
|
||||||
|
log_window.x = "0"
|
||||||
|
log_window.y = "0"
|
||||||
|
log_window.w = "520"
|
||||||
|
log_window.h = "400"
|
||||||
|
preferences_window.x = "472"
|
||||||
|
preferences_window.y = "225"
|
||||||
|
preferences_window.w = "975"
|
||||||
|
preferences_window.h = "600"
|
||||||
|
preferences_window.page_number = "4"
|
||||||
|
search_window.x = "100"
|
||||||
|
search_window.y = "100"
|
||||||
|
search_window.w = "700"
|
||||||
|
search_window.h = "650"
|
||||||
|
dupe_window.x = "100"
|
||||||
|
dupe_window.y = "100"
|
||||||
|
dupe_window.w = "800"
|
||||||
|
dupe_window.h = "400"
|
||||||
|
advanced_exif_window.x = "841"
|
||||||
|
advanced_exif_window.y = "475"
|
||||||
|
advanced_exif_window.w = "900"
|
||||||
|
advanced_exif_window.h = "600"
|
||||||
|
|
||||||
|
animate = "true" >
|
||||||
|
|
||||||
|
|
||||||
|
<toolbar>
|
||||||
|
<clear/>
|
||||||
|
<toolitem action = "Thumbnails" />
|
||||||
|
<toolitem action = "Back" />
|
||||||
|
<toolitem action = "Forward" />
|
||||||
|
<toolitem action = "Up" />
|
||||||
|
<toolitem action = "Home" />
|
||||||
|
<toolitem action = "Refresh" />
|
||||||
|
<toolitem action = "ZoomIn" />
|
||||||
|
<toolitem action = "ZoomOut" />
|
||||||
|
<toolitem action = "ZoomFit" />
|
||||||
|
<toolitem action = "Zoom100" />
|
||||||
|
<toolitem action = "Preferences" />
|
||||||
|
<toolitem action = "FloatTools" />
|
||||||
|
</toolbar>
|
||||||
|
<statusbar>
|
||||||
|
<clear/>
|
||||||
|
<toolitem action = "ExifRotate" />
|
||||||
|
<toolitem action = "ShowInfoPixel" />
|
||||||
|
<toolitem action = "UseColorProfiles" />
|
||||||
|
<toolitem action = "SaveMetadata" />
|
||||||
|
</statusbar>
|
||||||
|
</layout>
|
||||||
|
</gq>
|
||||||
|
|
20
assets/.ssh/config
Normal file
20
assets/.ssh/config
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
Host *
|
||||||
|
SetEnv TERM="xterm"
|
||||||
|
ServerAliveInterval 300
|
||||||
|
ServerAliveCountMax 2
|
||||||
|
|
||||||
|
Host cluster-moji.openstreetmap.fr
|
||||||
|
User tykayn
|
||||||
|
|
||||||
|
Host mobilizon.vm.openstreetmap.fr
|
||||||
|
ProxyJump cluster-moji.openstreetmap.fr
|
||||||
|
IdentityFile ~/.ssh/id_rsa_spaceship
|
||||||
|
User tykayn
|
||||||
|
|
||||||
|
Host sotm.vm.openstreetmap.fr
|
||||||
|
ProxyJump osm26.openstreetmap.fr
|
||||||
|
|
||||||
|
Host github.com
|
||||||
|
IdentityFile ~/.ssh/github.pub
|
||||||
|
User git
|
||||||
|
IdentitiesOnly yes
|
137
backup-management/round.sh
Executable file
137
backup-management/round.sh
Executable file
|
@ -0,0 +1,137 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Script to check if mounted disks have up-to-date borg2 backups
|
||||||
|
# Compares the last modification date of borg_archives/borg2 on each disk
|
||||||
|
# with /home/poule/borg_archives/borg2
|
||||||
|
|
||||||
|
# Set colors for output
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[0;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
echo "Checking mounted disks for borg2 backup status..."
|
||||||
|
|
||||||
|
# Reference directory
|
||||||
|
REFERENCE_DIR="/home/poule/borg_archives/borg2"
|
||||||
|
|
||||||
|
# Check if reference directory exists
|
||||||
|
if [ ! -d "$REFERENCE_DIR" ]; then
|
||||||
|
echo -e "${RED}Error: Reference directory $REFERENCE_DIR does not exist.${NC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get current time
|
||||||
|
CURRENT_TIME=$(date +%s)
|
||||||
|
# Calculate time 24 hours ago
|
||||||
|
TIME_24H_AGO=$((CURRENT_TIME - 86400))
|
||||||
|
|
||||||
|
# Get only mount points in /media/$USER/
|
||||||
|
MOUNT_POINTS=$(df -h | grep "/media/$USER/" | awk '{print $6}')
|
||||||
|
|
||||||
|
# Initialize arrays for results
|
||||||
|
OUTDATED_DISKS=()
|
||||||
|
OUTDATED_TIMES=()
|
||||||
|
UP_TO_DATE_DISKS=()
|
||||||
|
NO_BORG_DISKS=()
|
||||||
|
LOW_SPACE_DISKS=()
|
||||||
|
LOW_SPACE_VALUES=()
|
||||||
|
|
||||||
|
# Function to calculate time difference in years, months, days
|
||||||
|
calculate_time_diff() {
|
||||||
|
local timestamp=$1
|
||||||
|
local now=$(date +%s)
|
||||||
|
local diff=$((now - timestamp))
|
||||||
|
|
||||||
|
# Calculate years, months, days
|
||||||
|
local days=$((diff / 86400))
|
||||||
|
local years=$((days / 365))
|
||||||
|
local remaining_days=$((days % 365))
|
||||||
|
local months=$((remaining_days / 30))
|
||||||
|
remaining_days=$((remaining_days % 30))
|
||||||
|
|
||||||
|
echo "${years}y ${months}m ${remaining_days}d"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check each mount point
|
||||||
|
for MOUNT in $MOUNT_POINTS; do
|
||||||
|
BORG_DIR="$MOUNT/borg_archives/borg2"
|
||||||
|
|
||||||
|
# Skip the reference directory itself
|
||||||
|
if [ "$MOUNT" == "/home" ] || [ "$MOUNT" == "/" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${YELLOW}Checking $MOUNT...${NC}"
|
||||||
|
|
||||||
|
# Check available disk space
|
||||||
|
AVAILABLE_SPACE=$(df -BG "$MOUNT" | awk 'NR==2 {print $4}' | sed 's/G//')
|
||||||
|
if [ "$AVAILABLE_SPACE" -lt 10 ]; then
|
||||||
|
echo -e " ${RED}! Low disk space: ${AVAILABLE_SPACE}GB available${NC}"
|
||||||
|
LOW_SPACE_DISKS+=("$MOUNT")
|
||||||
|
LOW_SPACE_VALUES+=("$AVAILABLE_SPACE")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if borg_archives/borg2 exists on this mount
|
||||||
|
if [ -d "$BORG_DIR" ]; then
|
||||||
|
# Get last modification time of the borg directory
|
||||||
|
BORG_TIME=$(stat -c %Y "$BORG_DIR")
|
||||||
|
|
||||||
|
# Compare times - consider up-to-date if modified within the last 24 hours
|
||||||
|
if [ "$BORG_TIME" -ge "$TIME_24H_AGO" ]; then
|
||||||
|
echo -e " ${GREEN}✓ Backup is up to date${NC}"
|
||||||
|
UP_TO_DATE_DISKS+=("$MOUNT")
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗ Backup is outdated${NC}"
|
||||||
|
OUTDATED_DISKS+=("$MOUNT")
|
||||||
|
OUTDATED_TIMES+=("$BORG_TIME")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e " ${YELLOW}! No borg2 backup directory found${NC}"
|
||||||
|
NO_BORG_DISKS+=("$MOUNT")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Print summary
|
||||||
|
echo -e "\n${YELLOW}=== Backup Status Summary ===${NC}"
|
||||||
|
|
||||||
|
if [ ${#UP_TO_DATE_DISKS[@]} -gt 0 ]; then
|
||||||
|
echo -e "\n${GREEN}Up-to-date disks:${NC}"
|
||||||
|
for DISK in "${UP_TO_DATE_DISKS[@]}"; do
|
||||||
|
echo " - $DISK"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${#OUTDATED_DISKS[@]} -gt 0 ]; then
|
||||||
|
echo -e "\n${RED}Outdated disks (need backup):${NC}"
|
||||||
|
for i in "${!OUTDATED_DISKS[@]}"; do
|
||||||
|
DISK="${OUTDATED_DISKS[$i]}"
|
||||||
|
BORG_TIME="${OUTDATED_TIMES[$i]}"
|
||||||
|
FORMATTED_DATE=$(date -d "@$BORG_TIME" "+%Y-%m-%d %H:%M:%S")
|
||||||
|
TIME_DIFF=$(calculate_time_diff "$BORG_TIME")
|
||||||
|
echo " - $DISK (Last modified: $FORMATTED_DATE, Age: $TIME_DIFF)"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${#NO_BORG_DISKS[@]} -gt 0 ]; then
|
||||||
|
echo -e "\n${YELLOW}Disks without borg2 backup directory:${NC}"
|
||||||
|
for DISK in "${NO_BORG_DISKS[@]}"; do
|
||||||
|
echo " - $DISK"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${#LOW_SPACE_DISKS[@]} -gt 0 ]; then
|
||||||
|
echo -e "\n${RED}Disks with low space (less than 10GB free):${NC}"
|
||||||
|
for i in "${!LOW_SPACE_DISKS[@]}"; do
|
||||||
|
DISK="${LOW_SPACE_DISKS[$i]}"
|
||||||
|
SPACE="${LOW_SPACE_VALUES[$i]}"
|
||||||
|
echo " - $DISK (${SPACE}GB available)"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Exit with error code if there are outdated disks
|
||||||
|
if [ ${#OUTDATED_DISKS[@]} -gt 0 ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
|
@ -1,18 +0,0 @@
|
||||||
import pandas as pd
|
|
||||||
import matplotlib.pyplot as plt
|
|
||||||
|
|
||||||
# Charger le CSV
|
|
||||||
csv_path = 'limitations_vitesse_essonne.csv'
|
|
||||||
df = pd.read_csv(csv_path)
|
|
||||||
|
|
||||||
# Générer l'histogramme
|
|
||||||
plt.figure(figsize=(10,6))
|
|
||||||
plt.bar(df['limitation_vitesse'].astype(str), df['longueur_km'], color='skyblue', edgecolor='black')
|
|
||||||
plt.xlabel('Limitation de vitesse (km/h)')
|
|
||||||
plt.ylabel('Longueur totale (km)')
|
|
||||||
plt.title("Histogramme des limitations de vitesse sur les routes principales de l'Essonne")
|
|
||||||
plt.tight_layout()
|
|
||||||
|
|
||||||
# Sauvegarder en SVG
|
|
||||||
plt.savefig('histogramme_limitations_vitesse_essonne.svg', format='svg')
|
|
||||||
print("Histogramme sauvegardé sous histogramme_limitations_vitesse_essonne.svg")
|
|
|
@ -5,7 +5,7 @@ source $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_va
|
||||||
|
|
||||||
# Check if apt-installed packages are present
|
# Check if apt-installed packages are present
|
||||||
echo "Checking apt-installed packages..."
|
echo "Checking apt-installed packages..."
|
||||||
PACKAGES="adduser ansible arp-scan automysqlbackup borgbackup calibre certbot curl docker docker-compose etckeeper eza fail2ban geeqie git gnupg htop jq meld nano ncdu nginx npm pandoc php-curl php-mysql php-xml php8.4 php8.4-fpm php8.4-xml python3 python3-pip python3-setuptools rbenv restic rsync smartmontools snapd sshfs syncthing testdisk texlive tig unattended-upgrades vrms zsh"
|
PACKAGES="adduser ansible arp-scan automysqlbackup borgbackup calibre certbot curl docker docker-compose etckeeper eza fail2ban geeqie git gnupg ghostty htop jq meld nano ncdu nginx npm pandoc php-curl php-mysql php-xml php8.4 php8.4-fpm php8.4-xml python3 python3-pip python3-setuptools rbenv restic rsync smartmontools snapd sshfs syncthing testdisk texlive tig unattended-upgrades vrms zsh"
|
||||||
|
|
||||||
MISSING_PACKAGES=""
|
MISSING_PACKAGES=""
|
||||||
for pkg in $PACKAGES; do
|
for pkg in $PACKAGES; do
|
||||||
|
|
|
@ -9,27 +9,83 @@ git clone https://source.cipherbliss.com/tykayn/workflow public_workflow
|
||||||
cd $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow
|
cd $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow
|
||||||
git pull
|
git pull
|
||||||
|
|
||||||
|
# copie des assets de config
|
||||||
|
cp assets/.bash_custom_aliases $HOME/.bash_custom_aliases
|
||||||
|
cp assets/.bash_aliases $HOME/.bash_aliases
|
||||||
|
cp assets/.bashrc $HOME/.bashrc
|
||||||
|
cp assets/.zshrc $HOME/.zshrc
|
||||||
|
cp assets/.konsole.profile $HOME/.konsole.profile
|
||||||
|
|
||||||
|
mkdir -p $HOME/.config/filetags
|
||||||
|
mkdir -p $HOME/.config/guessfilename
|
||||||
|
mkdir -p $HOME/.config/geeqie
|
||||||
|
|
||||||
|
cp -r assets/filetags $HOME/.config/filetags
|
||||||
|
cp -r assets/geeqie $HOME/.config/geeqie
|
||||||
|
cp -r assets/guessfilename $HOME/.config/guessfilename
|
||||||
|
|
||||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B188E2B695BD4743
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B188E2B695BD4743
|
||||||
|
|
||||||
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh"
|
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh"
|
||||||
source "$HOME/Nextcloud/ressources/workflow_nextcloud/secrets_vars.sh"
|
source "$HOME/Nextcloud/ressources/workflow_nextcloud/secrets_vars.sh"
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/home:/clayrisser:/bookworm/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:clayrisser:bookworm.list
|
||||||
|
curl -fsSL https://download.opensuse.org/repositories/home:clayrisser:bookworm/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_clayrisser_bookworm.gpg > /dev/null
|
||||||
|
sudo apt update
|
||||||
|
|
||||||
apt install ansible python3-pip arp-scan borgbackup curl docker docker-compose etckeeper git gnupg jq meld nano ncdu nginx restic npm pandoc php8.4 python3 python3-pip tig zsh testdisk texlive rbenv htop python3-setuptools automysqlbackup certbot smartmontools fail2ban snapd unattended-upgrades php8.4-fpm php-xml php-mysql rsync php8.4-xml php-curl vrms syncthing sshfs geeqie calibre adduser snapd borgbackup eza adduser
|
# ceci a été testé sur debian 12
|
||||||
|
|
||||||
|
# Définition des listes thématiques de paquets
|
||||||
|
# Outils de développement
|
||||||
|
DEV_TOOLS="ansible git npm python3 python3-pip python3-setuptools rbenv rustup"
|
||||||
|
|
||||||
|
# Langages et frameworks
|
||||||
|
LANGUAGES="php8.4 php8.4-fpm php-xml php-mysql php8.4-xml php-curl"
|
||||||
|
|
||||||
|
# Outils système
|
||||||
|
SYSTEM_TOOLS="arp-scan curl etckeeper ghostty gnupg htop jq meld nano ncdu testdisk tig vrms exa"
|
||||||
|
|
||||||
|
# Outils de sauvegarde et sécurité
|
||||||
|
# borgbackup est mis dans le dossier bin
|
||||||
|
BACKUP_SECURITY="automysqlbackup certbot fail2ban restic smartmontools unattended-upgrades"
|
||||||
|
|
||||||
|
# Outils réseau et serveur
|
||||||
|
NETWORK_SERVER="docker docker-compose nginx syncthing sshfs"
|
||||||
|
|
||||||
|
# Outils de texte et documents
|
||||||
|
TEXT_DOCS="pandoc texlive"
|
||||||
|
|
||||||
|
# Shells et terminaux
|
||||||
|
SHELLS="fzf zsh"
|
||||||
|
|
||||||
|
# Autres outils
|
||||||
|
OTHERS="adduser calibre geeqie rsync snapd krita gimp ffmpeg"
|
||||||
|
|
||||||
|
# Fusion des listes et tri alphabétique global
|
||||||
|
ALL_PACKAGES=$(echo "$DEV_TOOLS $LANGUAGES $SYSTEM_TOOLS $BACKUP_SECURITY $NETWORK_SERVER $TEXT_DOCS $SHELLS $OTHERS" | tr ' ' '\n' | sort | tr '\n' ' ')
|
||||||
|
|
||||||
|
# Installation des paquets
|
||||||
|
sudo apt install $ALL_PACKAGES
|
||||||
|
|
||||||
cd $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/bin
|
cd $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/bin
|
||||||
wget https://github.com/nextcloud-releases/desktop/releases/download/v3.16.6/Nextcloud-3.16.6-x86_64.AppImage
|
if [ ! -f "Nextcloud-3.16.6-x86_64.AppImage" ]; then
|
||||||
chmod +x Nextcloud-3.16.6-x86_64.AppImage
|
wget https://github.com/nextcloud-releases/desktop/releases/download/v3.16.6/Nextcloud-3.16.6-x86_64.AppImage
|
||||||
wget https://launchpad.net/veracrypt/trunk/1.26.24/+download/VeraCrypt-1.26.24-x86_64.AppImage
|
chmod +x Nextcloud-3.16.6-x86_64.AppImage
|
||||||
chmod +x VeraCrypt-1.26.24-x86_64.AppImage
|
fi
|
||||||
|
|
||||||
snap install btop
|
if [ ! -f "VeraCrypt-1.26.24-x86_64.AppImage" ]; then
|
||||||
snap install czkawka
|
wget https://launchpad.net/veracrypt/trunk/1.26.24/+download/VeraCrypt-1.26.24-x86_64.AppImage
|
||||||
|
chmod +x VeraCrypt-1.26.24-x86_64.AppImage
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo snap install btop czkawka
|
||||||
snap install emacs --classic
|
snap install emacs --classic
|
||||||
|
|
||||||
cd
|
|
||||||
wget https://source.cipherbliss.com/tykayn/workflow/raw/branch/main/assets/.bash_custom_aliases -O .bash_aliases
|
|
||||||
wget https://source.cipherbliss.com/tykayn/workflow/raw/branch/main/assets/.bashrc
|
|
||||||
wget https://source.cipherbliss.com/tykayn/workflow/raw/branch/main/assets/.zshrc
|
|
||||||
|
|
||||||
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh > install_oh_my_zsh.sh
|
|
||||||
bash install_oh_my_zsh.sh
|
if [ ! -f "$HOME/.oh-my-zsh" ]; then
|
||||||
|
echo -e "\e[31m oh my zsh missing.\e[0m"
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh > install_oh_my_zsh.sh
|
||||||
|
bash install_oh_my_zsh.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
if[! -f $HOME/.oh-my-zsh ]
|
||||||
|
|
548
initialization/functions.sh
Normal file
548
initialization/functions.sh
Normal file
|
@ -0,0 +1,548 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# ----------------- documentation -----------------
|
||||||
|
#
|
||||||
|
# @author functions_sync by @tykayn - contact at cipherbliss.com
|
||||||
|
#!/bin/bash
|
||||||
|
# ----------------- documentation -----------------
|
||||||
|
#
|
||||||
|
# @author functions_sync by @tykayn - contact at cipherbliss.com
|
||||||
|
|
||||||
|
source $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh
|
||||||
|
|
||||||
|
logInOrgmodeInbox() {
|
||||||
|
local message=$1
|
||||||
|
echo "TODO: ERREUR functions sync: /!\ $message" | tee >>$inbox_orgmode
|
||||||
|
echo "CREATED: [$(date +%Y-%m-%d_%H-%M-%S)]" | tee >>$inbox_orgmode
|
||||||
|
}
|
||||||
|
export logInOrgmodeInbox
|
||||||
|
|
||||||
|
if [ ! -f ~/.tk-borg-passphrase-light ]; then
|
||||||
|
logInOrgmodeInbox "$HOST : il manque le fichier de borg passphrase dans ~/.tk-borg-passphrase-light"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --------- log de la date courante -------- #
|
||||||
|
logDate() {
|
||||||
|
echo -e "${txtcyn}${txtbold}---${txtreset}" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo -e "${txtcyn}${txtbold} $1 ${txtreset}" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
|
||||||
|
echo "${txtcyn}---${txtreset} " | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
}
|
||||||
|
export logDate
|
||||||
|
|
||||||
|
#logDate "exclusions de rsync: \n ${exclude_opts[@]}"
|
||||||
|
# --------- syncro uniquement de borg backup -------- #
|
||||||
|
# du -sch /home/poule/borg_archives/backup_land4to
|
||||||
|
clearDiskSyncBorg() {
|
||||||
|
local diskName=$1
|
||||||
|
echo " " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
echo " ---------- sync borg folder to disk $diskName " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
# chech that the disk exists
|
||||||
|
FILE=/media/$USER/$diskName
|
||||||
|
if test -d "$FILE"; then
|
||||||
|
echo "### $FILE , $diskName exists." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
|
||||||
|
echo "### $FILE , dernière syncro:" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
date -r /media/$USER/$diskName/borg_archives/borg2 "+%Y-%m-%d %H:%M:%S" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
|
||||||
|
echo "### ${today} replicate to disk $diskName" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
logDate "disk $diskName : partie $SPACESHIP_NEW_BORG_REPO"
|
||||||
|
# log the date of the last big syncro
|
||||||
|
touch $SPACESHIP_NEW_BORG_REPO/last_synced_from_$HOST.txt
|
||||||
|
date -r /media/$USER/$diskName/borg_archives/borg2 "+%Y-%m-%d %H:%M:%S" >$SPACESHIP_NEW_BORG_REPO/last_synced_from_$HOST.txt
|
||||||
|
|
||||||
|
rsync -avhWP /home/poule/borg_archives /media/$USER/$diskName --perms --delete-before --inplace
|
||||||
|
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo "---- clearDiskSyncBorg $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "### $FILE introuvable." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
export clearDiskSyncBorg
|
||||||
|
|
||||||
|
# syncroniser un laptop avec un disque usb contenant stockage syncable
|
||||||
|
# exemple:
|
||||||
|
# getStockageSyncableFromDisk louisbraille
|
||||||
|
getStockageSyncableFromDisk() {
|
||||||
|
local diskName=$1
|
||||||
|
echo " " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
echo " ---------- get stockage syncable from disk $diskName " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
FILE=/media/$USER/$diskName
|
||||||
|
if test -d "$FILE"; then
|
||||||
|
rsync -avhWP /media/$USER/$diskName/encrypted/stockage-syncable/photos $ARCHIVE_SYNCABLE --perms --delete-before --inplace
|
||||||
|
rsync -avhWP /media/$USER/$diskName/encrypted/stockage-syncable/ressources $ARCHIVE_SYNCABLE --perms --delete-before --inplace
|
||||||
|
rsync -avhWP /media/$USER/$diskName/encrypted/stockage-syncable/dessins $ARCHIVE_SYNCABLE --perms --delete-before --inplace
|
||||||
|
else
|
||||||
|
echo "### $FILE introuvable." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
fi
|
||||||
|
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo "---- get stockage syncable from disk $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
}
|
||||||
|
export getStockageSyncableFromDisk
|
||||||
|
|
||||||
|
clearDiskSyncBorgServer() {
|
||||||
|
local diskName=$1
|
||||||
|
echo " " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
echo " ---------- sync borg server folder to disk $diskName " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
# chech that the disk exists
|
||||||
|
FILE=/media/$USER/$diskName
|
||||||
|
|
||||||
|
# enlever le borg backup d'avant
|
||||||
|
# if test -d "/media/$USER/$diskName/backup_land4to"; then
|
||||||
|
# rm -rf /media/$USER/$diskName/backup_land4to
|
||||||
|
# fi
|
||||||
|
|
||||||
|
if test -d "$FILE"; then
|
||||||
|
echo "### $FILE , $diskName exists." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
echo "### $FILE , dernière syncro:" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
date -r /media/$USER/$diskName/borg_archives/borg2 "+%Y-%m-%d %H:%M:%S" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
|
||||||
|
echo "### ${today} replicate to disk $diskName" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
logDate "disk $diskName : partie borg2"
|
||||||
|
# log the date of the last big syncro
|
||||||
|
touch /home/poule/borg_archives/borg2/last_synced.txt
|
||||||
|
|
||||||
|
mkdir -p /media/$USER/$diskName/borg_archives/production-servers-backup
|
||||||
|
# rsync -avhWP /home/poule/borg_archives/production-servers-backup/rise /media/$USER/$diskName/borg_archives/production-servers-backup --perms --delete-before --inplace
|
||||||
|
|
||||||
|
rsync -avhWP /home/poule/borg_archives/borg2/* /media/$USER/$diskName/borg_archives/borg2/ --perms --delete-before --inplace
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "### $FILE introuvable." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
fi
|
||||||
|
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo "---- clearDiskSyncBorgServer $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
export clearDiskSyncBorgServer
|
||||||
|
|
||||||
|
# --------- recopie des éléments de poule zfs -------- #
|
||||||
|
# les disques de desintation doivent avoir environ 2.5To de place disponible
|
||||||
|
# chacun doit refléter la partie interne de /home/poule ainsi que le dossier music
|
||||||
|
syncToBigDiskName() {
|
||||||
|
local diskName=$1
|
||||||
|
echo " " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
#check that the disk exists
|
||||||
|
FILE=/media/$USER/$diskName
|
||||||
|
|
||||||
|
if test -d "$FILE"; then
|
||||||
|
echo "### $FILE , $diskName exists." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
# tester si y'a de la place disponible
|
||||||
|
if test -d "$stockage_syncable_folder"; then
|
||||||
|
|
||||||
|
echo "### ${today} replicate to disk $diskName" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
|
||||||
|
# logDate "disk $diskName : part home";
|
||||||
|
# rsync -avhWP /home/poule/encrypted/home /media/$USER/$diskName/encrypted --perms --delete-before --inplace "${exclude_opts[@]}"
|
||||||
|
|
||||||
|
logDate "${txtgrn} disk $diskName : part stockage-syncable : ressources ${txtreset}"
|
||||||
|
rsync -avhWP $stockage_syncable_folder/ressources/* /media/$USER/$diskName/encrypted/stockage-syncable/ressources/ --delete-before --inplace "${exclude_opts[@]}"
|
||||||
|
|
||||||
|
logDate "${txtgrn} disk $diskName : part wulfi borg ${txtreset}"
|
||||||
|
|
||||||
|
rsync -avhWP /home/poule/borg_archives/wulfi_backup_borg/ /media/$USER/$diskName/borg_archives/wulfi_backup_borg/ --delete-before --inplace "${exclude_opts[@]}"
|
||||||
|
|
||||||
|
logDate "disk $diskName : syncro borg2"
|
||||||
|
|
||||||
|
clearDiskSyncBorgServer $1
|
||||||
|
|
||||||
|
# log the date of the last big syncro
|
||||||
|
touch /home/poule/encrypted/last_synced.text
|
||||||
|
touch $stockage_syncable_folder/source-is-zfs-spaceship.txt
|
||||||
|
else
|
||||||
|
echo "### le dossier d'archives $stockage_syncable_folder est introuvable. Zfs n'a pas été dévérouillé par l'administrateur " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
fi
|
||||||
|
# else
|
||||||
|
# echo "disque $diskName trop rempli"
|
||||||
|
# notify_desktop "ERREUR Syncronisation de sauvegarde: disque $diskName trop rempli"
|
||||||
|
# fi
|
||||||
|
else
|
||||||
|
echo "### $FILE introuvable." >>$LOG_FILE_BACKUP_DATES
|
||||||
|
fi
|
||||||
|
date "+%Y-%m-%d %H:%M:%S" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo "---- syncToBigDiskName $diskName faite -----------------------" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
|
||||||
|
disque_libre $diskName
|
||||||
|
# marquer visuellement la dernière syncronisation à la racine du disque
|
||||||
|
rm "/media/$USER/$diskName/last synced from $HOST.txt"
|
||||||
|
rm "/media/$USER/$diskName/*synced from $HOST.txt"
|
||||||
|
touch "/media/$USER/$diskName/last synced from $HOST.txt"
|
||||||
|
|
||||||
|
}
|
||||||
|
export syncToBigDiskName
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# --------- le laptop fatland n"a que 2 To de disponible -------- #
|
||||||
|
getwulfinas() {
|
||||||
|
rsync -avhWP "tykayn@192.168.1.15:/volume1/bidules_partagés/wulfila_home/*" /home/poule/encrypted/backup_du_nas/wulfi_home_backup --delete-before --inplace --perms "${exclude_opts[@]}" --exclude "TK-LAND" --exclude=npm --delete-excluded
|
||||||
|
borg create -r /home/poule/borg_archives/wulfi_backup_borg wulfi_backup_borg::wulfi_home_{now} /home/poule/encrypted/backup_du_nas/wulfi_home_backup --progress --stats
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/wulfi_backup_borg
|
||||||
|
}
|
||||||
|
export getwulfinas
|
||||||
|
|
||||||
|
pushnas() {
|
||||||
|
rsync -avPz -e ssh /home/poule/borg_archives/borg2/* "tykayn@192.168.1.15:/volume1/bidules_partagés/backup a ne pas modifier/poule/borg_archives/borg2" --delete-before
|
||||||
|
rsync -avPz -e ssh /home/poule/borg_archives/wulfi_backup_borg/* "tykayn@192.168.1.15:/volume1/bidules_partagés/backup a ne pas modifier/poule/borg_archives/wulfi_backup_borg" --delete-before
|
||||||
|
}
|
||||||
|
export pushnas
|
||||||
|
|
||||||
|
syncdisksusb() {
|
||||||
|
|
||||||
|
syncToBigDiskName brossadent
|
||||||
|
syncToBigDiskName louisbraille
|
||||||
|
syncToBigDiskName rugged
|
||||||
|
syncToBigDiskName hulk
|
||||||
|
syncToBigDiskName ironman
|
||||||
|
|
||||||
|
}
|
||||||
|
export syncdisksusb
|
||||||
|
|
||||||
|
syncfatland() {
|
||||||
|
echo " " >>$LOG_FILE_BACKUP_DATES
|
||||||
|
echo " - envoi vers FATland" >>$LOG_FILE_BACKUP_DATES
|
||||||
|
#### vers le laptop FATland
|
||||||
|
rsync $stockage_syncable_folder/photos/$CURRENT_YEAR tykayn@192.168.1.12:$stockage_syncable_folder/photos -avhWP --delete-before "${exclude_opts[@]}"
|
||||||
|
rsync -avhWP $stockage_syncable_folder/photos/* tykayn@192.168.1.12:$stockage_syncable_folder/photos --delete-before "${exclude_opts[@]}"
|
||||||
|
rsync $stockage_syncable_folder tykayn@192.168.1.12:/home/poule/encrypted -avhWP --delete-before "${exclude_opts[@]}"
|
||||||
|
rsync /home/poule/borg_archives/* tykayn@192.168.1.12:/home/poule/borg_archives -avhWP --delete-before
|
||||||
|
date | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
echo "sync fatland fait" | tee -a $LOG_FILE_BACKUP_DATES 2>&1
|
||||||
|
}
|
||||||
|
export syncfatland
|
||||||
|
# ----------------- BORG -----------------
|
||||||
|
# partie contenant tout stockage-syncable
|
||||||
|
upBorg() {
|
||||||
|
|
||||||
|
#killall borg
|
||||||
|
logDate "### --------- SPACESHIP | creating borg archive at $SPACESHIP_BORG_REPO"
|
||||||
|
rm -rf ~/.cache/borg/150867528afd85114c8aba98af201a7ad8cf01869c507a87c025d2f8701040a9/lock.exclusive
|
||||||
|
rm -rf $SPACESHIP_BORG_REPO/lock.exclusive
|
||||||
|
|
||||||
|
# borg 2 way to create archive, dans /home/poule/borg_archives/borg2
|
||||||
|
borg create encrypted_spaceship_{now} $ARCHIVE_SYNCABLE "${exclude_opts[@]}" --progress --verbose --stats --compression zstd,9 | tee -a $LOG_FILE_BACKUP 2>&1
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/borg2
|
||||||
|
|
||||||
|
# small archive
|
||||||
|
borg create -r /home/poule/borg_archives/small_stockage_syncable small::{now}_stockage_syncable_small /home/poule/encrypted/stockage-syncable/dessins "${exclude_opts[@]}" --progress --verbose --stats --compression zstd,9 --exclude photos --exclude BAZAR --exclude www --exclude archives
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/small_stockage_syncable
|
||||||
|
|
||||||
|
borg create -r /home/poule/borg_archives/borg_tk_stockage_photos stockage_syncable::{now}_photos_only /home/poule/encrypted/stockage-syncable/photos/ --exclude imageries -v --stats --progress --verbose --stats --compression zstd,9
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/borg_tk_stockage_photos
|
||||||
|
|
||||||
|
borg create -r /home/poule/borg_archives/borg_tk_stockage_tout_sauf_photos tout_sauf_photos::stockage_syncable_{now} /home/poule/encrypted/stockage-syncable --exclude photos --progress --stats --compression zstd,9
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/borg_tk_stockage_tout_sauf_photos
|
||||||
|
|
||||||
|
rsync -avhWP "tykayn@192.168.1.15:/volume1/bidules_partagés/wulfila_home/*" /home/poule/encrypted/backup_du_nas/wulfi_home_backup --delete-before --inplace --perms "${exclude_opts[@]}" --exclude "TK-LAND" --exclude=npm --delete-excluded
|
||||||
|
# wulfi backup
|
||||||
|
borg create -r /home/poule/borg_archives/wulfi_backup_borg wulfi_backup_borg::wulfi_home_{now} /home/poule/encrypted/backup_du_nas/wulfi_home_backup --progress --stats
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 -r /home/poule/borg_archives/wulfi_backup_borg
|
||||||
|
|
||||||
|
echo " " | tee -a $LOG_FILE_BACKUP 2>&1
|
||||||
|
logDate "### --------- ${today} | SPACESHIP | pruning old archives" | tee -a $LOG_FILE_BACKUP 2>&1
|
||||||
|
# nettoyage tk_backup
|
||||||
|
borg prune -v --list --stats --keep-daily=8 --keep-weekly=6 --keep-monthly=3 --keep-yearly=2 --repo $SPACESHIP_BORG_REPO | tee -a $LOG_FILE_BACKUP 2>&1
|
||||||
|
logDate "### --------- pruning done"
|
||||||
|
}
|
||||||
|
export upBorg
|
||||||
|
|
||||||
|
getRiseupBorgArchivesToPoule() {
|
||||||
|
rsync -avzPW "tykayn@proxmox.coussinet.org:/poule/encrypted/*" /home/poule/borg_archives/production-servers-backup/rise/encrypted --inplace --delete-before --exclude do_not_sync_back --exclude borgbackup_tkland --exclude backup_land4to --exclude imagerie_carto --exclude borg2 --exclude mastodon
|
||||||
|
|
||||||
|
}
|
||||||
|
export getRiseupBorgArchivesToPoule
|
||||||
|
|
||||||
|
# envoi vers le serveur riseup de l'archive borg2
|
||||||
|
sendBorg2ToRiseupServer() {
|
||||||
|
rsync -avzhWP /home/poule/borg_archives/borg2/* tykayn@proxmox.coussinet.org:/poule/encrypted/borg2 --delete-before
|
||||||
|
|
||||||
|
rsync -avzhWP /home/poule/borg_archives/wulfi_backup_borg/* tykayn@proxmox.coussinet.org:/poule/encrypted/borg_archives/wulfi_backup_borg --delete-before
|
||||||
|
|
||||||
|
}
|
||||||
|
export sendBorg2ToRiseupServer
|
||||||
|
|
||||||
|
upPhotosADispatcher() {
|
||||||
|
cd $stockage_syncable_folder/photos/a_dispatcher
|
||||||
|
/home/tykayn/.local/bin/guessfilename IMG*
|
||||||
|
/home/tykayn/.local/bin/guessfilename *.jpg
|
||||||
|
/home/tykayn/.local/bin/guessfilename *.png
|
||||||
|
/home/tykayn/.local/bin/guessfilename *.mp4
|
||||||
|
/home/tykayn/.local/bin/guessfilename *.avi
|
||||||
|
/home/tykayn/.local/bin/date2name --files -w *.jpg
|
||||||
|
/home/tykayn/.local/bin/date2name --files -w *.png
|
||||||
|
/home/tykayn/.local/bin/date2name --files -w *.mp4
|
||||||
|
/home/tykayn/.local/bin/date2name --files -w *.avi
|
||||||
|
/home/tykayn/.local/bin/filetags "*Capture d'écran*" --tags="screenshots -screenshot"
|
||||||
|
mv $stockage_syncable_folder/photos/a_dispatcher/*screenshot* /home/poule/encrypted/stockage-syncable/photos/screenshots/
|
||||||
|
/home/tykayn/.local/bin/filetags /home/poule/encrypted/stockage-syncable/photos/screenshots/*.jpg --tags="screenshots -screenshot"
|
||||||
|
/home/tykayn/.local/bin/filetags /home/poule/encrypted/stockage-syncable/photos/screenshots/*.png --tags="screenshots -screenshot"
|
||||||
|
/home/tykayn/.local/bin/guessfilename /home/poule/encrypted/stockage-syncable/photos/screenshots/*.jpg
|
||||||
|
/home/tykayn/.local/bin/guessfilename /home/poule/encrypted/stockage-syncable/photos/screenshots/*.png
|
||||||
|
|
||||||
|
mkdir -p $stockage_syncable_folder/photos/$CURRENT_YEAR
|
||||||
|
|
||||||
|
mv $stockage_syncable_folder/photos/a_dispatcher/$CURRENT_YEAR* $stockage_syncable_folder/photos/$CURRENT_YEAR
|
||||||
|
move2archive --archivepath /home/poule/encrypted/stockage-syncable/photos --batchmode 20*
|
||||||
|
}
|
||||||
|
export upPhotosADispatcher
|
||||||
|
|
||||||
|
function syncFromSpaceship() {
|
||||||
|
echo "functions_sync.sh: récupération du dossier stockage syncable depuis spaceship 192.168.1.17"
|
||||||
|
rsync -avzP "tykayn@192.168.1.17:/home/poule/encrypted/stockage-syncable/photos" /home/poule/encrypted/stockage-syncable/ --delete-before --exclude Nextcloud --inplace "${exclude_opts[@]}"
|
||||||
|
}
|
||||||
|
export syncFromSpaceship
|
||||||
|
|
||||||
|
disque_libre() {
|
||||||
|
local disque=$1
|
||||||
|
# vérifier que le disque existe
|
||||||
|
if [ ! -d "/media/$USER/$disque" ]; then
|
||||||
|
# echo "Le disque $disque n'existe pas dans /media/$USER/"
|
||||||
|
if [ -e "/dev/disk/by-label/$disque" ] && [ ! -d "/media/$USER/$disque" ]; then
|
||||||
|
echo "Le disque $disque existe mais n'est pas monté dans /media/$USER/"
|
||||||
|
else
|
||||||
|
echo "Le disque $disque n'existe pas, il n'est probablement pas branché."
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# seuil en Mo
|
||||||
|
local seuil=1024
|
||||||
|
|
||||||
|
local espace_disponible=$(df -H -k --output=avail "/media/$USER/$disque" | tail -n 1 | awk '{print $1}')
|
||||||
|
local espace_disponible_gb=$(echo "scale=2; $espace_disponible/1024/1024" | bc)
|
||||||
|
echo "espace disponible: $espace_disponible_gb GB"
|
||||||
|
if [ "$espace_disponible" -lt "$seuil" ]; then
|
||||||
|
echo "Il reste moins de 1Go d'espace disponible sur le disque $disque"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "Il reste de la place sur le disque $disque"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
export disque_libre
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
# ------- # renommage des fichiers go pro en gardant le nom original et en ajoutant les tags
|
||||||
|
gopro_rename() {
|
||||||
|
|
||||||
|
echo "renommage des fichiers gorpo dans le dossier courant"
|
||||||
|
|
||||||
|
for current_file in ./*; do
|
||||||
|
if [[ $current_file == *"GPFR"* ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "C'est une capture gopro frontale'"
|
||||||
|
exiftool '-filename<CreateDate' -d "%Y-%m-%dT%H.%I.%S%%c %%f -- gopro gopro-front.%%le" $current_file
|
||||||
|
elif [[ $current_file == *"GF"* ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "C'est une capture gopro frontale'"
|
||||||
|
exiftool '-filename<CreateDate' -d "%Y-%m-%dT%H.%I.%S%%c %%f -- gopro gopro-front.%%le" $current_file
|
||||||
|
elif [[ $current_file == *"GPBK"* ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "C'est une capture gopro arrière'"
|
||||||
|
exiftool '-filename<CreateDate' -d "%Y-%m-%dT%H.%I.%S%%c %%f -- gopro gopro-back.%%le" $current_file
|
||||||
|
elif [[ $current_file == *"GB"* ]]; then
|
||||||
|
echo " "
|
||||||
|
echo "C'est une capture gopro arrière'"
|
||||||
|
exiftool '-filename<CreateDate' -d "%Y-%m-%dT%H.%I.%S%%c %%f -- gopro gopro-back.%%le" $current_file
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo " guess file name"
|
||||||
|
guessfilename $current_file
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "fichiers contenant le tag gopro: "
|
||||||
|
ls -larth . | grep " gopro " | wc -l
|
||||||
|
echo " "
|
||||||
|
echo " gopro_rename fini!"
|
||||||
|
}
|
||||||
|
export rename
|
||||||
|
|
||||||
|
|
||||||
|
move_geolocated_files() {
|
||||||
|
# Source directory
|
||||||
|
src_dir="$1"
|
||||||
|
|
||||||
|
# Destination directory
|
||||||
|
dest_dir="/home/poule/encrypted/stockage-syncable/photos/imageries/gopro/assemblages_géolocalisés/"
|
||||||
|
|
||||||
|
mkdir -p "$dest_dir"
|
||||||
|
|
||||||
|
for file in "$src_dir"/*; do
|
||||||
|
# Check if the file is a regular file and not already moved
|
||||||
|
if [[ -f $file && ! -e ${dest_dir}/$file ]]; then
|
||||||
|
# Extract GPS data from EXIF metadata using exiftool command line utility
|
||||||
|
gps=$(exiftool -s3 -GPSLatitude -GPSLongitude "$file")
|
||||||
|
|
||||||
|
# Check if GPS data was found
|
||||||
|
if [[ $gps != "" ]]; then
|
||||||
|
mv "$file" "${dest_dir}/${file}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# ---------- manage log git
|
||||||
|
|
||||||
|
logGit_csv() {
|
||||||
|
git log --pretty=format:"%cd - %an : %s" --graph --since=8.weeks | tee -a log_boulot.org 2>&1
|
||||||
|
}
|
||||||
|
export logGit_csv
|
||||||
|
|
||||||
|
# écrire un log des commits réalisés groupés par jour pour le dossier courant
|
||||||
|
logGit_per_day() {
|
||||||
|
while read -r -u 9 since name; do
|
||||||
|
until=$(date "+%Y-%m-%d %H:%M:%S")
|
||||||
|
|
||||||
|
echo "$since $name"
|
||||||
|
echo
|
||||||
|
|
||||||
|
GIT_PAGER=cat git log \
|
||||||
|
--no-merges \
|
||||||
|
--committer="$name" \
|
||||||
|
--since="$since 00:00:00 +0000" \
|
||||||
|
--until="$until 00:00:00 +0000" \
|
||||||
|
--format=" * [%h] %s"
|
||||||
|
|
||||||
|
echo
|
||||||
|
done 9< <(git log --no-merges --format=$"%cd %cn" --date=short --since=8.weeks | sort --unique --reverse)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export logGit_per_day
|
||||||
|
|
||||||
|
logGit_to_org() {
|
||||||
|
folder_name=${PWD##*/}
|
||||||
|
touch log_git_list.org
|
||||||
|
echo "* Log git $folder_name\n" >log_git_list.org
|
||||||
|
pwd >>log_git_list.org
|
||||||
|
cat log_git_list.org
|
||||||
|
logGit_per_day | tee -a log_git_list.org 2>&1
|
||||||
|
}
|
||||||
|
export logGit_to_org
|
||||||
|
|
||||||
|
updateTags() {
|
||||||
|
cp $WORKFLOW_PATH/files_management/.filetags ~/
|
||||||
|
cp $WORKFLOW_PATH/files_management/.filetags $stockage_syncable_folder/photos
|
||||||
|
|
||||||
|
cat $WORKFLOW_PATH/files_management/.filetags
|
||||||
|
echo "tags mis à jour depuis $WORKFLOW_PATH/files_management/.filetags"
|
||||||
|
}
|
||||||
|
export updateTags
|
||||||
|
|
||||||
|
# trouver un fichier dans mon corpus de textes org qui contient un certain terme recherché
|
||||||
|
trouve()
|
||||||
|
{
|
||||||
|
|
||||||
|
# chercher dans mes textes du dossier orgmode
|
||||||
|
DOSSIER=$orgmode_path
|
||||||
|
|
||||||
|
# Rechercher le mot dans les fichiers du dossier
|
||||||
|
RESULTATS=$(rg -n -i --glob "*.{org,md,txt}" "$1" "$DOSSIER")
|
||||||
|
|
||||||
|
# Proposer de sélectionner le fichier avec fzf
|
||||||
|
SELECTION=$(echo "$RESULTATS" | fzf --prompt "Sélectionner un fichier : ")
|
||||||
|
|
||||||
|
# Ouvrir le fichier sélectionné dans gedit et aller à la ligne du résultat
|
||||||
|
FICHIER=$(echo "$SELECTION" | cut -d: -f1)
|
||||||
|
LIGNE=$(echo "$SELECTION" | cut -d: -f2)
|
||||||
|
|
||||||
|
if [ -n "$FICHIER" ]; then
|
||||||
|
gedit +$LIGNE "$FICHIER"
|
||||||
|
emacsclient --daemon --eval "(find-file \"$FICHIER\")(goto-line $LIGNE)" &
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
export trouve
|
||||||
|
|
||||||
|
# recherche de fichier selon un terme contenu dans son nom
|
||||||
|
trouve_file()
|
||||||
|
{
|
||||||
|
# Définir le dossier à rechercher
|
||||||
|
DOSSIER="."
|
||||||
|
|
||||||
|
# Demander le terme à rechercher
|
||||||
|
TERME=$1
|
||||||
|
|
||||||
|
# Rechercher le terme dans les noms de fichiers avec rg
|
||||||
|
RESULTATS=$(rg -i --files-with-matches --glob "*$TERME*" "$DOSSIER")
|
||||||
|
|
||||||
|
# Proposer de sélectionner le fichier avec fzf
|
||||||
|
SELECTION=$(echo "$RESULTATS" | fzf --prompt "Sélectionner un fichier : ")
|
||||||
|
|
||||||
|
# Ouvrir le fichier sélectionné
|
||||||
|
if [ -n "$SELECTION" ]; then
|
||||||
|
gedit "$SELECTION"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export trouve_file
|
||||||
|
|
||||||
|
# faire une notification sur le bureau quand un disque est plein
|
||||||
|
notify_desktop() {
|
||||||
|
local ICON="dialog-information"
|
||||||
|
local DURATION=10000
|
||||||
|
local TITLE=$1
|
||||||
|
local MESSAGE=$2
|
||||||
|
|
||||||
|
local TIMESTAMP=$(date +%s)
|
||||||
|
local LAST_NOTIFICATION=$(cat /tmp/last_notification 2>/dev/null)
|
||||||
|
|
||||||
|
if [ -z "$LAST_NOTIFICATION" ]; then
|
||||||
|
LAST_NOTIFICATION=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
local ELAPSED_TIME=$((TIMESTAMP - LAST_NOTIFICATION))
|
||||||
|
|
||||||
|
if [ $ELAPSED_TIME -gt 60 ]; then
|
||||||
|
LAST_NOTIFICATION=$TIMESTAMP
|
||||||
|
echo $LAST_NOTIFICATION > /tmp/last_notification
|
||||||
|
notify-send -i "$ICON" -t "$DURATION" "$TITLE" "$MESSAGE"
|
||||||
|
else
|
||||||
|
local NOTIFICATION_COUNT=$(cat /tmp/notification_count 2>/dev/null)
|
||||||
|
if [ -z "$NOTIFICATION_COUNT" ]; then
|
||||||
|
NOTIFICATION_COUNT=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $NOTIFICATION_COUNT -lt 3 ]; then
|
||||||
|
((NOTIFICATION_COUNT++))
|
||||||
|
echo $NOTIFICATION_COUNT > /tmp/notification_count
|
||||||
|
notify-send -i "$ICON" -t "$DURATION" "$TITLE" "$MESSAGE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export notify_desktop
|
||||||
|
|
||||||
|
## rsync qui vérifie les erreurs et fait une notification de bureau
|
||||||
|
rsync_secure() {
|
||||||
|
local SOURCE=$1
|
||||||
|
local DESTINATION=$2
|
||||||
|
shift 2
|
||||||
|
local RSYNC_OPTIONS=("$@")
|
||||||
|
|
||||||
|
if [ ! -d "$SOURCE" ]; then
|
||||||
|
notify_desktop "Erreur" "Le dossier source n'existe pas" "Veuillez vérifier le chemin du dossier source"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$DESTINATION" ]; then
|
||||||
|
notify_desktop "Erreur" "Le dossier de destination n'existe pas" "Veuillez vérifier le chemin du dossier de destination"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local DISK_SPACE=$(df -h "$DESTINATION" | awk '{print $5}' | sed's/%//g')
|
||||||
|
if [ $DISK_SPACE -gt 90 ]; then
|
||||||
|
notify_desktop "Erreur" "La destination est trop remplie" "Veuillez libérer de l'espace disque avant de poursuivre. Dossier: $DESTINATION"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rsync "${RSYNC_OPTIONS[@]}" "$SOURCE" "$DESTINATION"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
notify_desktop "Erreur" "Erreur lors de la synchronisation" "Veuillez vérifier les journaux pour plus d'informations"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
notify_desktop "Succès" "La synchronisation a été effectuée avec succès" ""
|
||||||
|
}
|
||||||
|
export rsync_secure
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# ajouter dans les scripts avec cette ligne:
|
# ajouter dans les scripts avec cette ligne:
|
||||||
#
|
#
|
||||||
# source ~/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh
|
# source $HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.sh
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
export load_only_once=true
|
export load_only_once=true
|
||||||
|
@ -20,14 +20,15 @@ if [ -z ${load_only_once+x} ]; then
|
||||||
export backup_laptop_archive_path="/home/poule/backup/encrypted"
|
export backup_laptop_archive_path="/home/poule/backup/encrypted"
|
||||||
|
|
||||||
|
|
||||||
export WORKFLOW_PATH=~/Nextcloud/ressources/workflow_nextcloud
|
export WORKFLOW_PATH=$HOME/Nextcloud/ressources/workflow_nextcloud
|
||||||
export WORKFLOW_PATH_PUBLIC=~/Nextcloud/ressources/workflow_nextcloud/public_workflow
|
export WORKFLOW_PATH_PUBLIC=$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow
|
||||||
|
export WORKFLOW_PUBLIC_PATH=$WORKFLOW_PATH_PUBLIC
|
||||||
export WORKFLOW_PATH_ROOT=/home/$main_user/Nextcloud/ressources/workflow_nextcloud
|
export WORKFLOW_PATH_ROOT=/home/$main_user/Nextcloud/ressources/workflow_nextcloud
|
||||||
export ALIASES_PATH=$WORKFLOW_PATH_PUBLIC/assets/.bash_custom_aliases
|
export ALIASES_PATH=$WORKFLOW_PATH_PUBLIC/assets/.bash_custom_aliases
|
||||||
# fichiers orgmode, wiki personnel
|
# fichiers orgmode, wiki personnel
|
||||||
export orgmode_path=~/Nextcloud/textes/orgmode
|
export orgmode_path=$HOME/Nextcloud/textes/orgmode
|
||||||
export inbox_orgmode=$orgmode_path/incoming_inbox.org
|
export inbox_orgmode=$orgmode_path/incoming_inbox.org
|
||||||
export orgroam_path=~/Nextcloud/textes/orgmode/org-roam
|
export orgroam_path=$HOME/Nextcloud/textes/orgmode/org-roam
|
||||||
export backup_texts_folder=~/archives/backup_automatique
|
export backup_texts_folder=~/archives/backup_automatique
|
||||||
export HOME_OF_SCRIPTS=$www_folder/scripts
|
export HOME_OF_SCRIPTS=$www_folder/scripts
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue