Когда я активирую Тире Единицы, он помнит последнее приложение, файл или папку, что я получил доступ к использованию Тире. Если предыдущий объект был папкой, и на этот раз я ищу приложение, Тире не удается найти применение.
Нажатие Escape сразу после запуска Тире, таким образом очищая предыдущий критерий поиска.
Я могу настроить Тире для упущения предыдущего критерия поиска, и кто-либо знает, является ли это ожидаемым поведением?
Простое решение состояло бы в том, чтобы просто щелкнуть правой кнопкой по самому тире и выбрать определенную категорию, которую Вы хотите искать - Тире будет очищен автоматически для этого.
я заметил, что вновь открытый Тире, выделили предыдущий текст. Удар клавиши Backspace допускает очистку и выполнение новые поиски без проблем. Если только мы могли бы автоматизировать выполнение этого... Ну, мы можем с приложением, названным xdotool
и немного волшебства сценариев.
Установка xdotool
через apt-get install xdotool
и сохраняют следующий сценарий. Его основная задача состоит в том, чтобы определить, является ли активное окно Тире, и автоматизируйте совершающую нападки клавишу Backspace для очистки Тире. Это предназначено, чтобы работать как python script_name.py
и быть запущенным, когда пользователь входит в систему путем добавления этого сценария для Запущения Приложений.
#!/usr/bin/env python
import dbus,time,subprocess,os
def run_cmd(cmdlist):
""" utility: reusable function for running external commands """
new_env = dict(os.environ)
new_env['LC_ALL'] = 'C'
try:
stdout = subprocess.check_output(cmdlist, env=new_env)
except subprocess.CalledProcessError:
pass
else:
if stdout:
return stdout
def get_dbus(bus_type, obj, path, interface, method, arg):
""" utility: executes dbus method on specific interface"""
if bus_type == "session":
bus = dbus.SessionBus()
if bus_type == "system":
bus = dbus.SystemBus()
proxy = bus.get_object(obj, path)
method = proxy.get_dbus_method(method, interface)
try:
if arg:
return method(arg)
else:
return method()
except dbus.exceptions.DBusException:
return None
def active_is_dash():
base = ['session','org.ayatana.bamf']
dbus_call = base + ['/org/ayatana/bamf/matcher', 'org.ayatana.bamf.matcher','ActiveWindow',None]
active_window = str(get_dbus(*dbus_call))
dbus_call = base + [active_window,'org.ayatana.bamf.view','Name',None]
active_name = str(get_dbus(*dbus_call))
if active_name == 'unity-dash': return True
command = 'xdotool key BackSpace'.split()
flag = None
while True:
time.sleep(0.25)
if active_is_dash():
time.sleep(0.25)
if not flag: run_cmd(command)
flag = True
else: flag = False
Я обнаружил что очистка моих данных использования через
Настройки> безопасность & Конфиденциальность> Файлы & Приложения
значительно улучшенный и производительность и поведение Тире. Это не полностью решило проблему, которую я испытывал, но это действительно уменьшало количество раз, это произошло. Например, на шаге 5., если я ввожу 'огонь' затем пауза в течение секунды (разрешение Тире завершить поиск) прежде, чем ввести 'лису', применение найдено.
я также нашел на вид связанный отчет об ошибках .