Portál AbcLinuxu, 2. listopadu 2025 03:22
Výchozí situace:
Uživatel potřebuje odeslat větší množství obrázků z fotoaparátu e-mailem. Hromadná úprava v Gimpu či jiných aplikacích je zdlouhavá. Na linuxových stanicích mám Fedoru s KDE.
Skript pro úpravu a odeslání obrázků pomocí Kmailu:
Název souboru: mailimages
#!/bin/bash archive_basename=images.zip archive_dir=/tmp archive=$archive_dir/$archive_basename dialog=$(kdialog --title ' Úprava obrázků pro e-mail' --progressbar 'Úprava obrázků pro e-mail' $#) current_step=0 for src in "$@" do echo "--------------> $src" name=$(basename $src) dst="/tmp/$name" dcop $dialog setLabel "Upravuji $name" convert -geometry 800x600 -quality 75 "$src" "$dst" && zip "$archive" "$dst" && rm "$dst" current_step=$(($current_step+1)) dcop $dialog setProgress $current_step done dcop $dialog setLabel "Otevírám editor e-mailů.." kmail=$(dcopstart kmail) dcop $kmail KMailIface openComposer "" "" "" "" " Připojeno je několik obrázků v archivu $archive_basename" "" "" "$archive" dcop $dialog close kdialog --msgbox "Nyní můžete odeslat svoji e-mailovou zprávu!" --title "Oznámení" rm "$archive"
Umístění do menu Činnosti pod pravým tlačítkem myši:
Soubor s názvem .desktop umístíme do /usr/share/apps/konqueror/servicemenus
[Desktop Entry] ServiceTypes=image/* Actions=mail_images [Desktop Action mail_images] Name=Poslat obrázky e-mailem Exec=mailimages %U
Podobná úprava bez odesílání kmailem:
#!/bin/bash archive_basename=images.zip archive_dir=/tmp archive=$archive_dir/$archive_basename dialog=$(kdialog --title 'Právě probíhá úprava obrázků' --progressbar 'Právě probíhá úprava obrázků' $#) current_step=0 for src in "$@" do echo "--------------> $src" name=$(basename $src) dst="/tmp/$name" dcop $dialog setLabel "Upravuji $name" convert -geometry 800x600 -quality 75 "$src" "$dst" && zip "$archive" "$dst" && rm "$dst" current_step=$(($current_step+1)) dcop $dialog setProgress $current_step done dcop $dialog setLabel "Otevírám výsledek v novém okně.." konqueror=$(dcopstart konqueror /tmp/images.zip) dcop $dialog close kdialog --msgbox "Kliknutím na tlačítko OK vymažete archiv z dočasného adresáře." --title "Oznámení" rm "$archive"
Zdroje (děkuji):
* Linux + 2/2007: Charles Fleche: Ahtomatizace KDE
* ABC Linuxu: KDE: tipy a triky - III (DCOP a KDialog)
Tiskni
Sdílej:
current_step=$(($current_step+1))((current_step++))
name=$(basename $src)Lepší bude tohle:
name=${src##*/}
Zdravím. Díky za reakci. Mám k tomu několik poznámek, přesto bych byl rád, kdybys mi na ně odpověděl, protože pokud to budeš považovat za neetické příspěvek rád smažu:
1) Článek mne inspiroval přesto postup není okopírovaný. Prošel jsem jím řádek za řádkem, vyzkoušel ho, odstranil chyby a upravil jsem postup a rozšířil ho pro svou potřebu. (Skript z Linux + korektně nefungoval. Kromě toho si myslím, že se toho nedá moc nového v tomto směru vymyslet...)
2) Uvedl jsem jej do blogu jako svůj osobní záznam (abych to nemusel příště hledat) s úmyslem, že to někomu může pomoct a právě proto, že jsem se inspiroval nepsal jsem to jako článek ale jako "zápisek".
3) I přes výše uvedené skutečnosti jsem uvedl oba zdroje ze kterých jsem při "revizi" čerpal.
Já opravu nevím. Pokud je to i tak "neetické" mohu to (bez problémů smazat). Takže prosím o radu - domníval jsem se, že to takto mohu udělat a že to navíc může být pro leckoho užitečné. Díky za názor.
. Naopak jsem rád za to co jsi napsal a klidně bych to odstranil.
Ty úpravy nejsou velké (ale dalo mi práci to projít
. Hlavní problém byl např. v tom, že se archivní soubor vymazal dřív než se stačil překopírovat jako příloha do mailu. Takže jsem to chvíli různými způsoby řešil až jsem nakonec použil jako mezikrok okno "Nyní můžete odeslat svoji e-mailovou zprávu!" a teprve po jeho odkliknutí se dočasný soubor smaže (těch hlášení a variant jsem měl víc, ale tohle se mi nakonec zdálo být nejvíce neutrální
).
.
PS: Děkuju za Tvůj příspěvek
A jak jsem psal, že mám podobnou zkušenost, tak jsem něco podobného zažil také u nějakého návodu z Linux+. Ten časopis mi přijde občas dost odfláknutý (na obálce je něco, co uvnitř čísla chybí, v obsahu DVD je něco, co tam také není, není slibovali do příštího čísla článek, na který jsem se těšil, a kde nic, tu nic, k tomu spousta gramatických chyb), ale stejně ho mám rád
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.