Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time, subprocess
- script = f'''#!/bin/bash
- first_item=$(copyq read 0)
- copyq copy "$first_item"
- '''
- subprocess.call(['bash', '-c', script, '_'])
- script1 = '''#!/bin/bash
- # Получить текущее содержимое буфера обмена
- clipboard_content=$(copyq clipboard)
- # Проверить, пуст ли буфер обмена
- if [ -z "$clipboard_content" ]; then
- echo "Буфер обмена пуст"
- exit 0
- else
- echo "Буфер обмена содержит: $clipboard_content"
- exit 1
- fi
- '''
- result = str(subprocess.run(['bash'], input=script1, stdout=subprocess.PIPE, text=True).stdout)
- def check_clipboard():
- while 1:
- try:
- time.sleep(0.5) # Получить текст из буфера обмена
- res = str(subprocess.run(['bash'], input=script1, stdout=subprocess.PIPE, text=True).stdout)
- if "Буфер обмена пуст" in res:
- # print("Буфер обмена обновлен")
- subprocess.call(['bash', '-c', script, '_'])
- except :
- continue
- # print("Ошибка при получении содержимого буфера обмена")
- check_clipboard()
- В Linux управление буфером обмена может отличаться от того, что мы наблюдаем в Windows, где операции с буфером традиционно более интуитивные и универсальные. В большинстве дистрибутивов Linux используется несколько типов буферов обмена, что может вызывать путаницу у пользователей, привыкших к единой системе в Windows. Однако, существует возможность унифицировать эти функции с помощью специального скрипта.
- Этот скрипт предназначен для упрощения операций с буфером обмена, позволяя пользователю копировать и вставлять текст и изображения так же легко, как в Windows. Он использует copyq и скрипт sh.
- ```
- copyq eval 'execute("/mnt/807EB5FA7EB5E954/python_linux/Сохранить скриншот из буферa обмена.sh")'
- ```
- ```
- #!/bin/bash
- #gnome-terminal -- bash -c '
- current_text=$(xclip -o -selection primary)
- if ! [ $(copyq read 3) == "$current_text" ] && ! [[ $(copyq read 4) == "$current_text" ]]; then
- copyq insert 4 "$current_text"
- fi
- image_url=$(copyq read 0) # Получаем из буфера обмена
- if [ ! -f "$(copyq clipboard)" ] && [[ -z "$(copyq clipboard)" ]]; then # Он пуст
- copyq select 0
- exit 0
- fi
- if xclip -selection clipboard -t image/png -o > /dev/null; then # Есть изображение #echo "no ima"
- sleep 0.3
- copyq write image/png - < "$image_url" #copyq select 0
- sleep 2.1
- copyq select 0
- exit 0
- fi
- if echo "$image_url" | grep -q "http" && [[ ! "$image_url" =~ "vk.com" ]]; then # Проверяем, есть ли в буфере обмена URL изображения
- now=$(date +"%F %T") # Получить текущую дату/время
- current_date=$(date +"%F")
- hours=$(date +"%H") # Разбить на отдельные элементы
- minutes=$(date +"%M")
- seconds=$(date +"%S") # Сформировать имя файла
- filename="/mnt/807EB5FA7EB5E954/софт/виртуальная машина/linux must have/python_linux/Project/Screenshots/${hours} ${minutes} ${seconds} ${current_date}.png"
- curl -L -o "$filename" "$image_url" --retry 3 --retry-delay 1 --fail -k # Скачиваем изображение
- copyq write image/png - < "$filename"
- sleep 2.1
- copyq select 0
- exit 0
- fi
- image_extensions=("jpg" "jpeg" "png" "gif" "bmp") # Проверяем, существует ли файл
- extension="${image_url##*.}"
- if [ -f "$image_url" ] && [[ " ${image_extensions[*]} " == *" $extension "* ]]; then
- name=$(basename "$image_url") # echo "$image_url"
- if echo "$name" | grep -q "[а-яА-Я]"; then
- cd "/mnt/807EB5FA7EB5E954/софт/виртуальная машина/linux must have/python_linux/Project";
- source myenv/bin/activate && python "inage to buffer.py";
- exit 0
- else
- copyq write image/png - < "$image_url"
- exit 0
- fi
- fi
- exit;
- #exec bash'
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement