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
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -3,3 +3,5 @@
|
|||
|
||||
bin/Nextcloud*
|
||||
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
|
||||
# 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/initialization/functions.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 ###########
|
||||
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
|
||||
alias goj="ssh -p 3910 tykayn@bbb.liness.org"
|
||||
|
@ -106,8 +106,6 @@ alias hgrep="history |grep"
|
|||
alias whatport="sudo netstat -pna | grep "
|
||||
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 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
|
||||
|
||||
|
@ -239,7 +237,7 @@ function gc() {
|
|||
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="~/.npm-global/bin:$PATH"
|
||||
export PATH="$PATH:$HOME/.npm-global/bin"
|
||||
|
@ -251,3 +249,7 @@ eval "$(zoxide init zsh)" # zoxyde, navigation de dossier avec fuzzy finder
|
|||
|
||||
export alias please='sudo !!'
|
||||
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
|
||||
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=""
|
||||
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
|
||||
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
|
||||
|
||||
source "$HOME/Nextcloud/ressources/workflow_nextcloud/public_workflow/workflow_variables.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
|
||||
wget https://github.com/nextcloud-releases/desktop/releases/download/v3.16.6/Nextcloud-3.16.6-x86_64.AppImage
|
||||
chmod +x 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 VeraCrypt-1.26.24-x86_64.AppImage
|
||||
if [ ! -f "Nextcloud-3.16.6-x86_64.AppImage" ]; then
|
||||
wget https://github.com/nextcloud-releases/desktop/releases/download/v3.16.6/Nextcloud-3.16.6-x86_64.AppImage
|
||||
chmod +x Nextcloud-3.16.6-x86_64.AppImage
|
||||
fi
|
||||
|
||||
snap install btop
|
||||
snap install czkawka
|
||||
if [ ! -f "VeraCrypt-1.26.24-x86_64.AppImage" ]; then
|
||||
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
|
||||
|
||||
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
|
||||
# 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
|
||||
|
@ -20,14 +20,15 @@ if [ -z ${load_only_once+x} ]; then
|
|||
export backup_laptop_archive_path="/home/poule/backup/encrypted"
|
||||
|
||||
|
||||
export WORKFLOW_PATH=~/Nextcloud/ressources/workflow_nextcloud
|
||||
export WORKFLOW_PATH_PUBLIC=~/Nextcloud/ressources/workflow_nextcloud/public_workflow
|
||||
export WORKFLOW_PATH=$HOME/Nextcloud/ressources/workflow_nextcloud
|
||||
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 ALIASES_PATH=$WORKFLOW_PATH_PUBLIC/assets/.bash_custom_aliases
|
||||
# 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 orgroam_path=~/Nextcloud/textes/orgmode/org-roam
|
||||
export orgroam_path=$HOME/Nextcloud/textes/orgmode/org-roam
|
||||
export backup_texts_folder=~/archives/backup_automatique
|
||||
export HOME_OF_SCRIPTS=$www_folder/scripts
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue