A small program that listens to X events and changes your keyboard layout.
Use setxkbmap to configure your different keyboard layouts.
E.g.,
setxkbmap -option '' # clear previous options
setxkbmap \
-option grp:shifts_toggle \ # toggle layout by lshift+rshift
-option grp_led:caps \ # caps led indicates secondary layout
-option caps:escape \ # map caps to escape
\ # set US layout as first, Swedish as second, US intl as third:
"us,se,us(altgr-intl)"
-
Add tests ☑
-
Create setup.py ☑
-
Private repo on bitbucket? ☑
-
Add config file ☑
- Use config-file ☑
-
Check that package can be installed ☑
- Figure out how to include config files in the package ☑
-
Publish to PyPi ☑
-
Publish on Github ☑
-
Debian package?
-
Print window class/title that matched
- Use regex for matching title?
-
Executable to toggle layout
-
Display current active layout:
-
Remember layout for windows
- Should be easy to implement using the default fallback but I need to get unique window id to check against
- Save keyboard layout every time. If window id is changed, the layout will have been saved; this can be used for lookup later
-
Add possibility to run user specified command for window events
-
Install swytcher with git dependencies
-
Track time spent in different apps:
Ah, what I really miss about time tracking software isn't necessarily something where I manually type in what I've been working on, as much as it's something like a self-hosted RescueTime[0]. Instead of manually adding things to it, it allows you to mark certain applications and websites as you doing something productive (for example, if you're running Atom and visiting StackOverflow and GitHub, you're probably doing something productive) and then tracks that via its clients and shows you a nice overview of how much of your time is actually spent on doing something productive. Now, of course, the fact that RescueTime is centralized and hasn't released the source code of its clients makes me instantly dismiss it as a software I would use, but I would love to find a certain self-hosted solution that does pretty much exactly what RescueTime does. [0] https://www.rescuetime.com/