Add Config files
This commit is contained in:
parent
df4e1c1a4e
commit
e31cb35087
8 changed files with 734 additions and 1 deletions
38
README.md
38
README.md
|
@ -1 +1,37 @@
|
||||||
# dotfiles
|
# 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
|
||||||
|
|
163
etc/lightdm/lightdm.conf
Normal file
163
etc/lightdm/lightdm.conf
Normal file
|
@ -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
|
83
home/vylpes/.config/alacritty/alacritty.yml
Normal file
83
home/vylpes/.config/alacritty/alacritty.yml
Normal file
|
@ -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
|
4
home/vylpes/.config/nitrogen/bg-saved.cfg
Normal file
4
home/vylpes/.config/nitrogen/bg-saved.cfg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[xin_-1]
|
||||||
|
file=/home/vylpes/Pictures/Wallpapers/wmf4pf98d4l61.png
|
||||||
|
mode=0
|
||||||
|
bgcolor=#000000
|
12
home/vylpes/.config/nitrogen/nitrogen.cfg
Normal file
12
home/vylpes/.config/nitrogen/nitrogen.cfg
Normal file
|
@ -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;
|
31
home/vylpes/.config/xmobar/xmobarrc0
Normal file
31
home/vylpes/.config/xmobar/xmobarrc0
Normal file
|
@ -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 <rx>kb tx <tx>kb"] 10
|
||||||
|
, Run Cpu ["-t", "cpu <total>%", "-L","3","-H","50",
|
||||||
|
"--normal","green","--high","red"] 10
|
||||||
|
, Run Memory ["-t","mem <usedratio>%"] 10
|
||||||
|
, Run Com "uname" ["-s","-r"] "" 36000
|
||||||
|
, Run Date "%a %_d %b %Y %H:%M" "date" 10
|
||||||
|
, Run DiskU [("/", "ssd <free> free"),("/home", "| hdd <free> free")] [] 10
|
||||||
|
, Run UnsafeStdinReader
|
||||||
|
]
|
||||||
|
, sepChar = "%"
|
||||||
|
, alignSep = "}{"
|
||||||
|
, template = "%cpu% | %memory% | %enp24s0% | %disku% }\
|
||||||
|
\{ <fc=#ee9a00>%date%</fc> | %uname% | %UnsafeStdinReader%"
|
||||||
|
}
|
31
home/vylpes/.config/xmobar/xmobarrc0.BAK
Normal file
31
home/vylpes/.config/xmobar/xmobarrc0.BAK
Normal file
|
@ -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 <rx>kb tx <tx>kb"] 10
|
||||||
|
, Run Cpu ["-t", "cpu <total>%", "-L","3","-H","50",
|
||||||
|
"--normal","green","--high","red"] 10
|
||||||
|
, Run Memory ["-t","mem <usedratio>%"] 10
|
||||||
|
, Run Com "uname" ["-s","-r"] "" 36000
|
||||||
|
, Run Date "%a %_d %b %Y %H:%M" "date" 10
|
||||||
|
, Run DiskU [("/", "hdd <free> free")] [] 10
|
||||||
|
, Run UnsafeStdinReader
|
||||||
|
]
|
||||||
|
, sepChar = "%"
|
||||||
|
, alignSep = "}{"
|
||||||
|
, template = "%cpu% | %memory% | %enp24s0% | %disku% }\
|
||||||
|
\{ <fc=#ee9a00>%date%</fc> | %uname% | %UnsafeStdinReader%"
|
||||||
|
}
|
373
home/vylpes/.xmonad/xmonad.hs
Normal file
373
home/vylpes/.xmonad/xmonad.hs
Normal file
|
@ -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"]
|
Loading…
Reference in a new issue