Browse Source

Множественные мелкие правки

master
parent
commit
324e63a758
  1. 335
      MouseGestures/Gesturefy 3.2.12 Thu Feb 13 2025.json
  2. 83
      Script/alias_config
  3. 57
      install.sh
  4. 3
      video_tools/img_and_wav2video

335
MouseGestures/Gesturefy 3.2.12 Thu Feb 13 2025.json

@ -0,0 +1,335 @@
{
"Gestures": [
{
"pattern": [
[
-37,
-25
],
[
-88,
-11
],
[
-50,
17
],
[
-63,
62
],
[
-22,
68
],
[
4,
50
],
[
33,
49
],
[
84,
43
],
[
105,
-4
],
[
46,
-24
],
[
22,
-27
],
[
8,
-23
],
[
-4,
-44
],
[
-16,
-17
],
[
-56,
-17
],
[
-77,
8
]
],
"command": {
"name": "OpenAddonSettings"
}
},
{
"pattern": [
[
0,
1
]
],
"command": {
"name": "ScrollBottom",
"settings": {
"duration": 100
}
}
},
{
"pattern": [
[
0,
-1
]
],
"command": {
"name": "ScrollTop",
"settings": {
"duration": 100
}
}
},
{
"pattern": [
[
1,
0
]
],
"command": {
"name": "PageForth"
}
},
{
"pattern": [
[
-1,
0
]
],
"command": {
"name": "PageBack"
}
},
{
"pattern": [
[
-205,
-4
],
[
-2,
-128
]
],
"command": {
"name": "ScrollTop",
"settings": {
"duration": 100
}
}
},
{
"pattern": [
[
-231,
-19
],
[
-11,
182
]
],
"command": {
"name": "ScrollBottom",
"settings": {
"duration": 100
}
}
},
{
"pattern": [
[
-1,
-227
],
[
-10,
-8
],
[
-210,
-4
]
],
"command": {
"name": "FocusLeftTab",
"settings": {
"cycling": true,
"excludeDiscarded": false
}
}
},
{
"pattern": [
[
-11,
-287
],
[
10,
-5
],
[
264,
0
]
],
"command": {
"name": "FocusRightTab",
"settings": {
"cycling": true,
"excludeDiscarded": false
}
}
},
{
"pattern": [
[
-8,
252
],
[
190,
12
]
],
"command": {
"name": "CloseTab",
"settings": {
"nextFocus": "default",
"closePinned": true
}
}
},
{
"pattern": [
[
297,
6
],
[
-322,
-10
]
],
"command": {
"name": "RestoreTab",
"settings": {
"currentWindowOnly": true
}
}
},
{
"pattern": [
[
-284,
0
],
[
335,
-5
]
],
"command": {
"name": "NewTab",
"settings": {
"position": "default",
"focus": true
}
}
},
{
"pattern": [
[
-21,
-318
],
[
16,
327
]
],
"command": {
"name": "ReloadTab",
"settings": {
"cache": false
}
}
},
{
"pattern": [
[
4,
-282
],
[
-1,
332
],
[
16,
-334
]
],
"command": {
"name": "ReloadTab",
"settings": {
"cache": true
}
}
},
{
"pattern": [
[
256,
-1
],
[
22,
-25
],
[
19,
-221
],
[
0,
235
]
],
"command": {
"name": "MinimizeWindow"
}
}
],
"Settings": {
"Wheel": {
"active": true,
"mouseButton": "2"
},
"General": {
"theme": "dark"
}
}
}

83
Script/alias_config

