mirror of
https://codeberg.org/leana8959/.files.git
synced 2026-02-01 14:39:39 +00:00
Compare commits
4 commits
24775459ed
...
2d17c2c145
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d17c2c145 | |||
| 245da500a0 | |||
| 088c6b31a5 | |||
| 040afef280 |
3 changed files with 36 additions and 8 deletions
|
|
@ -23,8 +23,10 @@ instance LayoutClass SetMasterNTall a where
|
||||||
let ws' = W.Workspace t (unSetMasterNTall l) s
|
let ws' = W.Workspace t (unSetMasterNTall l) s
|
||||||
in (fmap . fmap . fmap) SetMasterNTall . runLayout ws'
|
in (fmap . fmap . fmap) SetMasterNTall . runLayout ws'
|
||||||
|
|
||||||
handleMessage (SetMasterNTall l@(ResizableTall _n0 d f s)) mess
|
handleMessage (SetMasterNTall l@(ResizableTall n0 d f s)) mess
|
||||||
| Just (SetMasterN n) <- fromMessage mess = pure $ Just $ SetMasterNTall $ ResizableTall n d f s
|
| Just (SetMasterN n) <- fromMessage mess = pure $
|
||||||
|
if n0 /= n then Just $ SetMasterNTall $ ResizableTall n d f s
|
||||||
|
else Nothing
|
||||||
| otherwise = (fmap . fmap) SetMasterNTall . handleMessage l $ mess
|
| otherwise = (fmap . fmap) SetMasterNTall . handleMessage l $ mess
|
||||||
|
|
||||||
description (SetMasterNTall l) = description l
|
description (SetMasterNTall l) = description l
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,9 @@ import XMonad.Util.NamedScratchpad
|
||||||
import XMonad.Util.SpawnOnce
|
import XMonad.Util.SpawnOnce
|
||||||
|
|
||||||
import Data.Char.Greek
|
import Data.Char.Greek
|
||||||
|
import qualified Data.Map.Strict as M
|
||||||
import Data.Ratio
|
import Data.Ratio
|
||||||
import Data.Semigroup
|
import Data.Semigroup
|
||||||
import qualified Data.Map.Strict as M
|
|
||||||
import System.Posix
|
import System.Posix
|
||||||
import Graphics.X11.ExtraTypes.XF86
|
import Graphics.X11.ExtraTypes.XF86
|
||||||
|
|
||||||
|
|
@ -209,11 +209,21 @@ setMasterNEventHandleHook :: Event -> X All
|
||||||
setMasterNEventHandleHook ev =
|
setMasterNEventHandleHook ev =
|
||||||
let adjustMasterCount :: X ()
|
let adjustMasterCount :: X ()
|
||||||
adjustMasterCount = do
|
adjustMasterCount = do
|
||||||
count <- gets $ length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
ws <- gets windowset
|
||||||
if count <= 3 then sendMessage (SetMasterN 1)
|
-- Remove the floating windows in the count
|
||||||
else if count <= 5 then sendMessage (SetMasterN 2)
|
let s :: Maybe (W.Stack Window)
|
||||||
else if count <= 7 then sendMessage (SetMasterN 3)
|
s = W.stack $ W.workspace $ W.current ws
|
||||||
else pure ()
|
|
||||||
|
count :: Int
|
||||||
|
count =
|
||||||
|
length
|
||||||
|
$ filter (flip M.notMember (W.floating ws))
|
||||||
|
$ W.integrate' s
|
||||||
|
|
||||||
|
if count > 7 then sendMessage (SetMasterN 4)
|
||||||
|
else if count > 5 then sendMessage (SetMasterN 3)
|
||||||
|
else if count > 3 then sendMessage (SetMasterN 2)
|
||||||
|
else sendMessage (SetMasterN 1)
|
||||||
in do
|
in do
|
||||||
case ev of
|
case ev of
|
||||||
MapRequestEvent{} -> adjustMasterCount
|
MapRequestEvent{} -> adjustMasterCount
|
||||||
|
|
|
||||||
|
|
@ -76,4 +76,20 @@
|
||||||
services.mullvad-vpn.enable = true;
|
services.mullvad-vpn.enable = true;
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Printing and auto-discovery of Wi-Fi printers
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = with pkgs; [
|
||||||
|
cups-filters
|
||||||
|
cups-browsed
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue