Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't miss the workarounds #13

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2fcf0d5
doc updated
luffah Nov 5, 2016
8b8ebb4
doc updated
luffah Nov 5, 2016
dab0b5f
adding workaround for gettext
luffah Nov 6, 2016
27bf635
Adding notes for testing
luffah Nov 6, 2016
5f5e9df
adding modification made by dglava// i need to learn how to
luffah Nov 6, 2016
5a38b22
adding modification made by dglava// i need to learn how to merge fro…
luffah Nov 6, 2016
2bddd02
adding modification made by dglava// i need to learn how to merge fro…
luffah Nov 6, 2016
d5b268a
Ajout description fr
luffah Nov 6, 2016
c02a35a
Orthographe....
luffah Nov 6, 2016
79accb4
Update README.md
luffah Feb 22, 2017
a26187f
Update README.md
luffah May 15, 2017
a619383
Add automatic detection of rc file
Jun 24, 2017
694da0f
Merge branch 'master' of https://www.github.com/luffah/obkey
Jun 24, 2017
76ea7a3
stevenhoneyman : Check that obstr is not None before splitting
Jan 7, 2018
0d8b882
remove a trailing whitespace... better syntax later...
Jan 7, 2018
58890c6
clean code : flakes 8
luffah Feb 12, 2018
a6c6788
add debian packaging procedure
luffah Feb 22, 2018
9b5059a
Set theme jekyll-theme-hacker
luffah Feb 22, 2018
78a374e
Set theme jekyll-theme-slate
luffah Feb 22, 2018
7715b97
forking : code slightly refactored / some usefull things work now
luffah Feb 24, 2018
8e1af68
Merge branch 'master' of https://github.com/luffah/obkey
luffah Feb 24, 2018
75335e4
add download
luffah Feb 24, 2018
b809f02
add download
luffah Feb 24, 2018
18b1d9a
Re-specify setup.py for inclusion of obkey_parts.
luffah Feb 24, 2018
be574c5
Add md5 to check the debian package
luffah Feb 24, 2018
6c83b77
make pylint pass - correct french translation
luffah Mar 12, 2018
b00e5fc
Add --help / obkey.appdata.xml / __version__.py
luffah Mar 27, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
MIT License

Openbox Key Editor
Copyright (C) 2009-2011 nsf <[email protected]>
Copyleft 2011-.... Obkey developpers, translators and maintainers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

lang:
cd po; make

installdeb: deb
sudo dpkg -i ./obkey.deb
# find . -mtime 0 -name '*.deb' -exec sudo dpkg -i {} +

installpy:
python setup.py install

deb: lang
python setup.py \
--command-packages=stdeb.command sdist_dsc \
--package obkey \
--section x11
cd deb_dist/obkey-*/; \
dpkg-buildpackage -rfakeroot -uc -us
find . -mtime 0 -name '*.deb' -exec cp {} ./obkey.deb \;

lint:
pylint --output-format=parseable --reports=y ./obkey_parts | tee pylint.log

clean:
rm -rf deb_dist dist build obkey.egg-info
84 changes: 61 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,82 @@ ObKey - Openbox Key Editor (PyGObject version)

![ObKey](wiki/screenshot_obkey.png)

# About me
After tried almost every window managers,
and having recently left my 'awesomewm' configuration behind a sharp #.

I use OpenBox on my low ressource machine, because it allows to change
windows with direction (north, east, south, west) which is really intuitive way to switch focus.
# Installation

Another easy to use capability in OpenBox, is the Emacs style multi-levels shorcut.
# With Git
```shell
git clone https://github.com/luffah/obkey.git

But, it is really boring to edit OpenBox XML rc file.
After searching in some forums, i found ObKey, which is usefull, but not perfectly usable.
So i forked the project.
# test it works (you can use it directly this way)
python obkey

# Bugs/Enhancement (Reasons of this fork)
- you can set keybings, save them, close, and re-open the tool and see that it has disappeared
- you cannot organize your keybinding collection with drag and drop
# MANAGE DEPENDENCIES
# AND INSTALL

# Changes between obkey 1.1 and obkey 1.2
- sorted actions in edition pane
- direct preview of relations between actions and keybind
## With PIP and setup.py
sudo pip install gi gettext

TODO -> button to sort the keybind / drag and drop / alerting users on failure
sudo python setup.py install

## With Debian installer
sudo apt install python-gi python-gettext
make installdeb
```

