All Projects β†’ RasmusLindroth β†’ I3keys

RasmusLindroth / I3keys

Licence: mit
Lists available bindings for i3 or Sway with a graphical or text keyboard

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to I3keys

Xsuspender
πŸ‘€ πŸ’» πŸ’€ πŸ”‹ Save battery by auto-suspending unfocused X11 applications.
Stars: ✭ 53 (-34.57%)
Mutual labels:  i3, i3wm
I3 Style
🎨 Make your i3 config a little more stylish.
Stars: ✭ 583 (+619.75%)
Mutual labels:  i3, i3wm
I3 And Kde Plasma
How to install the i3 window manager on KDE
Stars: ✭ 279 (+244.44%)
Mutual labels:  i3, i3wm
Swaynagmode
swaynag wrapper for the love of keybindings
Stars: ✭ 21 (-74.07%)
Mutual labels:  i3, i3wm
Matrixlock
Replace i3's lock screen by the Matrix.
Stars: ✭ 42 (-48.15%)
Mutual labels:  i3, i3wm
dotfiles
My dotfiles
Stars: ✭ 16 (-80.25%)
Mutual labels:  i3, i3wm
I3
A fork of the i3 window manager with gaps and some other features
Stars: ✭ 5,512 (+6704.94%)
Mutual labels:  i3, i3wm
dotfiles
πŸ’» 🍚 πŸ”³ πŸ”² My riced-up Kali dotfiles – off-white | dark leet | chrome lambo
Stars: ✭ 55 (-32.1%)
Mutual labels:  i3, i3wm
I3 workspaces
Workspace manager for i3-wm
Stars: ✭ 53 (-34.57%)
Mutual labels:  i3, i3wm
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+795.06%)
Mutual labels:  i3, i3wm
Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+1116.05%)
Mutual labels:  i3, i3wm
I3blocks Airpods
i3blocks script for managing airpods and airpods pro.
Stars: ✭ 36 (-55.56%)
Mutual labels:  i3, i3wm
I3 Linux Config Tokyo Rice
My config files for i3-gaps and Linux, first rice.
Stars: ✭ 58 (-28.4%)
Mutual labels:  i3, i3wm
I3 Config
I3-gaps configuration
Stars: ✭ 67 (-17.28%)
Mutual labels:  i3, i3wm
i3-workspace-handler
Create i3 workspaces on the fly and call them by name
Stars: ✭ 23 (-71.6%)
Mutual labels:  i3, i3wm
Direwolf Arch Rice
🐺🍚 A guide to replicating my riced Arch Linux set-up.
Stars: ✭ 501 (+518.52%)
Mutual labels:  i3, i3wm
i3-create-config
Script to create an i3 config from multiple files.
Stars: ✭ 27 (-66.67%)
Mutual labels:  i3, i3wm
rofi-todo
πŸ““ Minimal todo client for the rofi launcher
Stars: ✭ 20 (-75.31%)
Mutual labels:  i3, i3wm
I3ipc Python
🐍 An improved Python library to control i3wm and sway.
Stars: ✭ 634 (+682.72%)
Mutual labels:  i3, i3wm
I3ipc Glib
A C interface library to i3wm
Stars: ✭ 72 (-11.11%)
Mutual labels:  i3, i3wm

i3keys

A program for the tiling window manager i3. It also supports Sway.

This is program lists all the keys that are bound to some action in i3 or sway, and all keys that are not bound to any actions. Now you don't have to search through your configuration file or going down the track of trial and error anymore.

The program will output one separate keyboard for all of your different modifier combinations. It will also output each combination for all of your modes. The keyboard should look like your keymap if everything works as expected :)

You can see the results in three ways. By opening a local web page, output the keyboards as text in the terminal or generate SVG files.

Example of the output for Mod4 + any key

Example image

  • Green = the modifier key(s)
  • Red = the binding is occupied
  • White = one free key to use

How to

Currently there is one binary for Linux amd64. You can find it under releases. Download it and make it exacutable with chmod +x i3keys and then you can run it with ./i3keys. If you want to use it "everywhere" you must move it to somewhere in your $PATH.

Using Arch?

You can find it in the Arch User Repository (AUR).

