summaryrefslogtreecommitdiff
path: root/.i3
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2013-06-18 00:16:18 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2013-06-18 00:16:19 +0200
commit0cf9d15723ab29d1b99e35a570de8bba297f9a6a (patch)
tree9d27fd3b18822d5669fdc909c1085e4b83de7db6 /.i3
parent8da5fe1e07971fbf5b291737e8b82de7f92f72e0 (diff)
downloaddotfiles-0cf9d15723ab29d1b99e35a570de8bba297f9a6a.tar.gz
dotfiles-0cf9d15723ab29d1b99e35a570de8bba297f9a6a.tar.bz2
dotfiles-0cf9d15723ab29d1b99e35a570de8bba297f9a6a.zip
i3: Use i3-msg 'exec …' for processes, not sh.Command
Diffstat (limited to '.i3')
-rw-r--r--.i3/scripts/libs/i3.py2
-rwxr-xr-x.i3/scripts/workspaces.py9
2 files changed, 8 insertions, 3 deletions
diff --git a/.i3/scripts/libs/i3.py b/.i3/scripts/libs/i3.py
index 343c709..789ef51 100644
--- a/.i3/scripts/libs/i3.py
+++ b/.i3/scripts/libs/i3.py
@@ -552,6 +552,8 @@ class i3(ModuleType):
if name.lower() in self.__module__.MSG_TYPES:
return self.__module__.__function__(type=name)
else:
+ if name == "exec_":
+ name = "exec"
return self.__module__.__function__(type='command', message=name)
diff --git a/.i3/scripts/workspaces.py b/.i3/scripts/workspaces.py
index 5abfea3..137d5fc 100755
--- a/.i3/scripts/workspaces.py
+++ b/.i3/scripts/workspaces.py
@@ -44,9 +44,12 @@ def new_ws(cmd, args):
cmd(str(i+1))
if exe:
- try:
- sh.Command(exe)()
- except sh.CommandNotFound:
+ # We use i3.exec_ here instead of sh.Command, as we do not want the
+ # exe to be a child of this script's process
+ # Also we get startup notification support for free :-)
+ if sh.which(exe): # i3 exec always yields 'success'
+ i3.exec_(exe)
+ else:
nag("Command '%s' not found!" % exe)
def to_ws(cmd, prompt, args):