From 3b3812b453aefc6fdb53886a76a66f96f3cb1688 Mon Sep 17 00:00:00 2001 From: Adrien Schildknecht Date: Wed, 24 Apr 2013 21:16:36 +0200 Subject: update the readme --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index f4dc509..61c3292 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,20 @@ 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. +How does it works +----------------- +Since there is no proper options to get the pid of the currently focused +windows, +xcwd first try to read the \_NET\_WM\_PID property. If it fails, it reads the +\_NET\_WM\_CLASS and compares it to the name of all the processes (it's kind of +`pidof name`). + +When xcwd has got the PID, it search the deepest child he has, thus avoiding +getting the working directory of the terminal emulator instead of the shell. + +Finally it prints the content of `/proc/pid/cwd` on the standard output. If +xcwd was unable to find the PID, it prints the content of the HOME variable. + Requirements ------------ - libX11-dev -- cgit v1.2.3