Преобразование IgniteFuture в будущее Scala

Да, это возможно, используя средний щелчок мышью.

Средний щелчок обычно дает фокус окну под курсором, а затем поднимает его над другими окнами. Это поведение по умолчанию в Ubuntu (Unity). На этой странице из Ubuntu Desktop Guide объясняется известное поведение среднего клика, за исключением нескольких исключений:

средний щелчок на строке заголовка приведет к тому, что окно будет отправлено за другими окнами, средним нажатием на кнопки управления окном ( закрыть, минимизировать, максимизировать) активирует соответствующее поведение (закройте окно, минимизируйте окно, увеличьте вертикально).

средний щелчок

При среднем щелчке по целевому окну могут возникать дополнительные действия, такие как окно с интерактивными объектами или редактируемые поля или текстовая область .

средний щелчок на строке заголовка приведет к тому, что окно будет отправлено за другими окнами

. Среднее нажатие на строку заголовка приведет к тому, что окно будет отправлено за другими окнами

вставляет содержимое, если буфер обмена первичного выделения не пуст.

Средний клик не вставляет ничего, если буфер обмена первичного выбора пуст. Это состояние по умолчанию, когда пользователь каждый раз регистрируется на рабочем столе Ubuntu.

Когда пользователь вызывает Эта страница из Руководства по настольному компьютеру Ubuntu , т.е. «нажмите на основную кнопку мыши, перетащите курсор на некоторые текст затем отпустите щелчок ", выделенный текст будет скопирован в PRIMARY (см. спецификацию буфера обмена для X). В результате средний щелчок даст фокус и поднимет окно, а затем вставьте содержимое в любую текстовую область.

Обходной путь

xclip -i / dev / null

Чтобы избежать нежелательной вставки, очистите буфер обмена первичного выделения, прежде чем делать средний клик. Для этого установите xclip из репозитория «Вселенная» и запустите эту команду сбрасывания:

Затем убедитесь, что средний клик не вставляет ничего или, запустите xclip -o, чтобы подтвердить вывод в терминале.

Наконец, команде обнуления можно назначить пользовательскую комбинацию клавиш, то есть используя любой Fn-ключ для метода «по требованию» или, команда может периодически запускаться каждые несколько секунд, то есть используя cron или другой планировщик для метода «setup once then forget».

Даже без какого-либо обходного пути буфер первичного выбора будет автоматически отбрасываться при закрытии / выходе из соответствующего окна, из которого был сделан выбор текста. При использовании любого внешнего менеджера буфера обмена убедитесь, что он не обрабатывает буфер обмена первичного выбора.

Протестированное поведение и обходные пути в Ubuntu 16.04 (Unity 7.4.0). [!d32 ]

Обходной путь Самый простой способ - использовать средний щелчок, чтобы выделить фокус и поднять окно над другими окнами, не регистрируя щелчок. Поведение пасты может помешать этому использованию; Очистите буфер обмена первичного выделения, чтобы свести значение с клика по среднему клику.

средний щелчок на строке заголовка заставит окно отправлять за другими окнами

Среднее нажатие на кнопки управления окном (закрытие, сведение к минимуму, максимизация) активирует соответствующее поведение (закройте окно, минимизируйте окно, увеличьте вертикально).

0
задан 13 August 2018 в 14:36

1 ответ

Да, но вы можете использовать шаблон класса implicit для расширения API.

import scala.util.Try

implicit class IgniteFutureUtils[T](igniteFuture: IgniteFuture[T]) {
 def toScalaFuture = {
   val promise = Promise[T]()
   igniteFuture.listen { k =>
     promise.tryComplete(Try(k.get))
   }
   promise.future
 } 
}
1
ответ дан 15 August 2018 в 17:02

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

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