Следующий сценарий даст Вам верхние левые экранные co-порядки и размер окна (без любого художественного оформления).... xwininfo -id $(xdotool getactivewindow)
содержит достаточно информации для Вас.
#!/bin/bash
# Get the coordinates of the active window's
# top-left corner, and the window's size.
# This excludes the window decoration.
unset x y w h
eval $(xwininfo -id $(xdotool getactivewindow) |
sed -n -e "s/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=\1/p" \
-e "s/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=\1/p" \
-e "s/^ \+Width: \+\([0-9]\+\).*/w=\1/p" \
-e "s/^ \+Height: \+\([0-9]\+\).*/h=\1/p" )
echo -n "$x $y $w $h"
#
Вы могли бы хотеть смотреть в patchutils [1]. Для части энергии я записал маленький плагин энергии, который помогает с навигацией в патчах: diff_navigator [2].
Несколько вне темы я предполагаю, но я все еще думаю, что это полезно.
При использовании мерзавца, чтобы сделать разработку, можно легко разделить целые изменения на меньшую "скрягу", которые воплощают одну функцию каждый. Вы заканчиваете с одной фиксацией на функцию и можете использовать мерзавца git-format-patch
чтобы создать (и даже подписаться и правильно приписать) патчи, я обрисовал в общих чертах, как сделать это здесь
Мой SuSe имеет splitdiff
util, который работает как это:
$ splitdiff -a tmp.179639.patch
Wrote >tmp.179639.patch.part001
Wrote >tmp.179639.patch.part002
Можно использовать это для разделения большого патча к меньшим блокам (или на файл или на каждый ломоть) и затем если необходимо объединить затем использование combinediff от patchutils пакета, который был упомянут в ответе Petr Uzel
diff_navigator
URL является, по-видимому, vim.org/scripts/script.php?script_id=2361, Emacs имеет подобные функции в режимах – Riccardo Murri 01.10.2010, 12:59