Страница 10 из 10
Контекстное меню ФМ nemo
Добавлено: 16 мар 2019, 15:38
root
demonlibra, странно, что я на этот анекдот раньше не натыкался
demonlibra писал(а): ↑16 мар 2019, 14:51
zip конечно самый распространенный тип архивов в сети и поддерживается из коробки большим количеством операционных систем, но с безопасностью он в полной ж...
Возможно и так, я не задавался вопросом безопасности zip. Может и реализую комбо бокс с возможность выбора методов архивации. Но это не задача сегодняшнего дня, по крайней мере для меня. Возможно, кто-нибудь преуспеет раньше и поделится со всеми своим решением)
Контекстное меню ФМ nemo
Добавлено: 24 мар 2019, 22:30
demonlibra
Для тех кто в qbittorrent добавляет сразу много загрузок и не хочет указывать параметры для каждого диалогового окна
Код: Выделить всё
[Nemo Action]
Active=true
Name=Добавить в qbittorrent
Comment=Добавить в qbittorrent
Exec=<qbittorrent.sh %F>
Selection=m
Extensions=torrent
Quote=double
Код: Выделить всё
#!/bin/bash
FORM=`yad --borders=10 --title="qbittorent" --text="" --text-align=center --form --separator="," --item-separator="|" --field=:LBL --field="Путь для загрузки:DIR" --field="Пропустить диалоговые окна:CHK" --field="Загружать последовательно:CHK" --field="Загружать с первой и последней части:CHK" --field="Добавить остановленными:CHK" "" "" TRUE TRUE TRUE FALSE`
if [ $? = 0 ]
then
options=""
path=$( echo $FORM | awk -F ',' '{print $2}')
skip_dialog=$( echo $FORM | awk -F ',' '{print $3}')
if [ "$skip_dialog" = "TRUE" ]; then options=$options" --skip-dialog"; fi #Пропустить диалоговые окна
sequential=$( echo $FORM | awk -F ',' '{print $4}')
if [ "$sequential" = "TRUE" ]; then options=$options" --sequential"; fi #Загружать последовательно
first_and_last=$( echo $FORM | awk -F ',' '{print $5}')
if [ "$first_and_last" = "TRUE" ]; then options=$options" --first-and-last"; fi #Загружать с первой и последней части
pause=$( echo $FORM | awk -F ',' '{print $6}')
if [ "$pause" = "TRUE" ]; then options=$options" --add-paused=TRUE"; fi #Добавить остановленными
qbittorrent --save-path="$path" $options "$@"
fi
Контекстное меню ФМ nemo
Добавлено: 25 мар 2019, 20:43
demonlibra
Faust3000 писал(а): ↑22 янв 2019, 11:22
КМ для смены кодировки текстовых файлов на системную UTF-8. Пригодится при использовании текстовых файлов с Винды, когда в Текстовом редакторе вместо кириллицы отображаются кракозябры. Перекодировать можно как и отдельный файл, так и несколько.
Для работы потребуется пакет
enca.
sudo apt install enca
Код: Выделить всё
[Nemo Action]
Name=Перекодировать в UTF-8
Comment=Перекодировать в UTF-8
Icon-Name=kr_comparedirs
Exec=enconv -x utf-8 %F
Selection=notnone
Mimetypes=text/*;
EscapeSpaces=true
Dependencies=enca;
Развил чутка. Отображение кодировок выделенных файлов. Выбор кодировки. Автоматическое изменение кодировки по умолчанию.
Код: Выделить всё
[Nemo Action]
Name=Изменить кодировку текстовых файлов
Comment=Изменить кодировку текстовых файлов при помощи enconv
Icon-Name=kr_comparedirs
Exec=<txt_convert_encoding.sh %F>
Selection=notnone
#Extensions=txt;
Mimetypes=text/*;
EscapeSpaces=true
Dependencies=enca;
Код: Выделить всё
#!/bin/bash
encoding1=`enca -i "$1"`
identical="TRUE"
encoding_default="^UTF-8|CP1251"
text="Выделенные файлы имеют следующую кодировку:\n\n"
for file in "$@" #Перебор всех файлов и определение кодировки
do
name=${file##*/} #Имя файла без пути
encoding=`enca -i "$file"` #Кодировка файла
if [[ "$encoding1" != $encoding ]] #Одинаковые ли кодировки?
then identical="FALSE"
fi
length=${#name}
if (( $length <= 8 )); then tab="\t\t\t\t\t" #Определение количества знаков табуляции
elif (( $length >= 9 )) && (( $length < 12 )); then tab="\t\t\t\t"
elif (( $length >= 12 )) && (( $length < 15 )); then tab="\t\t\t"
elif (( $length >= 15 )) && (( $length < 18 )); then tab="\t\t"
elif (( $length >= 19 )); then tab="\t"
fi
text="$text$name$tab$encoding\n" #Текст для формы, если кодировки разные
done
if [[ "$identical" = "TRUE" ]] #Параметры для формы, если кодировки одинаковые
then
text="У всех файлов кодировка:\t$encoding1"
if [[ "$encoding1" = "UTF-8" ]] #Назначение кодировки по умолчанию
then encoding_default="UTF-8|^CP1251"
else encoding_default="^UTF-8|CP1251"
fi
fi
FORM=`yad --borders=10 --width=400 --title="Изменить кодировку текстовых файлов" --text="$text" --text-align=left --form --separator="," --item-separator="|" --form --field=:LBL --field="Преобразовать в:CB" "" "$encoding_default"`
if [ $? = 0 ]
then
encoding=$( echo $FORM | awk -F ',' '{print $2}')
enconv -x $encoding "$@"
fi
---
ПС Подскажите элегантный способ вставить нужное количество знаков табуляции.
Контекстное меню ФМ nemo
Добавлено: 26 мар 2019, 02:51
root
demonlibra писал(а): ↑25 мар 2019, 20:43
ПС Подскажите элегантный способ вставить нужное количество знаков табуляции.
Пока что на уровне первой идеи:
Цикл
1) Взять самое длинное имя файла (т.е. его
длину, назовем её MAX) и от него плясать:
2) Брать следующие имена (N_Name)
3) (MAX минус N_Name) поделить на длину таба (я не знаю, сколько в стандарте его длина)
4) N_Name присвоить N_Name + полученное число табов в предыдущем пункте (как вариант - реализация через функцию с циклом for, который принимает из функции значение кол-ва табов и на каждом шаге присваивает по одному табу)
5) Вывести список имен с базовым числом табов после имени
Главный вопрос: нужно ли это? Ведь можно сначала выводить кодировку, а уже потом имя файла?
Контекстное меню ФМ nemo
Добавлено: 26 мар 2019, 08:04
demonlibra
root писал(а): ↑26 мар 2019, 02:51
Главный вопрос: нужно ли это? Ведь можно сначала выводить кодировку, а уже потом имя файла?

Гениально. Я не догадался.
Контекстное меню ФМ nemo
Добавлено: 26 мар 2019, 09:05
root
demonlibra, вообще, коли такие танцы, по-моему мнению, более логичный путь - вывод не в виде
Код: Выделить всё
UTF-8 Файл1
ASCII Файл2
ASCII Файл3
UTF-8 Файл4
....
А в виде
Код: Выделить всё
Файлы с кодировкой UTF-8:
Файл1
Файл4
Файлы с кодировкой ASCII:
Файл2
Файл3
...
Это, конечно, несильно, но усложнит код, однако зрительно воспринимать такой список (особенно, когда он большой) - станет проще.
Контекстное меню ФМ nemo
Добавлено: 26 мар 2019, 23:31
demonlibra
Пожалуй, мне мой вариант больше подходит.
Контекстное меню ФМ nemo
Добавлено: 04 апр 2019, 12:51
root
Переосмыслено/переработано КМ "
Монтирование торрент-файлов"