summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adrien Schildknecht <adrien+dev@schischi.me>2018-04-09 17:20:07 -0700
committerGravatar Adrien Schildknecht <adrien+dev@schischi.me>2018-04-09 17:20:07 -0700
commit9a46efb2ad5f826c0659f7869c7a40c3344ae63f (patch)
treeed29a4790cde5d156c7e617723266ae13b774481
parent3f0728b932904985b703b33bd5c936ea96cf15a0 (diff)
Update the README: gnome-terminal
-rw-r--r--README.md37
1 files changed, 21 insertions, 16 deletions
diff --git a/README.md b/README.md
index c176c81..6e50246 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,26 @@
xcwd - X current working directory
==================================
-xcwd is a simple tool which print the current working directory of the
+xcwd is a simple tool that prints the current working directory of the
currently focused window.
-The main goal is to launch applications directly into the same directory
-as the focused applications. This is especially useful if you want to open
-a new terminal for debugging or compiling purpose.
+The main goal is to launch applications directly into the same directory as the
+focused applications. This is especially useful to open a new terminal or a
+file explorer.
Disclaimer
----------
+This program is basically a hack, but it works well with my setup and I hope
+it will work for you as well :)
+
This script **can't** retrieve the working directory of a "single instance
-application" nor terminal multiplexer, e.g. :
+application" nor terminal multiplexer, e.g.:
- tmux, screen
- lilyterm
- konsole
- urxvtc with urxvtd
- applications with tabs
-The application works well with the following terminals :
+The application works with the following terminals:
- urxvt
- xterm
- gnome terminal
@@ -25,15 +28,15 @@ The application works well with the following terminals :
How it works
------------
- - Retrieve the focused window
- - Read its attributes to get the PID. If `_NET_WM_PID` is set, xcwd just
- read the value. Otherwise it reads the `_NET_WM_CLASS` and compares it to
- the name of all the running processes
- - Search for the deepest child of the selected PID (to avoid getting the
- working directory of the terminal instead of the shell)
- - Print the current working directory
+ - Get the handle of the focused window;
+ - Try to get the PID of the program using the window's attributes:
+ - If `_NET_WM_PID` is set, xcwd just reads the value;
+ - Otherwise it reads the `_NET_WM_CLASS` and compares it to the name of
+ all the running processes;
+ - Find the deepest child process;
+ - Print the working directory of this process to stdout.
-If one of those steps fail, xcwd print the content of the `HOME` variable.
+If one of these steps fail, xcwd prints the content of the `$HOME` variable.
Requirements
------------
@@ -50,13 +53,15 @@ Running xwcd
------------
Simply invoke the 'xcwd' command.
-You probably want to use it this way:
+Examples:
* ``urxvt -cd "`xcwd`" ``
* ``xterm -e "cd `xcwd` && /bin/zsh"``
+* ``gnome-terminal --working-directory="`xcwd`"``
* ``pcmanfm "`xcwd`" ``
i3 Configuration
----------------
* bindsym $mod+Shift+Return exec ``urxvt -cd "`xcwd`" ``
-* bindsym $mod+Shift+Return exec ``xterm -e "cd `xcwd` && /bin/zsh"``
+* bindsym $mod+Shift+Return exec ``xterm -e "cd `xcwd` && $SHELL"``
+* bindsym $mod+Shift+Return exec ``gnome-terminal --working-directory="`xcwd`"``
* bindsym $mod+p exec ``pcmanfm "`xcwd`"``