@ -4,37 +4,46 @@ prefix='al_'
mkalias_with_prefix()
{
alias ${prefix}$1="$1"
alias ${prefix}$1="$1"
}
pdf_a5()
{
pdfjam "$1" --scale 0.71 --offset '0 50mm' -o "a5_$1"
[ $1 == '' ] && printf "Преобразование pdf к формату А5\nОшибка! Укажите входной файл\n" && return
pdfjam "$1" --scale 0.71 --offset '0 50mm' -o "a5_$1"
}
mkalias_with_prefix 'pdf_a5'
pdf_a6()
{
pdfjam "$1" --scale 0.5 --offset '0 75mm' -o "a6_$1"
[ $1 == '' ] && printf "Преобразование pdf к формату А6\nОшибка! Укажите входной файл\n" && return
pdfjam "$1" --scale 0.5 --offset '0 75mm' -o "a6_$1"
}
mkalias_with_prefix 'pdf_a6'
pdf_pagenum()
{
pdfjam --preamble '\usepackage{fancyhdr} \pagestyle{fancy} \topmargin -65pt \oddsidemargin 150pt \rfoot{} \cfoot{} \rhead{} \chead{\Large\thepage} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} ' --pagecommand '\thispagestyle{fancy}' -o "pagenum_$1" "$1"
[ $1 == '' ] && printf "Добавить номер страницы в pdf\nОшибка! Укажите входной файл\n" && return
pdfjam --preamble '\usepackage{fancyhdr} \pagestyle{fancy} \topmargin -65pt \oddsidemargin 150pt \rfoot{} \cfoot{} \rhead{} \chead{\Large\thepage} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} ' --pagecommand '\thispagestyle{fancy}' -o "pagenum_$1" "$1"
}
mkalias_with_prefix 'pdf_pagenum'
pdf_contrast_correct()
{
pdfjam --preamble '\usepackage{fancyhdr} \pagestyle{fancy} \topmargin -65pt \oddsidemargin 150pt \rfoot{} \cfoot{} \rhead{} \chead{\Large\thepage} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} ' --pagecommand '\thispagestyle{fancy}' -o "pagenum_$1" "$1"
[ $1 == '' ] && printf "Корректировка контраста в pdf\nОшибка! Укажите входной файл\n" && return
mkdir tmp
convert -density 300 $1 tmp/output-%03d.jpg
convert tmp/output*.jpg -normalize -threshold 60% tmp/final-%03d.jpg
# convert tmp/output*.jpg -level 0% tmp/final-%03d.jpg
convert tmp/final*.jpg new_$1
}
mkalias_with_prefix 'pdf_contrast_correct'
pdf_gamma_correct()
{
gamma=$2
[ gamma == '' ] && gamma=3
[ $1 == '' ] && printf "Корректировка гаммы в pdf\nОшибка! Укажите входной файл\n\nВходные параметры: file gamma\n" && return
gamma=$2
[ gamma == '' ] && gamma=3 && printf "Выбрана гамма '${gamma}'"
mkdir tmp
convert -density 300 $1 tmp/output-%03d.jpg
@ -47,7 +56,7 @@ mkalias_with_prefix 'pdf_gamma_correct'
pdf_all_to_one_file()
{
in_files_pattern=$1
[ in_files_pattern == '' ] && in_files_pattern='*.pdf'
[ in_files_pattern == '' ] && in_files_pattern='*.pdf' && printf "Выбран шаблон '${in_files_pattern}'\n"
convert -density 300 "${in_files_pattern}" -density 300 all.pdf
}
@ -57,12 +66,14 @@ alias ${prefix}archive_each_file_into_separate_archive="find . -mindepth 1 -maxd
unicode_U200B_correct ()
{
[ $1 == '' ] && printf "Корректировка ошибки в latex U200B\nУкажите входной файл" && return
perl -CSD -pe "s/\N{U+200B}//gu" < $1 > noU200B_$1
}
mkalias_with_prefix 'unicode_U200B_correct'
festival_txt2mp3 ()
{
[ $1 == '' ] && printf "Озвучивание текста\nУкажите входной текстовый файл. Выходной будет с тем же именем, но mp3\n" && return
in_file=$1
out_wav_file_name="$1.wav"
out_mp3_file_name="$1.mp3"
@ -74,6 +85,7 @@ mkalias_with_prefix 'festival_txt2mp3'
encode_240()
{
[ $1 == '' ] && printf "Перекодирование видео в формат 240*180\nУкажите входной шаблон. Например '*.mp4'\n" && return
for filename in "$1"; do
echo "Take '${filename}'";
if [ -f "${filename}" ]; then
@ -86,6 +98,7 @@ mkalias_with_prefix 'encode_240'
union_video_and_audio()
{
[ $1 == '' ] && printf "Объедидение видео и аудио\nУкажите входной файл видео и аудио. Например: 1.mp4 1.wav\n" && return
ffmpeg -i $1 -i $2 -c:a aac -b:a 128k -vcodec copy -map 0:v -map 1:a o.mp4
}
mkalias_with_prefix 'union_video_and_audio'
@ -128,7 +141,7 @@ download_custom()
}
mkalias_with_prefix 'download_custom'
alias ${prefix}gen_password='openssl rand -base64 10'
alias ${prefix}gen_password='pwgen -n 16'
cur_dir=${alias_dir}
alias parse_arg_lib='${cur_dir}/../video_tools/parse_arg_lib'
@ -137,21 +150,21 @@ alias ${prefix}union_video_and_audio='${cur_dir}/../video_tools/union_video_and_
all_to_djvu()
{
in_files_pattern=$1
[ in_files_pattern == '' ] && in_files_pattern='*JPG'
for i in ${in_files_pattern}; do bmptopnm $i > pnm/$i.pnm; done
for i in *; do c44 -dpi 300 -slice 60+7+7 $i $i.djvu; done
djvm -c new.djvu *.djvu
[ ${in_files_pattern} == '' ] && printf "Объедидение файлов в djvu\nУкажите входной шаблон. Например '*.jpg'\n" && return
in_files_pattern=$1
for i in ${in_files_pattern}; do bmptopnm $i > pnm/$i.pnm; done
for i in *; do c44 -dpi 300 -slice 60+7+7 $i $i.djvu; done
djvm -c new.djvu *.djvu
}
mkalias_with_prefix 'all_to_djvu'
resize_and_del_exif()
{
search_template=$1
[ "${search_template}" = "" ] && search_template="./*.JPG"
[ "${search_template}" == '' ] && printf "Изменение размера и удаление exif\nУкажите входной шаблон файлов и ширину. Например: '*.jpg' 1024\n" && return
image_width=$2
[ "${image_width}" = "" ] && image_width="1024"
[ "${image_width}" = "" ] && image_width="1024" && printf "Выбрана ширина '${image_width}'\n"
for entry in "$search_template"
do
@ -164,21 +177,41 @@ mkalias_with_prefix 'resize_and_del_exif'
ssh_del_known_host()
{
in_host_pattern=$1
if [ "${in_host_pattern}" = "" ]; then
echo 'Укажите шаблон адреса, например "192.168.1.*"'
return
fi
echo "cp ~/.ssh/known_hosts ~/.ssh/known_hosts.backup && cat ~/.ssh/known_hosts.backup | grep -v ${in_host_pattern} > ~/.ssh/known_hosts"
[ "${in_dev}" = "" ] && printf "Укажите шаблон адреса, например '192.168.1.'\n" && return
eval "sudo cp -u ~/.ssh/known_hosts ~/.ssh/known_hosts.backup && cat ~/.ssh/known_hosts.backup | grep -v ${in_host_pattern} > ~/.ssh/known_hosts"
}
mkalias_with_prefix 'ssh_del_known_host'
ssh_openwpt_10()
ssh_for_openwpt_10.3_kamikadze()
{
in_host_pattern=$1
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc ${in_host_pattern}
}
mkalias_with_prefix 'ssh_openwpt_10'
mkalias_with_prefix 'ssh_for_openwpt_10.3_kamikadze'
hdd_fill_zero()
{
in_dev=$1
[ "${in_dev}" = "" ] && printf "Заполнить диск нулями.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return
sudo pv < /dev/zero > ${in_dev}
}
mkalias_with_prefix 'hdd_fill_zero'
hdd_fill_random()
{
in_dev=$1
[ "${in_dev}" = "" ] && printf "Заполнить диск рандомом.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return
sudo pv < /dev/urandom > ${in_dev}
}
mkalias_with_prefix 'hdd_fill_random'
hdd_check_zero()
{
in_dev=$1
[ "${in_dev}" = "" ] && printf "Проверить, что диск заполнен нулями.\nОшибка! Укажите файл устройства. Например /dev/sdb.\n" && return
sudo pv ${in_dev} | od | head
}
mkalias_with_prefix 'hdd_check_zero'

57
install.sh

@ -23,8 +23,8 @@ sudo apt-get dist-upgrade
sudo update-kernel
sudo apt-get install \
pwgen xclip audacious audacity\
gparted testdisk gnome-disk-utility baobab \
pwgen xclip audacious audacity \
gparted testdisk gnome-disk-utility baobab pv \
cpu-x gnome-system-monitor \
wol sshfs traceroute encfs openssh-server nmap\
remmina xrdp qbittorrent \
@ -40,7 +40,7 @@ sudo apt-get install \
minetest\
texlive texstudio \
systemd-settings-disable-kill-user-processes \
retext pdfmod\
retext pdfmod \
gedit gedit-plugins gedit-plugin-devhelp gedit-plugins-latex \
cinnamon-full idesk icewm pcmanfm volumeicon mc \
nemo nemo-image-converter nemo-sendto-clamtk
@ -50,7 +50,7 @@ sudo apt-get install \
nemo-fileroller nemo-python-devel nemo-translations \
photorec\
mp3info\
frescobaldi lilypond\
frescobaldi lilypond \
nano\
token-manager \
libgtop-gir libgtop-gir-devel \
@ -61,29 +61,27 @@ sudo apt-get install \
flatpak
# Gedit plugins
https://github.com/hannenz/duplicate
git clone https://github.com/hannenz/duplicate
sudo eepm play skype
sudo eepm play telegram
sudo eepm play zoom
epm play skype
epm play telegram
epm play zoom
# n2n
wget https://github.com/ntop/n2n/releases/download/3.0/n2n-3.0.0-1038.x86_64.rpm
sudo apt-get install ./n2n-3.0.0-1038.x86_64.rpm
# rpi
# n2n rpi altlinux
wget https://packages.ntop.org/RaspberryPI/bullseye_pi/arm64/n2n/n2n_3.1.1-76-g709590d_arm64.deb
sudo epm -i ./n2n_3.1.1-76-g709590d_arm64.deb
sudo systemctl enable --now edge.service
git config --global core.editor mcedit
## Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
## organicmaps
flatpak install flathub app.organicmaps.desktop
flatpak remote-info --log flathub app.organicmaps.desktop
sudo flatpak update --commit=beb1e1a66d50646cfe162437bca7b19fdd9178e3f505fcdc351a74415dbca628 app.organicmaps.desktop
#sudo flatpak update --commit=beb1e1a66d50646cfe162437bca7b19fdd9178e3f505fcdc351a74415dbca628 app.organicmaps.desktop
flatpak run app.organicmaps.desktop
# appimagepool
@ -91,6 +89,14 @@ flatpak install flathub io.github.prateekmedia.appimagepool
# AndroidStudio
flatpak install flathub com.google.AndroidStudio
# XnConvert
Download: https://www.xnview.com/en/xnconvert/#downloads
sudo epm install ./XnConvert-linux-x64.deb
# tuxguitar
wget -c https://github.com/helge17/tuxguitar/releases/download/1.6.0/tuxguitar-1.6.0_linux-swt.x86_64.rpm
sudo apt-get install ./tuxguitar-1.6.0_linux-swt.x86_64.rpm
# Gps
sudo apt-get install xgps gpsd gpsmon
/etc/sysconfig/gpsd ->
@ -111,16 +117,17 @@ hwmon /sys/class/thermal/thermal_zone0/temp
(5, 64, 71)
(7, 68, 32767)
test: sudo /usr/sbin/thinkfan -n
# test:
sudo /usr/sbin/thinkfan -n
# run:
systemctl enable --now thinkfan.service
# By root:
# Set max freq
EDITOR=mcedit crontab -e
@reboot cpupower frequency-set --max 2.3G
# XnConvert
Download: https://www.xnview.com/en/xnconvert/#downloads
sudo epm install ./XnConvert-linux-x64.deb
# git
git config --global core.editor mcedit
# Disable autostart gnome-software
mkdir -pv ~/.config/autostart && cp /etc/xdg/autostart/gnome-software-service.desktop ~/.config/autostart/
@ -130,17 +137,13 @@ dconf write /org/gnome/desktop/search-providers/disabled "['org.gnome.Software.d
dconf write /org/gnome/software/allow-updates false
dconf write /org/gnome/software/download-updates false
# fuse config
# Fuse config
sudo control fusermount public
# tuxguitar
wget -c https://github.com/helge17/tuxguitar/releases/download/1.6.0/tuxguitar-1.6.0_linux-swt.x86_64.rpm
sudo apt-get install ./tuxguitar-1.6.0_linux-swt.x86_64.rpm
# Enable wi-fi to Android 13
# Enable wi-fi for Android 13 in altlinux
nmcli connection modify WIFINAME wifi-sec.pmf 1
# Установить максимальный уровень заряда и поизводительности
sudo ap-get install tlp
echo "80" > /sys/class/power_supply/BAT0/charge_control_end_threshold
echo "80" > /sys/devices/system/cpu/intel_pstate/max_perf_pct
sudo apt-get install tlp
sudo echo "80" > /sys/class/power_supply/BAT0/charge_control_end_threshold
sudo echo "80" > /sys/devices/system/cpu/intel_pstate/max_perf_pct

3
video_tools/img_and_wav2video

@ -1,7 +1,7 @@
#!/bin/bash
# Общественное достояние, 2024, Алексей Безбородов (Alexei Bezborodov) <AlexeiBv+linux_script@narod.ru>
# Озвучивание русского текста из файла pdf и сохранение в видео
# Объединение картинки и звука в видео
version=1.0
@ -59,6 +59,7 @@ $(ProcessParams video_params Params2Help)
Примеры:
img_and_wav2video -i image.jpg -a audio.wav -o out.mp4
# Расширенный вывод
img_and_wav2video -i image.jpg -a audio.wav -o out.mp4 -V

Loading…
Cancel
Save