commit 9bc6a0ddda360b179cb238d5d4e7c98007e4c709 Author: Snorky Date: Fri Sep 5 22:26:47 2025 +0200 first commit diff --git a/xmobarrc.hs b/xmobarrc.hs new file mode 100644 index 0000000..85cdbe9 --- /dev/null +++ b/xmobarrc.hs @@ -0,0 +1,102 @@ +Config { + + -- appearance + font = "Bitstream Vera Sans Mono Bold 9" + , bgColor = "black" + , fgColor = "#646464" + , position = Top + , border = BottomB + , borderColor = "#646464" + + -- layout + , sepChar = "%" -- delineator between plugin names and straight text + , alignSep = "}{" -- separator between left-right alignment + , template = "%battery% | %multicpu% | %coretemp% | %memory% | %dynnetwork% }{ %RJTT% | %date% || %kbd% " + + -- general behavior + , lowerOnStart = False -- send to bottom of window stack on start + , hideOnStart = False -- start with window unmapped (hidden) + , allDesktops = True -- show on all desktops + , overrideRedirect = True -- set the Override Redirect flag (Xlib) + , pickBroadest = False -- choose widest display (multi-monitor) + , persistent = False -- enable/disable hiding (True = disabled) + + -- plugins + -- Numbers can be automatically colored according to their value. xmobar + -- decides color based on a three-tier/two-cutoff system, controlled by + -- command options: + -- --Low sets the low cutoff + -- --High sets the high cutoff + -- + -- --low sets the color below --Low cutoff + -- --normal sets the color between --Low and --High cutoffs + -- --High sets the color above --High cutoff + -- + -- The --template option controls how the plugin is displayed. Text + -- color can be set by enclosing in tags. For more details + -- see http://projects.haskell.org/xmobar/#system-monitor-plugins. + , commands = + + -- network activity monitor (dynamic interface resolution) + [ Run DynNetwork [ "--template" , ": kB/s|kB/s" + , "--Low" , "1000" -- units: B/s + , "--High" , "5000" -- units: B/s + , "--low" , "darkgreen" + , "--normal" , "darkorange" + , "--high" , "darkred" + ] 10 + + -- cpu activity monitor + , Run MultiCpu [ "--template" , "Cpu: %|%|%|%|%|%|%|%|%|%|%|%|%|%|%|%" + , "--Low" , "50" -- units: % + , "--High" , "85" -- units: % + , "--low" , "darkgreen" + , "--normal" , "darkorange" + , "--high" , "darkred" + ] 10 + + -- cpu core temperature monitor + , Run CoreTemp [ "--template" , "Temp: °C|°C" + , "--Low" , "70" -- units: °C + , "--High" , "80" -- units: °C + , "--low" , "darkgreen" + , "--normal" , "darkorange" + , "--high" , "darkred" + ] 50 + + -- memory usage monitor + , Run Memory [ "--template" ,"Mem: %" + , "--Low" , "20" -- units: % + , "--High" , "90" -- units: % + , "--low" , "darkgreen" + , "--normal" , "darkorange" + , "--high" , "darkred" + ] 10 + + -- battery monitor + , Run Battery [ "--template" , "Batt: " + , "--Low" , "10" -- units: % + , "--High" , "80" -- units: % + , "--low" , "darkred" + , "--normal" , "darkorange" + , "--high" , "darkgreen" + + , "--" -- battery specific options + -- discharging status + , "-o" , "% ()" + -- AC "on" status + , "-O" , "Charging" + -- charged status + , "-i" , "Charged" + ] 50 + + -- time and date indicator + -- (%F = y-m-d date, %a = day of week, %T = h:m:s time) + , Run Date "%F (%a) %T" "date" 10 + + -- keyboard layout indicator + , Run Kbd [ ("us(dvorak)" , "DV") + , ("us" , "US") + ] + ] + } diff --git a/xmonad.hs b/xmonad.hs new file mode 100644 index 0000000..1925e98 --- /dev/null +++ b/xmonad.hs @@ -0,0 +1,72 @@ +-- +-- Configuration file for XMonad + MATE +-- +-- Usage: +-- * Copy this file to ~/.xmonad/ +-- * Run: $ xmonad --recompile +-- * Launch: $ xmonad --replace +-- [Optional] Create an autostart to command with "xmonad --replace" +-- +-- Author: Arturo Fernandez +-- Inspired by: +-- Spencer Janssen +-- rfc +-- License: BSD +-- +import XMonad +import XMonad.Config.Desktop +import XMonad.Util.Run (safeSpawn) +import qualified Data.Map as M +import qualified XMonad.StackSet as W +import System.Exit +import System.Environment (getEnvironment) +import XMonad.Util.EZConfig + +myWorkspaces = ["1","2","3","4","5","6","7","8"] + +mateConfig = desktopConfig + { terminal = "mate-terminal" + , keys = mateKeys <+> keys desktopConfig + } + +mateKeys (XConfig {modMask = modm}) = M.fromList $ + [ ((modm, xK_p), mateRun) + , ((modm .|. shiftMask, xK_q), spawn "mate-session-save --kill") ] + +mateRun :: X () +mateRun = withDisplay $ \dpy -> do + rw <- asks theRoot + mate_panel <- getAtom "_MATE_PANEL_ACTION" + panel_run <- getAtom "_MATE_PANEL_ACTION_RUN_DIALOG" + + io $ allocaXEvent $ \e -> do + setEventType e clientMessage + setClientMessageEvent e rw mate_panel 32 panel_run 0 + sendEvent dpy rw False structureNotifyMask e + sync dpy False + +main = do + xmonad $ mateConfig + { modMask = mod4Mask + , borderWidth = 2 + , workspaces = myWorkspaces + , focusedBorderColor = "#FF0000" + } `additionalKeysP` myKeys + + +myKeys = [ (("M4-f"), spawn "brave-bin") + ,(("M4-S-q"), io exitSuccess) + ,(("M4-q"), spawn "xmonad --recompile; xmonad --restart") + ,(("M4-"), spawn "mate-terminal") + ,(("M4-p"), spawn "dmenu_run") + ,(("M4-z"), kill) + -- BINDING FOR MOVE WORKSPACE + ,(("M4-"), windows $ W.greedyView "1") + ,(("M4-"), windows $ W.greedyView "2") + ,(("M4-"), windows $ W.greedyView "3") + ,(("M4-"), windows $ W.greedyView "4") + ,(("M4-"), windows $ W.greedyView "5") + ,(("M4-"), windows $ W.greedyView "6") + ,(("M4-"), windows $ W.greedyView "7") + ,(("M4-"), windows $ W.greedyView "8") + ] diff --git a/xsessionrc b/xsessionrc new file mode 100644 index 0000000..b8880c0 --- /dev/null +++ b/xsessionrc @@ -0,0 +1,6 @@ +#!/bin/bash + +/usr/bin/xmobar /home/pierre/gitea/xmonad_configuration/xmobarrc.hs & +setxkbmap fr & + +feh --bg-center /home/pierre/Images/76922-1.png &