Как поместить приложение во второй монитор с потрясающим-wm?

В большинстве файловых систем ¹, файл исключительно определяется его inode числом, таким образом, все, что необходимо проверить, - имеют ли эти два файла то же inode число и находятся в той же файловой системе.

Пепел, ksh, удар и zsh имеют конструкцию, которая делает проверку на Вас: оператор равенства файла -ef.

[ fileA -ef fileB ] && ! [ fileA -ef fileC ]

Для более усовершенствованных случаев, ls -i /path/to/file перечисляет inode число файла. df -P /path/to/file шоу, какая файловая система файл идет (если два файла находятся в том же каталоге, они находятся в той же файловой системе). Если Ваша система имеет stat команда, это может, вероятно, показать inode и числа файловой системы (stat варьируется от системы до системы, проверьте свою документацию). Если Вы хотите быстрый взгляд жестких ссылок в каталоге, попробовать ls -i | sort (возможно переданный по каналу к awk).

¹ Все собственные файловые системы Unix и немногие другие, такие как NTFS, но возможно не экзотические случаи как CramFS.

7
30.01.2018, 13:58
3 ответа

Существует действительно простой способ сделать это использование awful дополнительный пакет. Некоторые дистрибутивы связывают это автоматически, у других есть он как подпакет. После того как у Вас есть он, можно просто использовать встроенный awful.client.movetoscreen. Например, у меня есть привязка, которая похожа на это:

awful.key({modkey}, "o", awful.client.movetoscreen)

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

7
27.01.2020, 20:16

Это зависит от версии потрясающих, которые Вы используете:

потрясающий 1.x

Установите screen переменная в правиле:

{ rule =
    { class = "URxvt" },
    properties = { tag = tags[1][1] },
    screen = 1
}

потрясающий 2.x

Установите screen свойство на клиенте в hook_manage функция:

if c.class == "URxvt" then
    awful.client.movetotag(tags[1][1], c)
    c.screen = 1
end

Кажется из Вашего примера кода, что Вы используете потрясающий 1.x; как заметка на полях, 1.x теперь действительно старо, таким образом, Вы могли бы хотеть изучить обновление до 2.x, который использует Lua вместо формата пользовательской конфигурации

4
27.01.2020, 20:16
  • 1
    , я использую потрясающие 3.4.5, тот отрывок, от Lua-конфигурационного-файла rc.lua. Конфигурационный файл, который я сделал, является копией из стандартного файла, который был установлен Ubuntu в/etc/xdg/awesome/rc.lua. Правила в качестве примера определяются там в пути, данном здесь. Но я предполагаю, что можно определить его действительно различными способами, поскольку Lua является абсолютным языком программирования. Я попробую опцию завтра назад на работе. –  Mnementh 20.12.2010, 23:26
  • 2
    @Mne, О, который является из стандартного файла; это происходит с очень, сильно напоминают старый формат конфигурации. Когда я использовал потрясающий, я закончил тем, что отбросил стандартную конфигурацию и просто переписал ее. Если это не работает сообщенное мне, таким образом, я могу удалить ответ; я не уверен, будет ли это –  Michael Mrozek♦ 20.12.2010, 23:31
  • 3
    Да, я посмотрю на него завтра. Дома у меня есть только один монитор, таким образом, я еще не могу протестировать его. джекпот –  Mnementh 20.12.2010, 23:34
  • 4
    Испытанный, но это не работает. :-( –  Mnementh 21.12.2010, 13:03
  • 5
    @mne Ламе. К сожалению, я не имею потрясающими установленный больше, таким образом, я не могу действительно смешать с ним. Удача, хотя; я введу по абсолютному адресу вокруг документации позже сегодня, чтобы видеть, могу ли я найти что-нибудь –  Michael Mrozek♦ 21.12.2010, 13:35

Не точно ответ, но развитие.

Это, должно быть, было ошибкой в потрясающем. С awesome-3.4.10 это работает, как Вы хотели это. Теперь, чтобы иметь приложение, открытое на предопределенном, наклеивают текущий экран, используют что-то вроде этого:

{ rule = { instance = "urxb" },
  callback = function(c)
          c.screen = mouse.screen
          c:tags({tags[c.screen][3]})
  end }
0
27.01.2020, 20:16

Теги

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