From e31cb35087a5e74b824b0b09aa7860d69c08ecb9 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Mon, 15 Mar 2021 18:02:04 +0000 Subject: [PATCH] Add Config files --- README.md | 38 +- etc/lightdm/lightdm.conf | 163 +++++++++ home/vylpes/.config/alacritty/alacritty.yml | 83 +++++ home/vylpes/.config/nitrogen/bg-saved.cfg | 4 + home/vylpes/.config/nitrogen/nitrogen.cfg | 12 + home/vylpes/.config/xmobar/xmobarrc0 | 31 ++ home/vylpes/.config/xmobar/xmobarrc0.BAK | 31 ++ home/vylpes/.xmonad/xmonad.hs | 373 ++++++++++++++++++++ 8 files changed, 734 insertions(+), 1 deletion(-) create mode 100644 etc/lightdm/lightdm.conf create mode 100644 home/vylpes/.config/alacritty/alacritty.yml create mode 100644 home/vylpes/.config/nitrogen/bg-saved.cfg create mode 100644 home/vylpes/.config/nitrogen/nitrogen.cfg create mode 100644 home/vylpes/.config/xmobar/xmobarrc0 create mode 100644 home/vylpes/.config/xmobar/xmobarrc0.BAK create mode 100644 home/vylpes/.xmonad/xmonad.hs diff --git a/README.md b/README.md index 27ef622..a5a5bd8 100644 --- a/README.md +++ b/README.md @@ -1 +1,37 @@ -# dotfiles \ No newline at end of file +# Vylpes' Dotfiles Repository + +This repository includes all my linux configuration files + +## Package List + +This is a list of the packages I use + +- alacritty +- alsa-firmware +- alsa-lib +- alsa-plugins +- alsa-utils +- cmatrix +- cups +- discord +- dmenu +- dolphin-emu +- gimp +- lightdm +- lightdm-webkit2-greeter +- networkmanager +- nitrogen +- nodejs +- npm +- nvidia +- openssh +- picom +- pulseaudio +- qemu +- retroarch +- sudo +- vim +- x11 +- xmonad +- xmobar +- zsh diff --git a/etc/lightdm/lightdm.conf b/etc/lightdm/lightdm.conf new file mode 100644 index 0000000..f089f90 --- /dev/null +++ b/etc/lightdm/lightdm.conf @@ -0,0 +1,163 @@ +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# backup-logs = True to move add a .old suffix to old log files when opening new ones +# dbus-service = True if LightDM provides a D-Bus service to control it +# +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799 +#lock-memory=true +#user-authority-in-system-dir=false +#guest-account-script=guest-account +#logind-check-graphical=false +#log-directory=/var/log/lightdm +run-directory=/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions +#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters +#backup-logs=true +#dbus-service=true + +# +# Seat configuration +# +# Seat configuration is matched against the seat name glob in the section, for example: +# [Seat:*] matches all seats and is applied first. +# [Seat:seat0] matches the seat named "seat0". +# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client". +# +# type = Seat type (local, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) +# xserver-config = Config file to pass to X server +# xserver-layout = Layout to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# greeter-session = Session to load for greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# +[Seat:*] +#type=local +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xmir-command=Xmir +#xserver-config= +#xserver-layout= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +greeter-session=lightdm-webkit2-greeter +#greeter-hide-users=false +#greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +user-session=xmonad +#allow-user-switching=true +#allow-guest=true +#guest-session= +session-wrapper=/etc/lightdm/Xsession +#greeter-wrapper= +#guest-wrapper= +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +#session-setup-script= +#session-cleanup-script= +#autologin-guest=false +#autologin-user= +#autologin-user-timeout=0 +#autologin-in-background=false +#autologin-session= +#exit-on-failure=false + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +[XDMCPServer] +#enabled=false +#port=177 +#listen-address= +#key= +#hostname= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# listen-address = Host/address to listen for VNC connections (use all addresses if not present) +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#listen-address= +#width=1024 +#height=768 +#depth=8 diff --git a/home/vylpes/.config/alacritty/alacritty.yml b/home/vylpes/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..b89cfbe --- /dev/null +++ b/home/vylpes/.config/alacritty/alacritty.yml @@ -0,0 +1,83 @@ +env: + TERM: xterm-256color + +window: + padding: + x: 6 + y: 6 + + title: Alacritty + + class: + instance: Alacritty + general: Alacritty + +scrolling: + history: 5000 + +font: + normal: + family: Hack + style: Regular + + bold: + family: Hack + style: Bold + + italic: + family: Hack + style: Italic + + bold_italic: + family: Hack + style: Bold Italic + + size: 11.0 + + offset: + x: 0 + y: 1 + +draw_bold_text_with_bright_colors: true + +colors: + primary: + background: '0x282c34' + foreground: '0xbbc2cf' + + selection: + text: '0xbbc2cf' + background: '0x282c34' + + normal: + black: '0x1c1f24' + red: '0xff6c6b' + green: '0x98be65' + yellow: '0xda8548' + blue: '0x51afef' + magenta: '0xc678dd' + cyan: '0x5699af' + white: '0x202338' + + bright: + black: '0x5b6268' + red: '0xda8548' + green: '0x4db5bd' + yellow: '0xecbe7b' + blue: '0x3071db' + magenta: '0xa9a1e1' + cyan: '0x46d9ff' + white: '0xdfdfdf' + +background_opacity: 0.75 + +key_bindings: + - { key: V, mods: Control|Shift, action: Paste } + - { key: C, mods: Control|Shift, action: Copy } + - { key: PageUp, mods: Shift, action: ScrollPageUp } + - { key: PageDown, mods: Shift, action: ScrollPageDown } + - { key: Home, mods: Shift, action: ScrollToTop } + - { key: End, mods: Shift, action: ScrollToBottom } + +shell: + program: /bin/zsh diff --git a/home/vylpes/.config/nitrogen/bg-saved.cfg b/home/vylpes/.config/nitrogen/bg-saved.cfg new file mode 100644 index 0000000..ee0bc56 --- /dev/null +++ b/home/vylpes/.config/nitrogen/bg-saved.cfg @@ -0,0 +1,4 @@ +[xin_-1] +file=/home/vylpes/Pictures/Wallpapers/wmf4pf98d4l61.png +mode=0 +bgcolor=#000000 diff --git a/home/vylpes/.config/nitrogen/nitrogen.cfg b/home/vylpes/.config/nitrogen/nitrogen.cfg new file mode 100644 index 0000000..7bd7963 --- /dev/null +++ b/home/vylpes/.config/nitrogen/nitrogen.cfg @@ -0,0 +1,12 @@ +[geometry] +posx=0 +posy=30 +sizex=3836 +sizey=2126 + +[nitrogen] +view=icon +recurse=true +sort=alpha +icon_caps=false +dirs=/home/vylpes/Pictures/Wallpapers;/usr/share/backgrounds/gnome; diff --git a/home/vylpes/.config/xmobar/xmobarrc0 b/home/vylpes/.config/xmobar/xmobarrc0 new file mode 100644 index 0000000..5eab6a0 --- /dev/null +++ b/home/vylpes/.config/xmobar/xmobarrc0 @@ -0,0 +1,31 @@ +Config { font = "xft:hack:pixelsize=30:antialias=true:hinting=true" + , additionalFonts = [] + , borderColor = "black" + , border = TopB + , bgColor = "black" + , fgColor = "grey" + , alpha = 255 + , position = Static { xpos = 0, ypos = 0, width = 3940, height = 30 } + , textOffset = -1 + , iconOffset = -1 + , lowerOnStart = True + , pickBroadest = False + , persistent = True + , hideOnStart = False + , iconRoot = "/home/vylpes/.xmonad/xpm" + , allDesktops = False + , overrideRedirect = True + , commands = [ Run Network "enp24s0" ["-t", "rx kb tx kb"] 10 + , Run Cpu ["-t", "cpu %", "-L","3","-H","50", + "--normal","green","--high","red"] 10 + , Run Memory ["-t","mem %"] 10 + , Run Com "uname" ["-s","-r"] "" 36000 + , Run Date "%a %_d %b %Y %H:%M" "date" 10 + , Run DiskU [("/", "ssd free"),("/home", "| hdd free")] [] 10 + , Run UnsafeStdinReader + ] + , sepChar = "%" + , alignSep = "}{" + , template = "%cpu% | %memory% | %enp24s0% | %disku% }\ + \{ %date% | %uname% | %UnsafeStdinReader%" + } diff --git a/home/vylpes/.config/xmobar/xmobarrc0.BAK b/home/vylpes/.config/xmobar/xmobarrc0.BAK new file mode 100644 index 0000000..e4a86d1 --- /dev/null +++ b/home/vylpes/.config/xmobar/xmobarrc0.BAK @@ -0,0 +1,31 @@ +Config { font = "xft:hack:pixelsize=24:antialias=true:hinting=true" + , additionalFonts = [] + , borderColor = "black" + , border = TopB + , bgColor = "black" + , fgColor = "grey" + , alpha = 255 + , position = Static { xpos = 0, ypos = 0, width = 3840, height = 32 } + , textOffset = -1 + , iconOffset = -1 + , lowerOnStart = True + , pickBroadest = False + , persistent = True + , hideOnStart = False + , iconRoot = "/home/vylpes/.xmonad/xpm" + , allDesktops = False + , overrideRedirect = True + , commands = [ Run Network "enp24s0" ["-t", "rx kb tx kb"] 10 + , Run Cpu ["-t", "cpu %", "-L","3","-H","50", + "--normal","green","--high","red"] 10 + , Run Memory ["-t","mem %"] 10 + , Run Com "uname" ["-s","-r"] "" 36000 + , Run Date "%a %_d %b %Y %H:%M" "date" 10 + , Run DiskU [("/", "hdd free")] [] 10 + , Run UnsafeStdinReader + ] + , sepChar = "%" + , alignSep = "}{" + , template = "%cpu% | %memory% | %enp24s0% | %disku% }\ + \{ %date% | %uname% | %UnsafeStdinReader%" + } diff --git a/home/vylpes/.xmonad/xmonad.hs b/home/vylpes/.xmonad/xmonad.hs new file mode 100644 index 0000000..9ec0e9b --- /dev/null +++ b/home/vylpes/.xmonad/xmonad.hs @@ -0,0 +1,373 @@ +-- IMPORTS + +import XMonad +import Data.Monoid +import System.Exit +import XMonad.Util.SpawnOnce +import XMonad.Util.Run +import XMonad.Hooks.ManageDocks +import XMonad.Hooks.WorkspaceHistory +import XMonad.Hooks.DynamicLog +import XMonad.Actions.MouseResize +import Data.Map (fromList) +import Data.Monoid (mappend) +import XMonad.Layout.Grid +import XMonad.Layout.WindowArranger +import XMonad.Layout.MultiToggle +import XMonad.Hooks.ManageHelpers + +import qualified XMonad.StackSet as W +import qualified Data.Map as M +import qualified XMonad.Layout.ToggleLayouts as T + +-- The preferred terminal program, which is used in a binding below and by +-- certain contrib modules. +-- +myTerminal = "alacritty" + +-- Whether focus follows the mouse pointer. +myFocusFollowsMouse :: Bool +myFocusFollowsMouse = True + +-- Whether clicking on a window to focus also passes the click to the window +myClickJustFocuses :: Bool +myClickJustFocuses = False + +-- Width of the window border in pixels. +-- +myBorderWidth = 2 + +windowCount :: X (Maybe String) +windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset + +-- modMask lets you specify which modkey you want to use. The default +-- is mod1Mask ("left alt"). You may also consider using mod3Mask +-- ("right alt"), which does not conflict with emacs keybindings. The +-- "windows key" is usually mod4Mask. +-- +myModMask = mod4Mask + +-- The default number of workspaces (virtual screens) and their names. +-- By default we use numeric strings, but any string may be used as a +-- workspace name. The number of workspaces is determined by the length +-- of this list. +-- +-- A tagging example: +-- +-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9] +-- +myWorkspaces = ["1","2","3","4","5","6","7","8","9"] + +-- Border colors for unfocused and focused windows, respectively. +-- +myNormalBorderColor = "#222222" +myFocusedBorderColor = "#dddddd" + +------------------------------------------------------------------------ +-- Key bindings. Add, modify or remove key bindings here. +-- +myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ + + -- launch a terminal + [ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf) + + -- launch dmenu +-- , ((modm, xK_p ), spawn "sh ~/.scripts/dmenu_fix") + , ((modm, xK_p ), spawn "dmenu_run") + + -- launch firefox + , ((modm .|. shiftMask, xK_b ), spawn "firefox") + + -- launch flameshot + , ((modm .|. shiftMask, xK_F3 ), spawn "flameshot full -c -p ~/Pictures/captures") + , ((modm .|. shiftMask, xK_F4 ), spawn "flameshot gui -p ~/Pictures/captures") + + -- launch gmrun + , ((modm .|. shiftMask, xK_p ), spawn "gmrun") + + -- close focused window + , ((modm .|. shiftMask, xK_c ), kill) + + -- Rotate through the available layout algorithms + , ((modm, xK_space ), sendMessage NextLayout) + + -- Reset the layouts on the current workspace to default + , ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) + + -- Resize viewed windows to the correct size + , ((modm, xK_n ), refresh) + + -- Move focus to the next window + , ((modm, xK_Tab ), windows W.focusDown) + + -- Move focus to the next window + , ((modm, xK_j ), windows W.focusDown) + + -- Move focus to the previous window + , ((modm, xK_k ), windows W.focusUp ) + + -- Move focus to the master window + , ((modm, xK_m ), windows W.focusMaster ) + + -- Swap the focused window and the master window + , ((modm, xK_Return), windows W.swapMaster) + + -- Swap the focused window with the next window + , ((modm .|. shiftMask, xK_j ), windows W.swapDown ) + + -- Swap the focused window with the previous window + , ((modm .|. shiftMask, xK_k ), windows W.swapUp ) + + -- Shrink the master area + , ((modm, xK_h ), sendMessage Shrink) + + -- Expand the master area + , ((modm, xK_l ), sendMessage Expand) + + -- Lock the screen + , ((modm .|. shiftMask, xK_z ), spawn "dm-tool lock") + + -- Push window back into tiling + , ((modm, xK_t ), withFocused $ windows . W.sink) + + -- Increment the number of windows in the master area + , ((modm , xK_comma ), sendMessage (IncMasterN 1)) + + -- Deincrement the number of windows in the master area + , ((modm , xK_period), sendMessage (IncMasterN (-1))) + + -- Toggle the status bar gap + -- Use this binding with avoidStruts from Hooks.ManageDocks. + -- See also the statusBar function from Hooks.DynamicLog. + -- + -- , ((modm , xK_b ), sendMessage ToggleStruts) + + -- Quit xmonad + , ((modm .|. shiftMask, xK_q ), io (exitWith ExitSuccess)) + + -- Restart xmonad + , ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart") + + -- Run xmessage with a summary of the default keybindings (useful for beginners) + , ((modm .|. shiftMask, xK_slash ), spawn ("echo \"" ++ help ++ "\" | xmessage -file -")) + ] + ++ + + -- + -- mod-[1..9], Switch to workspace N + -- mod-shift-[1..9], Move client to workspace N + -- + [((m .|. modm, k), windows $ f i) + | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] + , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] + ++ + + -- + -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 + -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 + -- + [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f)) + | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] + , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] + + +------------------------------------------------------------------------ +-- Mouse bindings: default actions bound to mouse events +-- +myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $ + + -- mod-button1, Set the window to floating mode and move by dragging + [ ((modm, button1), (\w -> focus w >> mouseMoveWindow w + >> windows W.shiftMaster)) + + -- mod-button2, Raise the window to the top of the stack + , ((modm, button2), (\w -> focus w >> windows W.shiftMaster)) + + -- mod-button3, Set the window to floating mode and resize by dragging + , ((modm, button3), (\w -> focus w >> mouseResizeWindow w + >> windows W.shiftMaster)) + + -- you may also bind events to the mouse scroll wheel (button4 and button5) + ] + +------------------------------------------------------------------------ +-- Layouts: + +-- You can specify and transform your layouts by modifying these values. +-- If you change layout bindings be sure to use 'mod-shift-space' after +-- restarting (with 'mod-q') to reset your layout state to the new +-- defaults, as xmonad preserves your old layout settings by default. +-- +-- The available layouts. Note that each layout is separated by |||, +-- which denotes layout choice. +-- +myLayout = avoidStruts (tiled ||| Mirror tiled ||| Full ||| Grid) + where + -- default tiling algorithm partitions the screen into two panes + tiled = Tall nmaster delta ratio + + -- The default number of windows in the master pane + nmaster = 1 + + -- Default proportion of screen occupied by master pane + ratio = 1/2 + + -- Percent of screen to increment by when resizing panes + delta = 3/100 + +------------------------------------------------------------------------ +-- Window rules: + +-- Execute arbitrary actions and WindowSet manipulations when managing +-- a new window. You can use this to, for example, always float a +-- particular program, or have a client always appear on a particular +-- workspace. +-- +-- To find the property name associated with a program, use +-- > xprop | grep WM_CLASS +-- and click on the client you're interested in. +-- +-- To match on the WM_NAME, you can use 'title' in the same way that +-- 'className' and 'resource' are used below. +-- +myManageHook = composeAll + [ className =? "MPlayer" --> doFloat + , className =? "Gimp" --> doFloat + , resource =? "desktop_window" --> doIgnore + , resource =? "kdesktop" --> doIgnore ] + +------------------------------------------------------------------------ +-- Event handling + +-- * EwmhDesktops users should change this to ewmhDesktopsEventHook +-- +-- Defines a custom handler function for X Events. The function should +-- return (All True) if the default handler is to be run afterwards. To +-- combine event hooks use mappend or mconcat from Data.Monoid. +-- +myEventHook = mempty + +------------------------------------------------------------------------ +-- Status bars and logging + +-- Perform an arbitrary action on each internal state change or X event. +-- See the 'XMonad.Hooks.DynamicLog' extension for examples. +-- +myLogHook = return () + +------------------------------------------------------------------------ +-- Startup hook + +-- Perform an arbitrary action each time xmonad starts or is restarted +-- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize +-- per-workspace layout choices. +-- +-- By default, do nothing. +myStartupHook = do + spawnOnce "nitrogen --restore &" + spawnOnce "picom &" + spawnOnce "unclutter &" + spawnOnce "setxkbmap us" + +------------------------------------------------------------------------ +-- Now run xmonad with all the defaults we set up. + +-- Run xmonad with the settings you specify. No need to modify this. +-- +main :: IO () +main = do + xmproc0 <- spawnPipe "xmobar -x 0 /home/vylpes/.config/xmobar/xmobarrc0" +-- xmproc1 <- spawnPipe "xmobar -x 1 /home/vylpes/.config/xmobar/xmobarrc1" + xmonad $ docks $ defaults xmproc0 + +-- A structure containing your configuration settings, overriding +-- fields in the default config. Any you don't override, will +-- use the defaults defined in xmonad/XMonad/Config.hs +-- +-- No need to modify this. +-- +defaults xmproc0 = def { + -- simple stuff + terminal = myTerminal, + focusFollowsMouse = myFocusFollowsMouse, + clickJustFocuses = myClickJustFocuses, + borderWidth = myBorderWidth, + modMask = myModMask, + workspaces = myWorkspaces, + normalBorderColor = myNormalBorderColor, + focusedBorderColor = myFocusedBorderColor, + + -- key bindings + keys = myKeys, + mouseBindings = myMouseBindings, + + -- hooks, layouts + layoutHook = myLayout, + manageHook = ( isFullscreen --> doFullFloat ) <+> myManageHook <+> manageDocks, + handleEventHook = myEventHook, +-- logHook = myLogHook, + logHook = workspaceHistoryHook <+> myLogHook <+> dynamicLogWithPP xmobarPP + { ppOutput = \x -> hPutStrLn xmproc0 x + , ppCurrent = xmobarColor "#98be65" "" . wrap "[" "]" + , ppVisible = xmobarColor "#98be65" "" + , ppHidden = xmobarColor "#82AAFF" "" . wrap "*" "" + , ppHiddenNoWindows = xmobarColor "#c792ea" "" + , ppTitle = xmobarColor "#b3afc2" "" . shorten 60 + , ppSep = " | " + , ppUrgent = xmobarColor "#C45500" "" . wrap "!" "!" + , ppExtras = [windowCount] + , ppOrder = \(ws:l:t:ex) -> [ws,l] + }, + startupHook = myStartupHook + } + +-- | Finally, a copy of the default bindings in simple textual tabular format. +help :: String +help = unlines ["The default modifier key is 'alt'. Default keybindings:", + "", + "-- launching and killing programs", + "mod-Shift-Enter Launch xterminal", + "mod-p Launch dmenu", + "mod-Shift-p Launch gmrun", + "mod-Shift-c Close/kill the focused window", + "mod-Space Rotate through the available layout algorithms", + "mod-Shift-Space Reset the layouts on the current workSpace to default", + "mod-n Resize/refresh viewed windows to the correct size", + "", + "-- move focus up or down the window stack", + "mod-Tab Move focus to the next window", + "mod-Shift-Tab Move focus to the previous window", + "mod-j Move focus to the next window", + "mod-k Move focus to the previous window", + "mod-m Move focus to the master window", + "", + "-- modifying the window order", + "mod-Return Swap the focused window and the master window", + "mod-Shift-j Swap the focused window with the next window", + "mod-Shift-k Swap the focused window with the previous window", + "", + "-- resizing the master/slave ratio", + "mod-h Shrink the master area", + "mod-l Expand the master area", + "", + "-- floating layer support", + "mod-t Push window back into tiling; unfloat and re-tile it", + "", + "-- increase or decrease number of windows in the master area", + "mod-comma (mod-,) Increment the number of windows in the master area", + "mod-period (mod-.) Deincrement the number of windows in the master area", + "", + "-- quit, or restart", + "mod-Shift-q Quit xmonad", + "mod-q Restart xmonad", + "mod-[1..9] Switch to workSpace N", + "", + "-- Workspaces & screens", + "mod-Shift-[1..9] Move client to workspace N", + "mod-{w,e,r} Switch to physical/Xinerama screens 1, 2, or 3", + "mod-Shift-{w,e,r} Move client to screen 1, 2, or 3", + "", + "-- Mouse bindings: default actions bound to mouse events", + "mod-button1 Set the window to floating mode and move by dragging", + "mod-button2 Raise the window to the top of the stack", + "mod-button3 Set the window to floating mode and resize by dragging"]