{"id":13595707,"url":"https://github.com/levinit/i3wm-config","last_synced_at":"2025-04-09T13:33:13.105Z","repository":{"id":42186796,"uuid":"77594528","full_name":"levinit/i3wm-config","owner":"levinit","description":"my i3wm config","archived":false,"fork":false,"pushed_at":"2022-10-07T00:59:53.000Z","size":3535,"stargazers_count":261,"open_issues_count":0,"forks_count":55,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-04T13:38:23.616Z","etag":null,"topics":["i3","i3-config","i3-i3status","i3-wm","i3blocks","i3wm","linux","window-manager"],"latest_commit_sha":null,"homepage":"https://levinit.github.io/i3wm-config/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/levinit.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-29T07:58:20.000Z","updated_at":"2025-03-11T02:07:44.000Z","dependencies_parsed_at":"2023-01-20T02:49:52.804Z","dependency_job_id":null,"html_url":"https://github.com/levinit/i3wm-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinit%2Fi3wm-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinit%2Fi3wm-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinit%2Fi3wm-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinit%2Fi3wm-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/levinit","download_url":"https://codeload.github.com/levinit/i3wm-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049623,"owners_count":21039250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["i3","i3-config","i3-i3status","i3-wm","i3blocks","i3wm","linux","window-manager"],"created_at":"2024-08-01T16:01:56.008Z","updated_at":"2025-04-09T13:33:12.032Z","avatar_url":"https://github.com/levinit.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"**[中文介绍](README-zh-CN.md)**\n\n---\n\n![](screenshot.png)\n\n# install \u0026 configure\n\n## install softwares\n\nYou can search for package names using the package manager, or search keywords  on [pkgs.org](https://pkgs.org) to determine the package name.\n\n- base\n\n  -  `i3` : in some distributions,  `i3`  may be a  package-group name, that contains i3 wm and other components,  `i3-wm` ,  `i3-gaps`,  `i3block` ,  `i3lock`and`i3status`. And in some distributions,  `i3` may only refer to `i3wm`.\n  -  Suitable terminal (see [terminal](#terminal), select a terminal emulator )\n  -  `dmenu`  Applications launcher\n  -  `feh`   image viewer , show wallpaper\n\n- optional\n\n  - `xcompmgr`   Set terminal transparency\n\n  - `scrot`  Screeshot (this configuration added shortcut for scrot)\n\n  - `thunar` or `pcmanfm`   GUI file manager\n\n   - for `networkmanager` user\n      - `nm-connection-editor`  Networkmanager GUI\n      - `nm-applet`  Networkmanager's tray icon\n\n  - `blueman`  Bluetooth gui tool\n\n      The attached tray tool is named `blueman-applet`\n\n  - `mate-power-manager`  Power manager tool\n\n  - `acpi`  Advanced Configuration and Power Interface (display battery info)\n\n  - `alsa-utils`  Sound management\n\n  - `xfce4-appfinder`  Quickly search for the program's launcher\n\n## configure i3\n\n- Downlod this config and extra it,  put `i3` and `i3status` in the `~/.config/` , and put `Pictures`(including some sample wallpapers) in the current user's home directory (`~/`).\n\n  If you need to display the tray icon, you may need to refer to the following section of the [tray Icons](#tray Icons) for configuration.\n\n  A simple initial configuration can be done using the script `config-zh.sh`.\n\nor\n\n- execute this command:\n\n  ```shell\n  curl -# -L -o i3.zip https://github.com/levinit/i3wm-config/archive/master.zip\n  unzip i3.zip\n  cd i3wm-config-master\n  bash config.sh\n  ```\n\n  If it show `xrandr: command not found` ,  you need to install `xorg-xrandr` , then execute the above command again.\n\n# Introductions for the configs\n\nSome important notes about this configuration.\n\n## shortcuts\n\nIn this configuration,  `$mod key` is `Mod4`，**Generally** , it is \"Windows logo\" key  or \"Super\" key,  `Alt` is `mod1`, Enter is `Return`.\n\nTip: Install `xorg-xev`, exec command `xev` in the terminal, then press any key, it will show the key's name.\n\n- `Super`+`d`  dmenu\n- `Super`+`Enter`  open the default [terminal](#terminal)\n\nFor other i3wm default shortcuts , see the  **i3wm related documentation** or view the config file.\n\n---\n\nThe following are the custom shortcuts in this configuration file (Reference vim and windows usage habits).\n\n- `Super`  Temporarily display i3bar (will be hidden after releasing the `Super` key)\n- `Super`+`m`  switch i3bar show/hideen mode\n\n- xfce dropdown terminal  `Alt`+`/`\n\n  if your default terminal is xfce-terminal\n\n- xfce4-appfinder  `Super`+`a`\n\n  need install the application\n\n\n- screenshot (full screen)  `Super`+`PrtSc`\n\n    \"PrtSc\" is \"PrintScreen\" key , need `scrot`.\n\n- open filemanager  `Super`+`e`\n\n    need `thunar`（e-explore）\n\n- close window  `Alt`+`F4`\n\n- hide window and show the hide window `Super`+`minus` and `Super`+`plus`\n\n    \"minus\" is \"-\" key ,and \"plus\" is \"+\" key. Here, in order to avoid confusion with +, the name is described in English.\n\n- change window style：\n  - `Super`+`n`   with border and title bar (default , **n**ormal)\n  - `Super`+`u`    without boder and title bar (**u**nnormal )\n  - `Super`+`o`    one pixel boder and no title bar (**o**ne pixel border )\n  - `Super`+`b`    change border style in above 3 styles（**b**order style)\n\n- window tilling mode\n\n  - `Super`+`s`    stack mode（**s**tack）\n  - `Super`+`t`    tabbed mode（**t**abbed）\n  - `Super`+`c`   **change** tile mode betwen horizontal mode and vertical mode (default ,**c**hange | or **c**arvel built :D ）。\n\n- switch focus window\n\n   `Super`+`h` or `j` or `k` or `l`\n    or\n    `Super`+arrow keys\n\n- move focus window (tiling style)\n\n  `Super`+`Shift`+`h` or `j` or `k` or `l`\n  or\n  `Super`+`Shift`+ arrow keys\n\n- separate window\n  - `Super`+`v`    vertical mode (**v**ertical)\n  - `Super`+`Shift`+`h`   horizon mode (default , **h**orizon)\n\n- workspace switching\n\n\n  -  `Super`+`tab`  -- next\n  -  `Alt`+`tab`  -- previous\n\n-  reload and restart i3wm\n\n     -  `Super`+`Shift`+`s`  -- reload i3wm config\n     -  `Super`+`Shift`+`r`  -- restart i3wm\n\n-  lock/poweroff/rebot/exit menu : `Super`+`Shift`+`q` it will show a message ,then press\n\n\n  - `l`  -- lock screen\n  - `p`  -- poweroff\n  - `r` -- reboot\n  - `e` -- exit (i3wm)\n- adjust the volume and brightness ( for laptop)\n\n  - volume\n    - `Fn` and volume key\n    - use `alsamixer` (need alsa-utils)\n\n    - `Fn` and brightness key （need a power manager tool , recommend `mate-power-manager`)\n\n  tip: maybe `Fn` is not necessary.\n\n## wallpaper and lock screen\n- wallpaper\n\n  Random mode is default , it use a script , see [i3/wallpaper.sh](i3/wallpaper.sh) . Edit [i3/config](i3/config) for changing mode.\n\n  - random mode : random switching wallpaper, put pictures in `~/Pictures/wallpapers` .\n  - static mode : one pictures as a wallpaper , path is  `~/Pictures/wallpapers/wallpaper.jpg`\n\n- lock screen\n\n  - background path :  `~/Pictures/wallpaper/lock/lock.jpg`\n  - lock : `Super`+`Alt`+`l`\n  - unlock : input your user password , then press \"Enter\" key .\n\n\n## power management\nsee [i3/config](i3/config) , it has a line , you can adjust the seconds :\n\n\u003e exec --no-startup-id xset dpms 333 666\n\nIn idle state , screen will turn off after 333 seconds , system will suspend after 666 seconds.\n\nYou can also use `mate-power-manager` (or other tool) for power management.\n\n\n\nsee more info about power management:\n\n- [power-management](https://wiki.archlinux.org/index.php/Power_management)\n- [laptop](https://wiki.archlinux.org/index.php/Laptop)\n- [suspend and hibernate](https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate)\n\n## terminal\n\nIf you want a transparent background terminal , need to install  `xcompmgr` (or `compton`  .etc )  . It is recommended to select terminals that are more convenient to set transparency, such as `roxterm` , `xfce4-terminal` and `terminator` .\n\nAfter press terminal shortcut,  It tries to start one of the following in the order(see [i3wm-termial](http://jlk.fjfi.cvut.cz/arch/manpages/man/i3-sensible-terminal.1)):\n\n\u003e$TERMINAL (this is a non-standard variable)\n\u003e\n\u003ex-terminal-emulator (only present on Debian and derivatives)\n\u003e\n\u003eurxvt\n\u003e\n\u003erxvt\n\u003e\n\u003etermit\n\u003e\n\u003eterminator\n\u003e\n\u003eEterm\n\u003e\n\u003eaterm\n\u003e\n\u003euxterm\n\u003e\n\u003exterm\n\u003e\n\u003egnome-terminal\n\u003e\n\u003eroxterm\n\u003e\n\u003exfce4-terminal\n\u003e\n\u003etermite\n\u003e\n\u003elxterminal\n\u003e\n\u003emate-terminal\n\u003e\n\u003eterminology\n\u003e\n\u003est\n\u003e\n\u003eqterminal\n\u003e\n\u003elilyterm\n\u003e\n\u003etilix\n\u003e\n\u003eterminix\n\u003e\n\u003ekonsole\n\n## tray icons\n\nOpen [i3/config](i3/config) , find this line :\n\n\u003e exec --no-startup-id xrandr --output eDP1 --primary\n\neDP1 is the display device's name , you can use `xrandr | grep connected`  to get your display device's name .\n\n this is my display device info:\n\n```\nScreen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767\neDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm\n```\n\nso , **eDP1** is my display device's name , if your display device's name is not **eDP1** , you should modify this line `exec --no-startup-id xrandr --output eDP1 --primary` ，use your display device's name instead of `eDP1`.\n\n\n\nOr you can try these comands for modification（`xrandr`need`xorg-xrandr`）:\n\n```shell\nname=`xrandr | sed -n '2p' | cut -d ' ' -f 1`\nsed -i 's/eDP1/'\"$name\"'/' ~/.config/i3/config\n```\n\nIf it show `xrandr: command not found` , install `xorg-xrandr` , then excuted commands above again.\n\n# Other Tips\n\n- not found this package while installing\n\n  Maybe this package  is another name on your distribution. Using the fuzzy search in your package manger,  also search the real name in this site https://pkgs.org.\n\n- emoji need a font such as `fonts-symbola ` (perhaps its name is `ttf-symbola`)\n\n\n- `thunar` /`pcmanfm` can not use Trash :  install `gvfs`\n- mount MTP divice or other removable disk : install `gvfs-mtp` or `libmtp`(see[archwiki:MTP](https://wiki.archlinux.org/index.php/MTP) )\n- change the window/icon/cursor theme or font : `lxappearance` (recommend)\n- notfity popup box: `xfce4-notifyd`\n- high DPI devices (see[archwiki:HIDPI](https://wiki.archlinux.org/index.php/HiDPI#X_Resources))\n\nedit `~/.Xresources` add (example) :\n\n\u003eXft.dpi: 144\n\u003eXft.autohint: 0\n\u003eXft.lcdfilter:  lcddefault\n\u003eXft.hintstyle:  hintfull\n\u003eXft.hinting: 1\n\u003eXft.antialias: 1\n\u003eXft.rgba: rgb\n\n144 is dpi (adjust according to the actual display situation). Then edit`~/.xinitrc` , add :\n\n\u003exrdb -merge ~/.Xresources\n\nOf course, the text under the high screen is too small, you can also adjust the font size (you can use lxappearance).\n\n- turn off waring sound（alarm sound/beep sound）\n  see[PC speaker](https://wiki.archlinux.org/index.php/PC_speaker)\n  `echo \"blacklist pcspkr\" \u003e /etc/modprobe.d/nobeep.conf`\n  or\n  `amixer set channel 0% mute`(need `alsa-utils`)\n  or\n  `echo xset -b \u003e\u003e /etc/xprofile`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevinit%2Fi3wm-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevinit%2Fi3wm-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevinit%2Fi3wm-config/lists"}