{"componentChunkName":"component---node-modules-gatsby-theme-document-src-templates-docs-js","path":"/i3wm","result":{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"dwm & i3wm\",\n  \"description\": \"dwm and i3wm usage reference and configuration\"\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"i3wm\"\n  }, \"i3WM\"), mdx(\"h2\", {\n    \"id\": \"installation\"\n  }, \"Installation\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"sudo apt install i3\\n\")), mdx(\"h2\", {\n    \"id\": \"key-binds\"\n  }, \"Key Binds\"), mdx(\"p\", null, \"You can change the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"MOD\"), \" key to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Windows(\\u229E) / Command(\\u2318)\"), \" key by editing \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".config/i3/config\"), \" and changing the line \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"set $mod Mod1\"), \" to \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"set $mod Mod4\"), \".\"), mdx(\"h3\", {\n    \"id\": \"main\"\n  }, \"Main\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Enter\"), \": Open terminal\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + d\"), \": Open app launcher\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + left / down / up / right\"), \": Focus left, down, up, right (or J / K / L / \\xD1)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + left / down / up / right\"), \": Move window left, down, up, right (or J / K / L / \\xD1)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Number\"), \": Switch to another workspace\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + Number\"), \": Move window to workspace\")), mdx(\"h3\", {\n    \"id\": \"modifying-windows\"\n  }, \"Modifying windows\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + f\"), \": Toggle Fullscreen\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + v / h\"), \": Split new window vertically / horizontally\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + r\"), \": Resize Window\")), mdx(\"h3\", {\n    \"id\": \"changing-the-container-layout\"\n  }, \"Changing the container layout\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + e\"), \": Split mode (default)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + s\"), \": Stack mode\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + w\"), \": Tabbed mode\")), mdx(\"h3\", {\n    \"id\": \"floating\"\n  }, \"Floating\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + Space\"), \": Toggle floating\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Left click\"), \": Drag floating\")), mdx(\"h3\", {\n    \"id\": \"miscelanea\"\n  }, \"Miscelanea\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + q\"), \": Close Window\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + c\"), \": Reload configuration file\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + r\"), \": Restart i3 inplace\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"MOD + Shift + e\"), \": Exit i3\")), mdx(\"p\", null, \"If you want to switch between the last two workspaces by pressing \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"MOD + Tab\"), \", edit \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".config/i3/config\"), \" and add this line:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"bindsym $mod+Tab workspace back_and_forth\\n\")), mdx(\"h2\", {\n    \"id\": \"customization\"\n  }, \"Customization\"), mdx(\"p\", null, \"Configuration file is in \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".config/i3/config\")), mdx(\"h3\", {\n    \"id\": \"launch-apps-shortcuts\"\n  }, \"Launch Apps shortcuts\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"# start firefox, file manager nautilus, brave browser, visual studio code and st terminal\\nbindsym $mod+Shift+f exec firefox\\nbindsym $mod+Shift+n exec nautilus\\nbindsym $mod+Shift+b exec brave-browser\\nbindsym $mod+Shift+v exec code\\nbindsym $mod+Shift+s exec st\\n\")), mdx(\"h3\", {\n    \"id\": \"how-to-launch-gnome-system-settings\"\n  }, \"How to launch Gnome System Settings\"), mdx(\"p\", null, \"Open app launcher (\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"MOD + d\"), \") and type \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"gnome-control-center\")), mdx(\"h3\", {\n    \"id\": \"i3statusconf\"\n  }, \"i3status.conf\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"i3status.conf\"), \" is the configuration file for the status bar that appears at the bottom of the screen. The system reads the file by default in the following locations in order of priority:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"~/.config/i3status/config\"), \" (or $XDG_CONFIG_HOME/i3status/config if set)\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"/etc/xdg/i3status/config\"), \" (or $XDG_CONFIG_DIRS/i3status/config if set)\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"~/.i3status.conf\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"em\", {\n    parentName: \"li\"\n  }, \"/etc/i3status.conf\"))), mdx(\"p\", null, \"If you want to place your \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"i3status.conf\"), \" in a different location, for instance \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.config/i3/\"), \", follow these steps:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Copy the file to \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"~/.config/i3/\"))), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"cp /etc/i3status.conf ~/.config/i3/\\n\")), mdx(\"ol\", {\n    \"start\": 2\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Edit the main i3 config file to make use of \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"~/.config/i3/i3status.conf\"))), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"vi ~/.config/i3/config\\n\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"...\\nbar {\\n  status_command i3status -c ~/.config/i3/i3status.conf\\n...\\n}\\n\")), mdx(\"h3\", {\n    \"id\": \"i3blocksconf\"\n  }, \"i3blocks.conf\"), mdx(\"p\", null, \"If you want to use \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"i3blocks\"), \" instead of \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"i3status\"), \", follow these steps:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"apt install i3blocks\\ncp /etc/i3blocks.conf ~/.config/i3/\\nvi ~/.config/i3/i3blocks.conf\\n\")), mdx(\"p\", null, \"After editing \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.config/i3/i3blocks.conf\"), \", edit the main i3 config file to make use of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.config/i3/i3blocks.conf\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"vi ~/.config/i3/config\\n\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"...\\nbar {\\n  #status_command i3status i3status\\n  status_command i3blocks -c ~/.config/i3/i3blocks.conf\\n}\\n...\\n\")), mdx(\"p\", null, \"You can download the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"FontAwesome\"), \" from \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/FortAwesome/Font-Awesome/releases/tag/5.13.0\"\n  }), \"https://github.com/FortAwesome/Font-Awesome/releases/tag/5.13.0\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"cd Downloads\\nunzip unzip fontawesome-free-5.13.0-desktop\\ncp fontawesome-free-5.13.0-desktop/otfs/Font\\\\ Awesome\\\\ 5\\\\ Free-Regular-400.otf ~/.fonts/\\nvi\\xB7~/.config/i3/config \\n\")), mdx(\"p\", null, \"Append:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"font pango:monospace, 'Font Awesome 5 Free Regular' 9\\n\")), mdx(\"p\", null, \"Check all FontAwesome icons at \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://fontawesome.com/cheatsheet\"\n  }), \"https://fontawesome.com/cheatsheet\")), mdx(\"h1\", {\n    \"id\": \"dwm\"\n  }, \"DWM\"), mdx(\"h2\", {\n    \"id\": \"key-binds-1\"\n  }, \"Key binds\"), mdx(\"h3\", {\n    \"id\": \"basics\"\n  }, \"Basics\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Enter\"), \": launch Terminal\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"b\"), \": show/hide bar \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"p\"), \": open app launcher\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Return\"), \": toggles window between master and stack\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"j\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"k\"), \": focus on next/previous window \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"h\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"l\"), \": increase/decrease master size \")), mdx(\"h3\", {\n    \"id\": \"navigation\"\n  }, \"Navigation\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Number\"), \": focus on tag number\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Number\"), \": move active window to tag number \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"d\"), \": decrease/increase number of windows in master area\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"comma\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dot\"), \": move focus between screens (multi monitor setup) \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"comma\"), \"/\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dot\"), \": move active window to different screen \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Tab\"), \": toggle between the last two active tags\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"0\"), \": view all windows on screen \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"c\"), \": kill active window\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"q\"), \": quit \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"dwm\"), \" cleanly\")), mdx(\"h3\", {\n    \"id\": \"layout\"\n  }, \"Layout\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"t\"), \": tiled mode []= \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"f\"), \": floatin mode \", \">\", \"<\", \">\", \" \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"m\"), \": monocle mode \", \"[M]\", \" (single window fullscreen)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"space\"), \": toggle previous layout mode\")), mdx(\"h3\", {\n    \"id\": \"floating-mode\"\n  }, \"Floating mode\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Left Button\"), \": move floating window around\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Right Button\"), \": resize floating window \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Space\"), \": change the layout into floating mode \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Shift\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Space\"), \": make an individual window float \"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Mod\"), \" + \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Middle Button\"), \": make an individual window un-float\")), mdx(\"h2\", {\n    \"id\": \"install-dwm\"\n  }, \"Install dwm\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"sudo apt install make gcc libx11-dev libxft-dev libxinerama-dev\\nsudo apt autoremove\\ngit clone git://git.suckless.org/dwm\\ncd dwm\\nsudo make clean install\\n\")), mdx(\"h3\", {\n    \"id\": \"add-dwm-to-windows-session\"\n  }, \"Add dwm to windows session\"), mdx(\"p\", null, \"If we want \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"dwm\"), \" to appear in a display manager options when logging in, add \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"dwm\"), \" to windows session:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"sudo vi /usr/share/xsessions/dwm.desktop\\n\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"[Desktop Entry]\\nEncoding=UTF-8\\nName=dwm\\nComment=dwm window manager\\nExec=/usr/local/bin/dwm\\nType=Application\\n\")), mdx(\"h3\", {\n    \"id\": \"customize-dwm\"\n  }, \"Customize dwm\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Edit \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"config.h\"), \" file to your liking\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Then run: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"sudo make clean install\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Reboot\")), mdx(\"h2\", {\n    \"id\": \"install-st\"\n  }, \"Install st\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"sudo apt install libx11-dev libxft-dev\\ngit clone git://git.suckless.org/st\\ncd st\\nsudo make clean install\\n\")), mdx(\"h3\", {\n    \"id\": \"customize-st\"\n  }, \"Customize st\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Edit \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"config.h\"), \" file to your liking\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Then run: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"sudo make clean install\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Reboot\")), mdx(\"h2\", {\n    \"id\": \"install-dmenu\"\n  }, \"Install dmenu\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"wget https://dl.suckless.org/tools/dmenu-4.9.tar.gz\\ntar -xvf dmenu-4.9.tar.gz\\ncd dmenu-4.9\\nsudo make clean install\\n\")), mdx(\"h3\", {\n    \"id\": \"change-modkey-to-mac-cmd-or-windows-key\"\n  }, \"Change MODKEY to Mac CMD or Windows key\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Edit \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"config.h\"), \" and change line:\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"#define MODKEY Mod1Mask\\n\")), mdx(\"p\", null, \"to\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"#define MODKEY Mod4Mask\\n\")), mdx(\"h2\", {\n    \"id\": \"create-a-status-monitor-by-using-dwm-bar\"\n  }, \"Create a status monitor by using dwm-bar\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"git clone https://github.com/joestandring/dwm-bar.git\\n\")), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"dwm-bar\"), \" does not need to be compiled. It is a bash executable file. You can execute the script at start up by adding this line at the end of your \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".xinitrc\"), \" or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".profile\"), \" config file:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"~/.path/to/dwm_bar.sh &\\n\")), mdx(\"h3\", {\n    \"id\": \"services\"\n  }, \"Services\"), mdx(\"p\", null, \"There are 20 services to use with \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"dwm-bar\"), \". I only use two, so I uncomment these lines on the file \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"dwm_bar.sh\"), \":\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \". \\\"$DIR/bar-functions/dwm_resources.sh\\\"\\n. \\\"$DIR/bar-functions/dwm_date.sh\\\"\\n\")), mdx(\"p\", null, \"I customize those services by editing each file:\"), mdx(\"h4\", {\n    \"id\": \"bar-functionsdwm_datesh\"\n  }, \"bar-functions/dwm_date.sh\"), mdx(\"p\", null, \"I change the date format to:\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \" printf \\\"$(date \\\"+%a %d-%b %H:%M\\\")\\\"\\n\")), mdx(\"h4\", {\n    \"id\": \"bar-functionsdwm_resourcessh\"\n  }, \"bar-functions/dwm_resources.sh\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"#!/bin/sh\\n\\nSCRIPT_PATH=\\\"test.sh\\\"\\ndwm_resources () {\\n  # Storaged Used/Total\\n  STOUSED=$(df -h | grep '/dev/sda1' | awk '{print $3}')\\n  STOTOTAL=$(df -h | grep '/dev/sda1' | awk '{print $2}')\\n\\n  # Used and total memory\\n  MEMUSED=$(free -h | awk '(NR == 2) {print $3}')\\n  MEMTOT=$(free -h |awk '(NR == 2) {print $2}')\\n\\n  printf \\\"%s\\\" \\\"$SEP1\\\"\\n  printf \\\"MEM %s/%s\\\" \\\"$MEMUSED\\\" \\\"$MEMTOT\\\"\\n  printf \\\"] [sda1 %s/%s\\\" \\\"$STOUSED\\\" \\\"$STOTOTAL\\\"\\n  printf \\\"%s\\\\n\\\" \\\"$SEP2\\\"\\n}\\n\\ndwm_resources\\n\")), mdx(\"h4\", {\n    \"id\": \"bar-functionsdwm_networkmanagersh\"\n  }, \"bar-functions/dwm_networkmanager.sh\"), mdx(\"p\", null, \"If you want to mess with WiFi stats, add these lines. However, your logs will grow exponentially over time.  \"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"SIGNAL=$(nmcli dev wifi list | awk '/\\\\*/{if (NR!=1) {print $7}}')\\nprintf \\\"%s%% %s\\\" \\\"$SIGNAL\\\" \\\"$CONNAME\\\"\\n\")), mdx(\"h2\", {\n    \"id\": \"adding-fontawesome\"\n  }, \"Adding fontawesome\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Download and configure fontawesome as per \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"i3wm\"), \" steps in previous section\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Edit \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"dwm/config.h\"), \":\")), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {}), \"static const char *fonts[]          = { \\\"monospace:size=9\\\", \\\"Font Awesome 5 Free Regular:size=9\\\" };\\n\")), mdx(\"h2\", {\n    \"id\": \"sound\"\n  }, \"Sound\"), mdx(\"p\", null, \"To change system sound, launch \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pavucontrol\"), \". Pavucontrol uses \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pulseaudio\"), \" sound server.\"), mdx(\"p\", null, \"Pavucontrol is a simple volume control tool (mixer) for the PulseAudio sound server. In contrast to classic mixer tools this one allows you to control both the volume of hardware devices and of each playback stream separately. It also allows you to redirect a playback stream to another output device without interrupting playback.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#i3wm","title":"i3WM","items":[{"url":"#installation","title":"Installation"},{"url":"#key-binds","title":"Key Binds","items":[{"url":"#main","title":"Main"},{"url":"#modifying-windows","title":"Modifying windows"},{"url":"#changing-the-container-layout","title":"Changing the container layout"},{"url":"#floating","title":"Floating"},{"url":"#miscelanea","title":"Miscelanea"}]},{"url":"#customization","title":"Customization","items":[{"url":"#launch-apps-shortcuts","title":"Launch Apps shortcuts"},{"url":"#how-to-launch-gnome-system-settings","title":"How to launch Gnome System Settings"},{"url":"#i3statusconf","title":"i3status.conf"},{"url":"#i3blocksconf","title":"i3blocks.conf"}]}]},{"url":"#dwm","title":"DWM","items":[{"url":"#key-binds-1","title":"Key binds","items":[{"url":"#basics","title":"Basics"},{"url":"#navigation","title":"Navigation"},{"url":"#layout","title":"Layout"},{"url":"#floating-mode","title":"Floating mode"}]},{"url":"#install-dwm","title":"Install dwm","items":[{"url":"#add-dwm-to-windows-session","title":"Add dwm to windows session"},{"url":"#customize-dwm","title":"Customize dwm"}]},{"url":"#install-st","title":"Install st","items":[{"url":"#customize-st","title":"Customize st"}]},{"url":"#install-dmenu","title":"Install dmenu","items":[{"url":"#change-modkey-to-mac-cmd-or-windows-key","title":"Change MODKEY to Mac CMD or Windows key"}]},{"url":"#create-a-status-monitor-by-using-dwm-bar","title":"Create a status monitor by using dwm-bar","items":[{"url":"#services","title":"Services","items":[{"url":"#bar-functionsdwm_datesh","title":"bar-functions/dwm_date.sh"},{"url":"#bar-functionsdwm_resourcessh","title":"bar-functions/dwm_resources.sh"},{"url":"#bar-functionsdwm_networkmanagersh","title":"bar-functions/dwm_networkmanager.sh"}]}]},{"url":"#adding-fontawesome","title":"Adding fontawesome"},{"url":"#sound","title":"Sound"}]}]},"frontmatter":{"title":"dwm & i3wm","description":"dwm and i3wm usage reference and configuration"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"96df5225-25d7-52c9-ad90-adcc946e2114"}}}