diff options
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/apps/dev.nix | 2 | ||||
| -rw-r--r-- | gui/conf/touchegg.conf | 18 | ||||
| -rw-r--r-- | gui/conf/xmonad.hs | 60 | ||||
| -rw-r--r-- | gui/gtk.nix | 1 | ||||
| -rw-r--r-- | gui/hidpi.nix | 28 | ||||
| -rw-r--r-- | gui/kitty.nix | 4 | ||||
| -rw-r--r-- | gui/networkmanager.nix | 2 | ||||
| -rw-r--r-- | gui/redshift.nix | 10 | ||||
| -rw-r--r-- | gui/stalonetray.nix | 20 | ||||
| -rw-r--r-- | gui/touchegg.nix | 22 | ||||
| -rw-r--r-- | gui/twmn.nix | 2 | ||||
| -rw-r--r-- | gui/xmonad.nix | 5 | 
12 files changed, 149 insertions, 25 deletions
| diff --git a/gui/apps/dev.nix b/gui/apps/dev.nix index 2d7397c..4f3bf2e 100644 --- a/gui/apps/dev.nix +++ b/gui/apps/dev.nix @@ -9,6 +9,8 @@        qcachegrind        gitg        paraview +    # language utilities +      artha      ];    };  } diff --git a/gui/conf/touchegg.conf b/gui/conf/touchegg.conf new file mode 100644 index 0000000..2afb98b --- /dev/null +++ b/gui/conf/touchegg.conf @@ -0,0 +1,18 @@ +<touchégg> + +<application name="All"> + +<gesture type="DRAG" fingers="3" direction="LEFT"> +	<action type="SEND_KEYS">Control+j</action> +</gesture> + +<gesture type="DRAG" fingers="3" direction="RIGHT"> +	<action type="SEND_KEYS">Control+k</action> +</gesture> + +<gesture type="TAP" fingers="2"> +	<action type="MOUSE_CLICK">BUTTON=3</action> +</gesture> + +</application> +</touchégg> diff --git a/gui/conf/xmonad.hs b/gui/conf/xmonad.hs index bf067f9..bec0fff 100644 --- a/gui/conf/xmonad.hs +++ b/gui/conf/xmonad.hs @@ -4,6 +4,7 @@ import qualified XMonad.StackSet as S  import XMonad.Hooks.EwmhDesktops  import XMonad.Hooks.ManageHelpers +import XMonad.Hooks.ManageDocks  import XMonad.Hooks.InsertPosition  import XMonad.Layout.Tabbed @@ -36,6 +37,7 @@ import XMonad.Actions.UpdatePointer  import Data.Maybe  import Control.Monad (when)  import Data.Map (Map, fromList, member) +import Data.List (unionBy)  import System.Exit  import System.Posix.Unistd @@ -43,9 +45,9 @@ import System.Posix.Unistd  workspaces :: [WorkspaceId]  workspaces = map show [1 .. 9 :: Int] -customTabTheme = (theme xmonadTheme) +customTabTheme host = (theme xmonadTheme)    { fontName      = "xft:Iosevka Medium-12" -  , decoHeight    = 20 +  , decoHeight    = decoHeightOn host    , activeTextColor     = "#222222"    , activeColor         = "#909636"    , inactiveTextColor   = "#999999" @@ -60,7 +62,7 @@ customLayoutHook host = id    $ bsp ||| tabs ||| frame ||| tiles ||| two    where      bsp    = name "bsp"   $ borderResize (emptyBSP) -    tabs   = name "tabs"  $ tabbed shrinkText customTabTheme +    tabs   = name "tabs"  $ tabbed shrinkText (customTabTheme host)      frame  = name "frame" $ id                            . mkToggle (single REFLECTX)                            . mkToggle (single REFLECTY) @@ -100,6 +102,8 @@ scratchpads host =         (customFloating $ hideScreenBorder host dropDownLarge)    , NS "documentation" "zeal"                                                  (className =? "Zeal")         (customFloating $ hideScreenBorder host dropDown) +  , NS "thesaurus"     "artha"                                                 (className =? "Artha") +       (customFloating $ hideScreenBorder host sideBarLeft)    , NS "messaging"     "telegram-desktop"                                      ((className =? "TelegramDesktop") <&&> (title /=? "Media viewer"))         (customFloating $ hideScreenBorder host sideBarRight) ] @@ -114,11 +118,11 @@ windowBringerDmenuConfig = def { menuCommand  = "rofi"                                 , menuArgs     = [ "-p", "win", "-dmenu", "-i" ] }  hostSpecificKeybindings host = case host of -  "asterix" -> [ ("M-i b" , showNotification "Battery" -                                             "`acpi | cut -c 10-`") -               , ("M-i c" , showNotification "`acpi --thermal | awk '{print $4}'`°C" -                                             "`cat /proc/acpi/ibm/fan | awk '/speed/{print $2}'` RPM") -               , ("M-c n" , spawn "networkmanager_dmenu") ] +  "asterix" -> [ ("M-i b"   , showNotification "Battery" +                                               "`acpi | cut -c 10-`") +               , ("M-i c"   , showNotification "`acpi --thermal | awk '{print $4}'`°C" +                                               "`cat /proc/acpi/ibm/fan | awk '/speed/{print $2}'` RPM") +               , ("M-c n"   , spawn "networkmanager_dmenu") ]    "athena"  -> [ ("M-i b" , showNotification "Battery"                                               "`acpi | cut -c 10-`")                 , ("M-i c" , showNotification "`acpi --thermal | awk '{print $4}'`°C" @@ -128,7 +132,8 @@ hostSpecificKeybindings host = case host of                 , ("<XF86MonBrightnessDown>" , spawn "xbacklight -dec 5")                 , ("<XF86AudioRaiseVolume>"  , spawn "amixer sset Master 10%+")                 , ("<XF86AudioLowerVolume>"  , spawn "amixer sset Master 10%-") -               , ("<XF86AudioMute>"         , spawn "amixer sset Master toggle") ] +               , ("<XF86AudioMute>"         , spawn "amixer sset Master toggle") +               , ("<Print>"                 , namedScratchpadAction (scratchpads host) "terminal") ]    "obelix"  -> [ ("M-i g" , showNotification "GPU"                                               "`nvidia-smi --query-gpu=name,temperature.gpu,utilization.gpu,utilization.memory --format=csv,noheader | awk -F',' '{print $1 \" running at\" $2 \"°C due to\" $3 \" load and\" $4 \" memory usage\"}'`") ]    _         -> [ ] @@ -142,34 +147,36 @@ commonKeybindings host =    , ("M-<Space>"     , spawn "rofi -show combi")    , ("M-<Return>"    , spawn "kitty")    , ("M-S-<Return>"  , spawn "nvim-qt --no-ext-tabline") -  , ("<Print>"       , spawn "xfce4-screenshooter") +  , ("<Print>"       , spawn "flameshot gui")  -- window management    , ("M-q"           , windows $ S.shift "NSP")    , ("M-S-q"         , kill) +  , ("M-h"           , sendMessage Shrink) +  , ("M-l"           , sendMessage Expand) +  , ("M-<Backspace>" , nextMatch History (return True)) +-- window movement    , ("M-j"           , windows S.focusDown)    , ("M-k"           , windows S.focusUp)    , ("M-S-j"         , windows S.swapDown)    , ("M-S-k"         , windows S.swapUp) -  , ("M-h"           , sendMessage Shrink) -  , ("M-l"           , sendMessage Expand) -  , ("M-<Backspace>" , nextMatch History (return True))  -- window bringer    , ("M-a"           , gotoMenuConfig  windowBringerDmenuConfig)    , ("M-S-a"         , bringMenuConfig windowBringerDmenuConfig)  -- scratchpads    , ("M-b"           , namedScratchpadAction (scratchpads host) "browser")    , ("M-d"           , namedScratchpadAction (scratchpads host) "documentation") +  , ("M-t"           , namedScratchpadAction (scratchpads host) "thesaurus")    , ("M-m"           , namedScratchpadAction (scratchpads host) "messaging") ] ++  -- workspace selection    [ (p ++ [k]        , windows $ f i) | (i, k) <- zip Main.workspaces ['1' .. '9']                                        , (p, f) <- [ ("M-"   , S.view)                                                    , ("M-S-" , S.shift) ] ] ++ -  [ ("M-s p"         , toggleWS' ["NSP"]) +  [ ("C-<Backspace>" , toggleWS' ["NSP"])  -- workspace movement -  , ("M-s j"         , moveTo  Next nonEmptyWS) -  , ("M-s k"         , moveTo  Prev nonEmptyWS) -  , ("M-S-s j"       , shiftTo Next nonEmptyWS >> moveTo Next nonEmptyWS) -  , ("M-S-s k"       , shiftTo Prev nonEmptyWS >> moveTo Prev nonEmptyWS) +  , ("C-j"           , moveTo  Next nonEmptyWS) +  , ("C-k"           , moveTo  Prev nonEmptyWS) +  , ("C-S-j"         , shiftTo Next nonEmptyWS >> moveTo Next nonEmptyWS) +  , ("C-S-k"         , shiftTo Prev nonEmptyWS >> moveTo Prev nonEmptyWS)  -- workspace layout management    , ("M-v"           , layoutMenu)    , ("M-s l"         , sendMessage NextLayout) @@ -196,7 +203,9 @@ commonKeybindings host =    , ("M-c s"         , spawn "systemctl suspend")    , ("M-c h"         , spawn "systemctl hibernate") ] -customKeybindings host = concatMap ($ host) [commonKeybindings, hostSpecificKeybindings] +customKeybindings host = unionBy (\(keyA,_) (keyB,_) -> keyA == keyB) +                                 (hostSpecificKeybindings host) +                                 (commonKeybindings       host)  customMousebindings (XConfig {XMonad.modMask = modMask}) = fromList    [ ((modMask .|. shiftMask, button1), \w -> focus w >> mouseMoveWindow w) @@ -226,9 +235,10 @@ customLogHook = do  main = do    host <- fmap nodeName getSystemID    xmonad $ ewmh +         $ docks           $ def      { modMask             = mod4Mask -- super key as modifier -    , borderWidth         = 3 +    , borderWidth         = borderWidthOn host      , normalBorderColor   = "#161616"      , focusedBorderColor  = "#909636"      , keys                = \c -> mkKeymap c (customKeybindings host) @@ -311,3 +321,13 @@ screenHeightOn host = case host of    "majestix" -> 1050    "asterix"  -> 768    "athena"   -> 1440 +borderWidthOn host = case host of +  "obelix"   -> 3 +  "majestix" -> 3 +  "asterix"  -> 3 +  "athena"   -> 6 +decoHeightOn host = case host of +  "obelix"   -> 20 +  "majestix" -> 20 +  "asterix"  -> 20 +  "athena"   -> 30 diff --git a/gui/gtk.nix b/gui/gtk.nix index bd1465a..4c59a7f 100644 --- a/gui/gtk.nix +++ b/gui/gtk.nix @@ -31,6 +31,7 @@ in {          wm_border_focus   = "909636";          wm_border_unfocus = "909636";          gtk3_generate_dark = false; +        gtk2_hidpi = false;        };      }; diff --git a/gui/hidpi.nix b/gui/hidpi.nix new file mode 100644 index 0000000..5ea63c2 --- /dev/null +++ b/gui/hidpi.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: + +{ +  home.sessionVariables = { +    GDK_SCALE = "2"; +    GDK_DPI_SCALE = "0.5"; +  }; + +  xresources.extraConfig = '' +    Xft.dpi: 160 +    Xft.autohint: 0 +    Xft.lcdfilter: lcddefault +    Xft.hintstyle: hintfull +    Xft.hinting: 1 +    Xft.antialias: 1 +    Xft.rgba: rgb +  ''; + +  home.file.".config/twmn/twmn.conf".text = '' +    [gui] +    font_size=24 +    height=32 +  ''; + +  programs.rofi.extraConfig = '' +    rofi.dpi: 160 +  ''; +} diff --git a/gui/kitty.nix b/gui/kitty.nix index 9a47dd0..fdd25a3 100644 --- a/gui/kitty.nix +++ b/gui/kitty.nix @@ -36,6 +36,10 @@        # white        color7     #F2F2F2        color15    #FFFFFF + +      map ctrl+shift+plus  change_font_size all +1.0 +      map ctrl+shift+minus change_font_size all -1.0 +      map ctrl+shift+0     change_font_size all 0      '';    };  } diff --git a/gui/networkmanager.nix b/gui/networkmanager.nix index daf3977..595bf48 100644 --- a/gui/networkmanager.nix +++ b/gui/networkmanager.nix @@ -6,6 +6,8 @@      networkmanagerapplet    ]; +  services.network-manager-applet.enable = true; +    home.file.".config/networkmanager-dmenu/config.ini".text = ''      [dmenu]      dmenu_command  = rofi diff --git a/gui/redshift.nix b/gui/redshift.nix new file mode 100644 index 0000000..fabdb89 --- /dev/null +++ b/gui/redshift.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +{ +  services.redshift = { +    enable = true; +    tray = true; +    latitude  = "49.0135248"; +    longitude = "8.40435918703854"; +  }; +} diff --git a/gui/stalonetray.nix b/gui/stalonetray.nix new file mode 100644 index 0000000..ca3baaf --- /dev/null +++ b/gui/stalonetray.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ +  services.stalonetray = { +    enable = true; + +    config = { +      decorations  = "none"; +      icon_size    = 48; +      geometry     = "5x1+10-10"; +      transparent  = false; +      grow_gravity = "E"; +      background   = "#000000"; +      dockapp_mode = "none"; +      window_layer = "bottom"; +      window_strut = "bottom"; +      window_type  = "dock"; +    }; +  }; +} diff --git a/gui/touchegg.nix b/gui/touchegg.nix new file mode 100644 index 0000000..1455da8 --- /dev/null +++ b/gui/touchegg.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: + +{ +  home.file.".config/touchegg/touchegg.conf".source = ./conf/touchegg.conf; + +  systemd.user.services.touchegg = { +    Unit = { +      Description = "Touchégg multitouch gestures"; +      After = [ "graphical-session-pre.target" ]; +      PartOf = [ "graphical-session.target" ]; +    }; + +    Install = { +      WantedBy = [ "graphical-session.target" ]; +    }; + +    Service = { +      ExecStart = "${pkgs.touchegg}/bin/touchegg"; +      Restart = "on-failure"; +    }; +  }; +} diff --git a/gui/twmn.nix b/gui/twmn.nix index 5d26619..e2dcbcb 100644 --- a/gui/twmn.nix +++ b/gui/twmn.nix @@ -30,9 +30,7 @@      background_color=#909737      bounce=true      font=Iosevka -    font_size=15      foreground_color=#111111 -    height=20      in_animation=6      in_animation_duration=500      opacity=100 diff --git a/gui/xmonad.nix b/gui/xmonad.nix index 803cffa..9e8a0a8 100644 --- a/gui/xmonad.nix +++ b/gui/xmonad.nix @@ -13,7 +13,6 @@      pointerCursor = {        package = pkgs.vanilla-dmz;        name    = "Vanilla-DMZ-AA"; -      size    = 16;      };      windowManager.xmonad = { @@ -26,8 +25,6 @@    home.packages = with pkgs; [    # lockscreen      i3lock -  # screenshooter -    xfce4-12.xfce4-screenshooter    ];    services.screen-locker = { @@ -38,4 +35,6 @@    programs.fish.shellAliases = {      mph = "mpv --title hud";    }; + +  services.flameshot.enable = true;  } | 
