Автор Тема: Xmonad, xmobar. Делимся полезными наработками.  (Прочитано 9341 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ogis1975

  • OS: Debian 9.4 / WM: Xmonad
  • Местный житель
  • ***
  • Сообщений: 440
  • Debian 10.1 i3wm
    • Мой репозиторий на Github
Re: Xmonad, xmobar. Делимся полезными наработками.
« Ответ #45 : 25 Июнь 2018, 16:42:36 »
Можно таким же способом организовать работу с калькулятором.
Полезная вещь. Спасибо.
 

Оффлайн ChubaDuba

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 527
  • Debian Buster & Xmonad
  • Jabber: achubakov@jabber.ru
Re: Xmonad, xmobar. Делимся полезными наработками.
« Ответ #46 : 11 Январь 2019, 20:06:20 »
XMonad.Layout.Spacing
Добавляем пространство вокруг окон.

Очередная заметка по настройке xmonad. XMonad.Layout.Spacing позволяет добавить отступы вокруг открытых окон. Наличие отступов даёт лучшую визуализацию на
экране компьютера при работе с несколькими отрытыми окнами.

Цитировать
Чтобы добавить отступы ко всем окнам, за исключением случаев, когда окно является единственным видимым окном в текущей рабочей области, нужно использовать функцию smartSpacing. Если использовать функцию spacing, то заданное свободное простраство вокруг окон будет добавляться в любом случае.

Добавляем в наш xmonad.hs данный модуль:
import XMonad.Layout.Spacing

После чего модифицируем секцию Layouts. В моём случае это выглядит так:
-- Layouts
myLayouts = minimize (avoidStruts tiled
           ||| threecolmid
           ||| onebig
           ||| imTkabber
           ||| full)
 where
    tiled   = smartSpacing 5 $ ResizableTall nmaster delta ratio []
    nmaster = 1
    ratio   = 1/2
    delta   = 3/100

-- basic layouts
full        = noBorders Full
onebig      = smartSpacing 5 $ OneBig (3/4) (3/4)
threecolmid = smartSpacing 5 $ ThreeColMid 1 (3/100) (1/2)
imTkabber   = withIM (1%7) (ClassName "Tkabber") Grid

Если в какой-то компановке вам не нужны отступы, то просто не прописывайте их. Например, я в компановке окон imTkabber отступы не использую.

Остаётся сохранить xmonad.hs и перекомпилировать наш xmonad.

Чтобы изменения вступили в силу необходимо перезайти в систему!


« Последнее редактирование: 11 Январь 2019, 20:26:53 от ChubaDuba »
 
Пользователи, которые поблагодарили этот пост: Ogis1975

Оффлайн Ogis1975

  • OS: Debian 9.4 / WM: Xmonad
  • Местный житель
  • ***
  • Сообщений: 440
  • Debian 10.1 i3wm
    • Мой репозиторий на Github
Re: Xmonad, xmobar. Делимся полезными наработками.
« Ответ #47 : 26 Март 2019, 16:35:20 »
Компоновка окон- XMonad.Layout.Maximize

Данная компоновка окон, временно как бы "вырывает" сфокусированное окно из видимых в фокусе окон, и заполняет собой экран.

 Выглядит вот так:



Как видно из скриншота, у меня Firefox заполнил все рабочее пространство. Это очень удобно, и по моему субьективному мнению, позволяет отказаться от стандартного лайаута "fulscreen".

Но как его настроить? Очень легко!

Добавляем модуль:
import XMonad.Layout.Maximize
Затем отредактируйте свой layoutHook, добавив модификатор  Maximize layout

У меня вот так:
myLayouts = maximizeWithPadding 10 (Tall 1 (3/100) (1/2)) ||| emptyBSP ||| Column 1.6
Обратите внимание, что я добавил значение "10". Это значение помогает регулировать отступы между окном. Если вы не хотите иметь такие отступы, вам нужно, вместо  maximizeWithPadding 10 просто добавить maximize
Теперь, нам только осталось назначить горячую клавишу.
 У меня вот так:

   `additionalKeysP`
     [
        ...
      , ("M-<Esc>", withFocused (sendMessage . maximizeRestore))
      ]
...

Удачи!
 


Оффлайн ChubaDuba

  • Старожил
  • ****
  • Topic Author
  • Сообщений: 527
  • Debian Buster & Xmonad
  • Jabber: achubakov@jabber.ru
Re: Xmonad, xmobar. Делимся полезными наработками.
« Ответ #48 : 30 Июнь 2019, 17:36:59 »
XMonad.Actions.Search
Быстрый поиск информации в internet

XMonad.Actions.Search - удобный инструмент для быстрого поиска информации в internet. Как видно из описания, модуль поддерживает большое количество поисковых движков.
Я сравнительно часто пользуюсь тремя:

deb - Debian package search;
duckduckgo - DuckDuckGo search engine;
youtube - Youtube video search.

Поэтому и добавил функционал только для них.
Чтобы всё это у нас заработало, добавляем в наш файл конфигурации xmonad.hs:
Сам модуль:
import XMonad.Actions.Search

Сконфигурируем окно, в которое мы будем вводить поисковый запрос:
-- Search Prompt
mySearchConfig = def
        { font                = myFont
        , bgColor             = "#1E2320"
        , fgColor             = "#E0AF8F"
        , promptBorderWidth   = 0
        , position            = Top
        , historySize         = 0
        , historyFilter       = deleteConsecutive
        }
Здесь ничего объяснять, думаю, не нужно. Все параметры задаются в зависимости от личных предпочтений пользователя.

И последнее, что нужно сделать - это добавить в конфигурационный файл сочетания горячих клавиш для каждого поискового движка.
Я выбрал следующие сочетания:

deb - mod4 + Shift + d;
duckduckgo - mod4 + Shift + s;
youtube - mod4 + Shift + y.

Соответственно добавляем в конфиг:
- Search prompt
, ((mod4Mask .|. shiftMask, xK_s), promptSearchBrowser mySearchConfig myBrowser duckduckgo)
, ((mod4Mask .|. shiftMask, xK_y), promptSearchBrowser mySearchConfig myBrowser youtube)
, ((mod4Mask .|. shiftMask, xK_d), promptSearchBrowser mySearchConfig myBrowser deb)
где
mySearchConfig - имя нашего окна, которое мы сконфигурировали ранее;
myBrowser - браузер используемый по умолчанию.

Я пользуюсь браузером Chromium поэтому в xmonad.hs прописал константу:
myBrowser = "chromium"

Остаётся перекомпилировать и перезагрузить xmonad, чтобы все изменения вступили в силу.
А вот как это выглядит, например, при нажатии сочетания клавиш mod4 + Shift + s:

После ввода запроса и нажатия клавиши Enter откроется браузер с результатами поиска.
 
Пользователи, которые поблагодарили этот пост: Ogis1975


Теги: xmonad xmobar 
 

[решено]xmonad - открытие диалоговых окон

Автор redVi

Ответов: 0
Просмотров: 1600
Последний ответ 19 Октябрь 2012, 10:16:16
от redVi