i3 – show mapped hotkeys

2019-12-02 1 min read Learning

Here is a simple script that can show you the hotkeys bound in ~/.config/i3/config :

 

#!/bin/bash - 
#===============================================================================
#
#          FILE: i3-showkeys.sh
# 
#         USAGE: ./i3-showkeys.sh 
# 
#   DESCRIPTION: 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Amit Agarwal (aka)
#  ORGANIZATION: Individual
#       CREATED: 11/26/2019 14:22
# Last modified: Tue Nov 26, 2019  02:43PM
#      REVISION:  ---
#===============================================================================

set -o nounset                              # Treat unset variables as an error


> /tmp/keys
cd ~/.config/i3
grep '^bindsym $mod' config|grep -v '^#'|grep -v 'move container to'|grep -v 'workspace $ws'|sed 's/bindsym //'|grep -v '='|while read key line
do
    printf "%20s\t?\t%s\n" "$key" "$line"  >> /tmp/keys
done

xterm -e "cat /tmp/keys; read -p 'press any key to continue'"
rm -f /tmp/keys

And once this is done, you can bind the script in i3 config like this:

Continue reading

Gnome with i3 on Fedora 29

2019-02-25 1 min read Fedora

I have been thinking of doing this for long time, finally I managed to get this working. Here is what you need to do to get i3 with all other gnome services running.

First we will create 2 files, this is actually all you need. In these ones, I copied the original gnome files and just change gnome-shell to i3 to replace my window manager.

11:15:43=>[]> cat /usr/share/gnome-session/sessions/gnome-i3.session
[GNOME Session]
Name=GNOME + i3
# RequiredComponents=gnome-flashback-init;gnome-flashback;i3;gnome-settings-daemon;
RequiredComponents=i3;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
11:15:47=>[
]> cat /usr/share/xsessions/gnome-i3.desktop
[Desktop Entry]
Name=GNOME i3
Comment=This session logs you into GNOME + i3
Exec=env GNOME_SHELL_SESSION_MODE=gnome-i3 gnome-session –session gnome-i3
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;

Continue reading