# Without Git

## Debian

Download the package here : [Obkey for debian](https://github.com/luffah/obkey/raw/master/obkey.deb)

Below the last checksum.
```shell
md5sum obkey.deb | grep d4ab76711cbea8afcf88cb138e07a90d && echo OK

sudo apt install python-gi python-gettext
sudo dpkg -i obkey.deb
```

# Usage
```shell
# Minimalist
obkey

# Custom file
obkey rc.xml

# With foreign languages
LANGUAGE=fr obkey

# About
```

This fork aims to continue the project since bugs and enhancement stills needed.
# Why ObKey ?
OpenBox is lightweight !

Another wish for the future could be the integration :
- _either_ integration this tool for other window manager (e.g. xmonad)
- _or_ integration in a setting manager for OpenBox
OpenBox is great !

OpenBox is one of the most customizable Window Manager in the World !

OpenBox allows to precisely place windows and to easily switch without clicking a mouse.

But, OpenBox configuration is written in XML..

Hey ! no need to navigate too much in XML, there's ObKey !


# Changes between obkey 1.1 and obkey 1.2
- sorted actions in edition pane
- direct preview of relations between actions and keybind

TODO -> button to sort the keybind / drag and drop / alerting users on failure

# About KeyBindings
Key bindings in OpenBox official site :

http://openbox.org/wiki/Help:Bindings

If you want to edit shortcut directly in command line interface,
see the next project :
see the next project (not updated since 2013...): https://sourceforge.net/projects/obhotkey/

https://sourceforge.net/projects/obhotkey/
The more serious alternative to obkey is probably lxhotkey : https://github.com/lxde/lxhotkey
1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-slate
Binary file removed locale/fr/LC_MESSAGES/obkey.mo
Binary file not shown.
43 changes: 43 additions & 0 deletions misc/obkey.appdata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (C) 2009-2011 nsf <[email protected]> -->
<!-- Copyright (C) 2011-2017 stevenhoneyman (github.com/stevenhoneyman/obkey) -->
<!-- Copyright (C) 2016-2018 Luffah <[email protected]> -->
<!-- The AppData files override any values which are automatically fetched by the AppStream data generator. Applications can ship one or more files in /usr/share/metainfo/%{id}.appdata.xml. -->
<component type="desktop-application">
<id>org.obkey.obkey</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<name>ObKey</name>
<name xml:lang="fr">ObKey</name>
<summary>OpenBox keybinding editor</summary>
<summary xml:lang="fr">Éditeur de raccourcis claviers OpenBox</summary>
<description>
<p>
ObKey shows your OpenBox keybinds in a list, and details the actions in a side pane. .
<br>
ObKey is complementary with ObConf.
</p>
<p>In short, you can easily customize these types of keybinds:</p>
<ul>
<li>applications you launch</li>
<li>window positions and size</li>
<li>workspace management</li>
</ul>
<p>(Note : can be used with LXDE)</p>
</description>

<screenshots>
<screenshot type="default">
<caption>Obkey keybind list</caption>
<image>https://github.com/luffah/obkey/raw/master/wiki/screenshot_obkey.png</image>
</screenshot>
</screenshots>

<url type="homepage">http://github.com/luffah/obkey</url>
<project_group>Utilities</project_group>

<provides>
<binary>obkey</binary>
</provides>

</component>
7 changes: 6 additions & 1 deletion misc/obkey.desktop
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
[Desktop Entry]
Version=1.0
Version=1.2
Type=Application
Name=Openbox Key bindings
Name[fr]=Raccourcis clavier Openbox
Name[zh_TW]=Openbox 組態管理器
Comment=Configure and personalize the Openbox key bindings manager
comment[fr]=Outil de personnalisation des raccoucis clavier pour le gestionnaire de fenêtres Openbox
Comment[bs]=Konfiguriši i prilagodi prečice na tastaturi za Openbox
Comment[hr]=Konfiguriši i prilagodi prečice na tastaturi za Openbox
Comment[rs]=Конфигуриши и прилагоди пречице на тастатури за Openbox
Icon=obconf
Exec=obkey %f
Categories=Settings;DesktopSettings;GTK;
Expand Down
Loading