Контекстное меню ФМ nemo (тема от root/adminka)

Аватара пользователя

Автор темы
root
Сообщения: 942
Зарегистрирован: 16 фев 2017, 17:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 284 раза
Поблагодарили: 259 раз

Контекстное меню ФМ nemo

Сообщение root » 16 мар 2019, 12:38

demonlibra, странно, что я на этот анекдот раньше не натыкался :joke:
demonlibra писал(а):
16 мар 2019, 11:51
zip конечно самый распространенный тип архивов в сети и поддерживается из коробки большим количеством операционных систем, но с безопасностью он в полной ж...
Возможно и так, я не задавался вопросом безопасности zip. Может и реализую комбо бокс с возможность выбора методов архивации. Но это не задача сегодняшнего дня, по крайней мере для меня. Возможно, кто-нибудь преуспеет раньше и поделится со всеми своим решением)
Вы не готовы! :pc2:
Изображение

Аватара пользователя

demonlibra
Сообщения: 152
Зарегистрирован: 12 авг 2017, 06:09
Решено: 1
Благодарил (а): 4 раза
Поблагодарили: 44 раза

Контекстное меню ФМ nemo

Сообщение demonlibra » 24 мар 2019, 19:30

Для тех кто в 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
ZXSpectrum→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-19
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

demonlibra
Сообщения: 152
Зарегистрирован: 12 авг 2017, 06:09
Решено: 1
Благодарил (а): 4 раза
Поблагодарили: 44 раза

Контекстное меню ФМ nemo

Сообщение demonlibra » 25 мар 2019, 17:43

Faust3000 писал(а):
22 янв 2019, 08: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
---
ПС Подскажите элегантный способ вставить нужное количество знаков табуляции.
ZXSpectrum→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-19
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
root
Сообщения: 942
Зарегистрирован: 16 фев 2017, 17:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 284 раза
Поблагодарили: 259 раз

Контекстное меню ФМ nemo

Сообщение root » 25 мар 2019, 23:51

demonlibra писал(а):
25 мар 2019, 17:43
ПС Подскажите элегантный способ вставить нужное количество знаков табуляции.
Пока что на уровне первой идеи:
Цикл
1) Взять самое длинное имя файла (т.е. его длину, назовем её MAX) и от него плясать:
2) Брать следующие имена (N_Name)
3) (MAX минус N_Name) поделить на длину таба (я не знаю, сколько в стандарте его длина)
4) N_Name присвоить N_Name + полученное число табов в предыдущем пункте (как вариант - реализация через функцию с циклом for, который принимает из функции значение кол-ва табов и на каждом шаге присваивает по одному табу)
5) Вывести список имен с базовым числом табов после имени

Главный вопрос: нужно ли это? Ведь можно сначала выводить кодировку, а уже потом имя файла?
Вы не готовы! :pc2:
Изображение

Аватара пользователя

demonlibra
Сообщения: 152
Зарегистрирован: 12 авг 2017, 06:09
Решено: 1
Благодарил (а): 4 раза
Поблагодарили: 44 раза

Контекстное меню ФМ nemo

Сообщение demonlibra » 26 мар 2019, 05:04

root писал(а):
25 мар 2019, 23:51
Главный вопрос: нужно ли это? Ведь можно сначала выводить кодировку, а уже потом имя файла?
:bravo: Гениально. Я не догадался.
ZXSpectrum→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-19
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
root
Сообщения: 942
Зарегистрирован: 16 фев 2017, 17:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 284 раза
Поблагодарили: 259 раз

Контекстное меню ФМ nemo

Сообщение root » 26 мар 2019, 06:05

demonlibra, вообще, коли такие танцы, по-моему мнению, более логичный путь - вывод не в виде

Код: Выделить всё

UTF-8   Файл1
ASCII   Файл2
ASCII   Файл3
UTF-8   Файл4
....
А в виде

Код: Выделить всё

Файлы с кодировкой UTF-8:
Файл1
Файл4

Файлы с кодировкой ASCII:
Файл2
Файл3
...
Это, конечно, несильно, но усложнит код, однако зрительно воспринимать такой список (особенно, когда он большой) - станет проще.
Вы не готовы! :pc2:
Изображение

Аватара пользователя

demonlibra
Сообщения: 152
Зарегистрирован: 12 авг 2017, 06:09
Решено: 1
Благодарил (а): 4 раза
Поблагодарили: 44 раза

Контекстное меню ФМ nemo

Сообщение demonlibra » 26 мар 2019, 20:31

Пожалуй, мне мой вариант больше подходит.
ZXSpectrum→Ms-Dos→W95→W98→Me→XP→W7→Ubuntu 15.10→Xubuntu 16.04→Linux Mint 18.2-19
Контекстное меню Nemo
Сценарий вывода данных оценки ресурса диска SSD

Аватара пользователя

Автор темы
root
Сообщения: 942
Зарегистрирован: 16 фев 2017, 17:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 284 раза
Поблагодарили: 259 раз

Контекстное меню ФМ nemo

Сообщение root » 04 апр 2019, 09:51

Переосмыслено/переработано КМ "Монтирование торрент-файлов"

Работу КМ прекрасно демонстрирует эта gif-ка

Вы не готовы! :pc2:
Изображение

Вернуться в «Руководства»