Как в xmonad привязать сочетание клавиш к фокусу конкретное приложение?

  1. Проблема в вашей команде - ! (*. Doc |.docx) конструкция. * Заменяется на каждый файл и каталог.
  2. Вы должны прекратить любые дальнейшие записи в файловую систему, потому что, когда файлы удаляются и не связываются (без оставшихся жестких ссылок на них), файловая система освобождает блоки, ранее выделенные для удаленного файла, эти блоки выделяются новым файлам. и их содержимое перезаписано. Чтобы восстановить файлы, вы можете использовать команду photorec ( sudo apt-get install testdisk для debian). Он откроет текстовое окно, поэтому следуйте его инструкциям. Файлы будут восстановлены с разными именами, сгенерированными системой.
2
30.12.2017, 20:52
1 ответ

https://stackoverflow.com/a/50427647/1663462

module WindowFinder where

import XMonad
import qualified XMonad.StackSet as W
import Control.Monad
import Data.Bool  (bool)

findWindows :: String -> X [Window]
findWindows name = do
  withWindowSet $ (\ws -> do
    forM (W.allWindows ws)
      (\w -> do
            s <- withDisplay $ \d -> fmap resClass. liftIO $ getClassHint d w
            return $ bool [] [w] (s == name) :: X [Window]
      ) >>= return. join
    )

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

         , ((modm, xK_c), do
            win' <- findWindows "Chromium"
            when (length win' > 0)
              (windows $ W.focusWindow $ head win')
          )
0
27.01.2020, 22:40

Теги

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