Перетаскивание через (полноэкранные) приложения, переключение через Alt-Tab

Пример

Перетащите медиа-файл в список воспроизведения Totem, чтобы поставить в очередь

Ошибка в Compiz

Специально для Unity (ранее Netbook Edition, предназначенной для небольших экранов), это довольно жизненно важной особенностью, поскольку приложения чаще всего запускаются в полноэкранном режиме, а перетаскивание с помощью сенсорной панели может быть громоздким.

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/624810

Любой намек на то, где начать исправлять ошибку? Какой файл / строка в исходном коде compiz?

Фон юзабилити

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

Drag'n'Drop без Alt-Tab в полноэкранных окнах требует

  1. начать перетаскивать объект
  2. перейти на панель запуска / панель задач
  3. [ 1121] управляй значком приложения - маленькая и удаленная цель!
  4. ждут, пока приложение не станет сфокусированным
  5. поворачивайся к окну - [ 118] (огромная цель)
    опционально: направить на предполагаемую область окна, например список воспроизведения ( довольно большая цель)
  6. перетаскивание объекта

Drag'n'Drop с Alt-Tab с другой стороны требует только

  1. начинают перетаскивать объект
  2. Alt-Tab в другое приложение
    опционально: направлять на предполагаемую область окна, например список воспроизведения ( довольно большая цель)
  3. объект перетаскивания

Таким образом, для Drag'n'Drop не требуется малая и удаленная цель при одновременном нажатии Alt-tabbing

Обходные пути

Интересные и, вероятно, для многих пользователей полезные альтернативные подходы представлены в ответах ниже. Огромное спасибо сообществу!

Правильный ответ

... кажется, что он доступен только после исправления ошибки.

Несколько более свежих действий, возможно, относящихся к данной ошибке: https://bugs.launchpad.net/ayatana-design/+bug/727903

30
задан 17 November 2012 в 15:27

6 ответов

Способ, которым я нашел его работающим:

  1. Начните перетаскивание,
  2. Удерживая кнопку мыши, нажимайте Super + (0-9) для переключения приложения,
  3. Продолжайте перетаскивание. Примечание: На шаге 2 вы можете удерживать кнопку Super некоторое время, появится пусковая установка и вы увидите, какой номер (0-9) назначен какому приложению.

5
ответ дан 17 November 2012 в 15:27

Он работает под Unity 2D, потому что Unity 2D полагается не на Compiz, а на Metacity/Mutter:

-1
ответ дан 17 November 2012 в 15:27

Предположим, что у вас открыто приложение, на которое вы хотите упасть: начните перетаскивать файл, перейдите к программе запуска (которая должна показываться вскоре после начала перетаскивания) и наведите курсор на приложение, в которое вы хотите перетащить файл, это должно показывать открытые окна приложения, затем, продолжая перетаскивать файл, наведите курсор на окно, в которое вы хотите перетащить файл и подождите, пока это окно станет активным (по умолчанию это 500 мс, но это можно изменить в ccsm), после чего вы можете перетаскивать файл куда угодно.

Это может звучать долго, но это не займет много времени, особенно если вы отклоните "Drag and Drop Hover Timeout" на вкладке Behaviour плагина Масштабирование в ccsm (доступно в Центре программного обеспечения), у меня есть мой в 200 мс, и это хорошо.

0
ответ дан 17 November 2012 в 15:27

Другой обходной путь для перетаскивания между двумя приложениями:

  1. Щелкните и начните перетаскивание элемента в окне Приложения № 1
  2. Нажмите ALT + F1, чтобы активировать режим выбора элемента Launcher
  3. Это может быть немного неудобно: нажмите кнопку со стрелкой вниз (или вверх) на клавиатуре, чтобы переместить курсор программы запуска к приложению №2
  4. Нажмите клавишу Enter, чтобы активировать выбранное приложение №2
  5. Drop перетащенный элемент во всплывающее окно

Примечание: это не работает (по крайней мере, таким образом) с двумя окнами одного и того же приложения.

0
ответ дан 17 November 2012 в 15:27

Я не нашел надежного способа сбросить файлы файлового менеджера на (например) Totem, пока принимающее приложение находится в полноэкранном режиме - однако, если вы не сделаете принимающее приложение полноэкранным, то для меня это сработает.

Запустите CCSM и отредактируйте Scale Addon.

Щелкните "Initiate Window Picker" (инициировать край, т.е. тот, что со значком монитора) и назначьте ему BottomRight.

Далее запустите принимающее приложение (не в полноэкранном режиме).

Инициализируйте перетаскивание из файлового менеджера для файлов, которые Вам нужны - перетащите мышь на BottomRight экрана - для всех окон будет работать SpreadMode. Перетащите мышь в принимающее приложение. Режим Spread Mode закроется, а принимающее приложение станет активным окном. Бросьте перетаскиваемый элемент (элементы).

Я пробовал это на примере Totem в полноэкранном режиме. Частично он работает, но не надежно. Я думаю, что это глобальное меню, которое захватывает различные события.

N.B. Для того, чтобы Totem на примере принял еще один файл на сброс, потребуется небольшая модификация его настольного пускового устройства, как описано в этом AU question

5
ответ дан 17 November 2012 в 15:27

Не имеет отношения к тотему, но я нашел способ использовать Alt-Tab при перетаскивании файлов (перетащите файл pycharm в Chrome). Проверено на Ubuntu 20. Основная деталь заключается в том, чтобы не двигать мышью, пока вы не закончите Alt-Tabbing.

  1. Щелкните файл и удерживайте кнопку мыши нажатой.
    НЕ ПЕРЕМЕЩАЙТЕ КУРСОРОМ. Курсор должен оставаться на месте
    Только нажмите и удерживайте. (Будет ваш обычный значок курсора, без значка для перетаскивания)
  2. Alt-tab
  3. Начните перемещать курсор и отпустите файл в любом месте (теперь у вас будет значок перетаскивания)
0
ответ дан 5 January 2021 в 23:54

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

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