Как добавить значки с выпадающим с действиями к Панели Ubuntu

У меня есть некоторые сценарии/программы, которые я часто выполняю. Как я могу добавить значок к Панели для, например, как Dropbox который, когда на нажатом предоставляет выпадающему меню несколько опций, каждую опцию при нажатии на выполнения сценарий оболочки или программа с некоторыми аргументами (хороший иметь - сообщают об успешности или неуспешности).

3
задан 15 May 2018 в 01:17

2 ответа

Можно создать пользовательский значок средства запуска для выполнения сценариев. Откройте свой любимый текстовый редактор и скопируйте отрывок ниже:

[Desktop Entry]
Encoding=UTF-8
Name=My Scripts
Name[de]=Meine Skripte
Exec=myscript_0.sh
Terminal=true
Type=Application
Icon=terminal
StartupNotify=true
Actions=ContextMenu1;ContextMenu2

[Desktop Action ContextMenu1]
Name=Run script 1
Name[de]=Skript 1 starten
Exec=myscript_1.sh

[Desktop Action ContextMenu2]
Name=Run script 2
Name[de]=Skript 2 starten
Exec=myscript_2.sh

Теперь пора изменить этот тупик выше, поскольку это не будет полезно, как это для Вас!

[Desktop Entry] раздел:

  • Encoding=UTF-8 Лучше не изменяют эту строку, потому что иначе Вы получите проблемы при использовании каких-либо символов неASCII в этом файле.
  • Name=... Введите любую строку здесь, это будет английское имя по умолчанию объекта средства запуска.
  • Name[de]=... То же как Name=, но для немца (de) перевод.
    Это - просто пример, можно удалить все эти строки с [de] или замените их другим кодом локали.
  • Exec=... Введите команду, которую Вы хотите выполнить, если значок средства запуска щелкается здесь.
    Если сценарий расположен в папке, перечисленной в $PATH переменная среды, имя исполняемого файла только достаточно, иначе необходимо указать полный путь.
    Удостоверьтесь, что нет никакой опечатки и что сценарий является исполняемым файлом (chmod +x и это запускается с допустимой строки "хижины")!
    • Terminal=true Если Вы устанавливаете его на false вместо этого, никакое окно терминала не будет открыто, и сценарий будет работать в фоне.
    • Type=Application Не изменяйте эту строку.
    • Icon=terminal Указывает значок объекта средства запуска. Можно использовать родовые названия как terminal или введите полный путь в файл изображения.
    • StartupNotify=true Заставляет указатель мыши выполнять анимацию "ожидания" (вращающий круг/песочные часы) во время между нажатием на значок и когда окно открывается. Можно установить его на false если Вы хотите.
    • Actions=... Перечисляет названия внутреннего идентификатора записей контекстного меню. Они должны соответствовать используемым в заголовках раздела контекстного меню ([Desktop Action ...]) и потребность быть разделенным от точки с запятой списком без пробелов.

[Desktop Action ...] разделы:

Вам только нужны ключи Name (и переводы как Name[de], если Вы хотите), и Exec здесь. Те же критерии как выше применяются здесь также.

Также удостоверьтесь снова что идентификатор (здесь ContextMenu1 и ContextMenu2) в разделе заголовок появляются в Actions= упомяните выше!

Количество таких блоков контекстного меню неограниченно.


После изменения тупика в качестве примера выше сохраните его в каталоге ~/.local/share/applications/ с пользовательским именем файла, но расширением .desktop.

Затем это должно появиться в Вашей Линзе Приложения Тире Единицы (Super+A). Если это не делает, выходит из системы и въезжает задним ходом для обновления его. Затем перетащите его от Тире на панель средства запуска с Вашей мышью. Щелчок правой кнопкой по нему откроет контекстное меню, где все "Настольное Действие" объекты перечислено, как в снимке экрана в качестве примера ниже:

image

2
ответ дан 1 December 2019 в 16:26

Ответ не обеспечивает способ создать индикатор, однако он действительно обеспечивает альтернативу. Центральная идея состоит в том, чтобы использовать графический список сценария, чтобы начать их.

Сценарий

рев сценария использует множество всех путей к любимым сценариям, которые пользователь может хотеть начать. Следующему сценарию предлагают быть сохраненным в личном $HOME/bin папка и сделанным исполняемым файлом с chmod +x. Это может далее быть связано с клавишей быстрого вызова, чтобы легко назвать пусковую установку, или альтернативно - помещенной в .desktop короткий путь как показано в ответе ByteCommander.

Следуют за предложением в комментариях сценария для изменения его, чтобы удовлетворить Вашим потребностям

#!/bin/bash
# -------------------------------
# Author: Serg Kolo
# Date: Nov 10th, 2015
# Description: A launcher for favorite scripts
# Written for: http://askubuntu.com/q/693413/295286
#---------------------------------

# ARRAY holds full paths to scripts that you want to launch
# Always enclose paths in double quotes, separate by spaces

ARRAY=("/home/xieerqi/bin/sh/resizer.sh" "/home/xieerqi/bin/sh/verticalSplit.sh" "/home/xieerqi/bin/sh/vol-down.sh"  )

# This launches zenity dialog with the list from ARRAY
# Stores into SCRIPT variable
SCRIPT="$( zenity --list --title "Select script to run" --column "Script files" "${ARRAY[@]}" | cut -d '|' -f1)"

# If SCRIPT variable is empty, do nothing, fail silently
# If exists, check if user has executable permissions
# Implies script existence
if  [ -n "$SCRIPT" ];then
  if  [ -x "$SCRIPT" ] ; then
    # if you want to see script running in terminal
    # replace the line bellow with  xterm -hold -e "$SCRIPT" 
    "$SCRIPT" &
   else
    zenity --error --text "File doesn't exist or wrong permission "
  fi
fi 

Скриншот

enter image description here

1
ответ дан 1 December 2019 в 16:26

Другие вопросы по тегам:

Похожие вопросы: