Skapar ett till alternativ under åtgärder (Skapa kopia) i menyn som dyker upp när man högerklickar på en fil.
Man får namnge en ny kopia av filen så om man vill göra en kopia i samma mapp som man är i och ge den ett valfritt namn så är det bara ett klick bort.
i mappen
~/.kde/share/kde4/services/
skapade jag filen backupFile.desktop. Det är viktigt att den slutar på .desktop
Detta ska filen inehålla:
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/octet-stream;
Actions=backupFile
[Desktop Action backupFile]
Name=Skapa kopia
Icon=background
Exec=~/bin/cp_backup_dialog.sh %u
MimeTypen som jag har angett gör att meny alternativet Skapa kopia visas för alla sorters filer men inget annat.
Actions visar vilka actions som finns tillgängliga. Här finns det bara en tillgänglig, backupFile.
Icon visar en icon annars visas bara text i menyn.
Exec=~/bin/cp_backup_dialog.sh %u kör ett skript som jag har gjort och %u gör att sökvägen och filnamnet på den filen man har högerklickat på skickas till skriptet.
Här är skriptet:
01if [[ -f "$1" ]]; then # True if FILE exists and is a regular file.
02 selectedFile="$1"
03 backupPathName=$(zenity --text="Skriv in namnet för kopian och eventuell ny sökvägen." --entry-text="$selectedFile" --entry)
04 if [[ $? == 0 ]]; then # True if previos command exicutet correctly.
05 backupname=${backupPathName##*/}
06 if [[ -n "$backupname" ]]; then # True if the length of "STRING" is non-zero. -n
07 if [[ -a "$backupPathName" ]]; then # True if FILE exists.
08 if zenity --question --ok-label=JA --cancel-label=NEJ --text="Filen $backupname finns redan, vill du skriva över den?"; then
09 if [[ -w "$backupPathName" ]]; then # True if FILE exists and is writable.
10 cp "$1" "$backupPathName"
11 if [[ $? == 0 ]] ; then # True if previos command exicutet correctly.
12 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
13 else
14 zenity --info --text "Backupen misslyckades, kanske har du inte skrivrättigheter här"
15 fi
16 else
17 zenity --info --text "Filen $backupPathName är skrivskyddad så backupen kunde inte tas."
18 fi
19 else
20 zenity --info --text "Backupen är ej genomförd"
21 fi
22 else
23 cp "$1" "$backupPathName"
24 if [[ $? == 0 ]] ; then # True if previos command exicutet$backupname correctly.
25 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
26 else
27 zenity --info --text "Backupen misslyckades, kansk $backupnamee har du inte skrivrättigheter här eller så finns inte mappen du angav."
28 fi
29 fi
30 else
31 zenity --info --text "Backupen är ej genomförd, du namngav inte filen."
32 fi
33 else
34 zenity --info --text "Backupen är ej genomförd"
35 fi
36else
37 zenity --info --text "Du har inte valt någon fil."
38fi
02 selectedFile="$1"
03 backupPathName=$(zenity --text="Skriv in namnet för kopian och eventuell ny sökvägen." --entry-text="$selectedFile" --entry)
04 if [[ $? == 0 ]]; then # True if previos command exicutet correctly.
05 backupname=${backupPathName##*/}
06 if [[ -n "$backupname" ]]; then # True if the length of "STRING" is non-zero. -n
07 if [[ -a "$backupPathName" ]]; then # True if FILE exists.
08 if zenity --question --ok-label=JA --cancel-label=NEJ --text="Filen $backupname finns redan, vill du skriva över den?"; then
09 if [[ -w "$backupPathName" ]]; then # True if FILE exists and is writable.
10 cp "$1" "$backupPathName"
11 if [[ $? == 0 ]] ; then # True if previos command exicutet correctly.
12 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
13 else
14 zenity --info --text "Backupen misslyckades, kanske har du inte skrivrättigheter här"
15 fi
16 else
17 zenity --info --text "Filen $backupPathName är skrivskyddad så backupen kunde inte tas."
18 fi
19 else
20 zenity --info --text "Backupen är ej genomförd"
21 fi
22 else
23 cp "$1" "$backupPathName"
24 if [[ $? == 0 ]] ; then # True if previos command exicutet$backupname correctly.
25 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
26 else
27 zenity --info --text "Backupen misslyckades, kansk $backupnamee har du inte skrivrättigheter här eller så finns inte mappen du angav."
28 fi
29 fi
30 else
31 zenity --info --text "Backupen är ej genomförd, du namngav inte filen."
32 fi
33 else
34 zenity --info --text "Backupen är ej genomförd"
35 fi
36else
37 zenity --info --text "Du har inte valt någon fil."
38fi
För en mer ordentlig genomgång hur allt fungerar(inte mitt skript men resten) så kolla in