https://aur.archlinux.org/packages/i3keys/

Go getting and installing

If your version of Go have support for modules

//Get this project
git clone https://github.com/RasmusLindroth/i3keys.git

//Install
go install

//If starting doesn't work try running it from $HOME/go/bin

Alternative way to install

//Get this program
go get -u github.com/RasmusLindroth/i3keys

//Go to the project directory
cd $HOME/go/src/github.com/RasmusLindroth/i3keys

//Install
go install

//If starting doesn't work try running it from $HOME/go/bin

Example usage

//Run web interface with a random port
i3keys web 

//Run web interface on port 8080
i3keys web 8080

//or output text to the terminal
i3keys text ISO

//or filter text output
i3keys text ISO Mod4+Ctrl

//or output SVG to the current directory
i3keys svg ISO ./

//or filter SVG
i3keys svg ISO ./ Mod4+Ctrl

If you still having problems see the installation guide for Go or open up an issue.

You don't want autodetection of WM

You can use the following flags to disable autodetection, -i for i3 and -s for Sway. This can be useful if you're running both at the same time, or if the autodetection doesn't work. But then you should file an issue.

You have started i3keys

For web output you will need to start your browser and head over to the URL printed in your terminal e.g. http://localhost:8080. This is is the most feature-rich option. Because here you can see the command bound to each key.

If you have selected to out SVG files. Open them with a program that supports SVG files. For example your program for viewing images, InkScape or a browser. Note that each mode will be located in a folder named mode<int>-name-of-mode. Inside that folder you will find a file named mode-full-name where you can see the real name of the mode. Because this program removes some characters and shortens the name of the folder.

If you have selected text output, you should already have seen the result in your terminal.

Text example

$ i3keys text iso

Available keybindings per modifier group

Mod4:
-----
Escape, F1, F4, F6, F7, F8, F9, F10, F11, F12, Scroll_Lock, Pause
section, plus, dead_acute, BackSpace, Insert, Home, Page_Up, Num_Lock, KP_Divide, KP_Multiply, KP_Subtract
i, o, dead_diaeresis, Delete, End, Page_Down, KP_Home, KP_Up, KP_Page_Up, KP_Add
Caps_Lock, g, quoteright, KP_Left, KP_Begin, KP_Right
Shift_L, less, x, Shift_R, KP_End, KP_Down, KP_Page_Down, KP_Enter
Control_L, Super_L, Alt_L, ISO_Level3_Shift, Super_R, Menu, Control_R, KP_Insert, KP_Delete


Mod4+Shift:
-----------
Escape, F1, F2, F4, F5, F6, F7, F8, F9, F10, F11, F12, Scroll_Lock, Pause
section, 9, 0, plus, dead_acute, BackSpace, Insert, Home, Page_Up, Num_Lock, KP_Divide, KP_Multiply, KP_Subtract
Tab, w, t, y, u, i, o, p, dead_diaeresis, Return, Delete, End, Page_Down, KP_Home, KP_Up, KP_Page_Up, KP_Add
Caps_Lock, a, f, g, quoteright, KP_Left, KP_Begin, KP_Right
Shift_L, less, z, x, v, n, comma, period, Shift_R, KP_End, KP_Down, KP_Page_Down, KP_Enter
Control_L, Super_L, Alt_L, ISO_Level3_Shift, Super_R, Menu, Control_R, KP_Insert, KP_Delete

Help message

Usage:

	i3keys [-i|-s] <command> [arguments]
	Add the flag -i for i3 and -s for Sway if you don't want autodetection

The commands are:

	web [port]
		start the web ui and listen on random port or [port]

	text <layout> [mods]
		output available keybindings in the terminal

	svg <layout> [dest] [mods]
		outputs one SVG file for each modifier group

	version
		print i3keys version

Arguments:

	<layout>
		is required. Can be ISO or ANSI

	[mods]
		is optional. Can be a single modifier or a group of modifiers. Group them with a plus sign, e.g. Mod4+Ctrl

	[dest]
		is optional. Where to output files, defaults to the current directory

Disclaimer

  • It's only tested with evdev handling input. So maybe you get the wrong mappings. Open an issue in that case and I will look in to it.
  • There are no tests right now. So you might run into some issues.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].