GithubHelp home page GithubHelp logo

xmonad-stack's Introduction

xmonad-config

xmonad-config is the xmonad configuration used by Andrew Grytsenko.

Introduction

If you are unfamiliar with xmonad, it is a tiling window manager that is notoriously minimal, stable, beautiful, and featureful. If you find yourself spending a lot of time organizing or managing windows, you may consider trying xmonad.

This project contains a completely working and very usable xmonad configuration "out of the box". If you are just starting out with xmonad, this will give you a configuration that. Thought has been put into the colors, key bindings, layouts, and supplementary scripts to make life easier.

This project is also recommended for advanced xmonad users, who may just not want to reinvent the wheel. All source provided with this project is well documented and simple to customize.

Screenshot of xmonad-config For source code, or to contribute, see the xmonad-config project page.

Requirements

Basic Xmonad dependencies

sudo apt install stalonetray dmenu scrot rxvt-unicode xsel feh xfce4-notifyd xfce4-power-manager xautolock i3lock

Dockerized development environment

If you don't want to bother with the above setup you can use the provided docker environment. Make sure you have docker 1.12+.

To spin up the environment run

/bin/sh builder.sh

The working directory with xmonad will be mounted under the same path in the container so editing the files on your host machine will automatically be reflected inside the container. To build xmonad use the steps from Building Xmonad.

Install Xmonad developer dependencies. If you used the docker this step you can skip.

Installing requirements on with stack and llvm-3.9

Install stack if you'll work with docker you can skip this step

curl -sSL https://get.haskellstack.org/ | sh
stack upgrade
cd ~/.xmonad
sudo apt install perl make automake gcc llvm-3.9
sudo apt install libgmp-dev libffi-dev libxpm-dev libxrandr-dev libxft-dev libxml2-dev libxinerama-dev

Building Xmonad

cargo install ripgrep

stack setup
stack build
stack install yeganesh
bash ./build.sh

Starting xmonad from slim, lightdm, xdm, kdm, or gdm

ln -s ~/.xmonad/bin/xsession ~/.xsession
# Logout, login from slim/lightdm/xdm/kdm/gdm

Dvorak Programmer Keyboard shortcuts

After starting xmonad, use the following keyboard shortcuts to function in your new window manager. I recommend you print these out so that you don't get stranded once you logout and back in.

  • Win+Shift+Enter: Start a terminal
  • Win+Ctrl+l: Lock screen
  • Win+p: Start dmenu. Once it comes up, type the name of a program and enter
  • Win+Shift+p: Take screenshot in select mode. Click or click and drag to select
  • Win+Ctrl+Shift+p: Take fullscreen screenshot. Supports multiple monitors
  • Win+Shift+a: Close focused window
  • Win+Space: Change workspace layout
  • Win+Shift+Space: Change back to default workspace layout
  • Win+n: Refresh window
  • Win+Tab: Focus next window
  • Win+j: Focus next window
  • Win+k: Focus previous window
  • Win+m: Focus master window
  • Win+Return: Swap focused window with master window
  • Win+Shift+j: Swap focused window with next window
  • Win+Shift+k: Swap focused window with previous window
  • Win+h: Print pid of current window area
  • Win+l: Expand master window area
  • Win+t: Push floating window back into tiling
  • Win+q: Restart xmonad. This reloads xmonad configuration, does not logout
  • Win+Shift+q: Quit xmonad and logout
  • Win+[1-9]: Switch to workspace 1-9, depending on which number was pressed
  • Win+Shift+[1-9]: Send focused window to workspace 1-9
  • Win+;: Focus left-most monitor (Xinerama screen 1)
  • Win+,: Focus center-most monitor (Xinerama screen 2)
  • Win+.: Focus right-most monitor (Xinerama screen 3)
  • Win+Shift+;: Send focused window to workspace on left-most monitor
  • Win+Shift+,: Send focused window to workspace on center-most monitor
  • Win+Shift+.: Send focused window to workspace on right-most monitor
  • Win+Left Mouse Drag: Drag focused window out of tiling
  • Win+Right Mouse Drag: Resize focused window, bring out of tiling if needed

Personalizing or modifying xmonad-config

All xmonad configuration is in ~/.xmonad/xmonad.hs. This includes things like key bindings, colors, layouts, etc. You may need to have some basic understanding of Haskell in order to modify this file, but most people have no problems.

Most of the xmobar configuration is in ~/.xmonad/xmobar.hs.

All scripts are in ~/.xmonad/bin/. Scripts are provided to do things like take screenshots, start the system tray, start dmenu, or fix your multi-head layout after a fullscreen application may have turned off one of the screens.

xmonad-stack's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.