<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF154%3AXdotool</id>
		<title>LXF154:Xdotool - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF154%3AXdotool"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;action=history"/>
		<updated>2026-05-14T09:54:14Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16357&amp;oldid=prev</id>
		<title>Olkol: /* Что за дви­жения, чу­вак */</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16357&amp;oldid=prev"/>
				<updated>2018-06-24T08:58:15Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Что за дви­жения, чу­вак&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 08:58, 24 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 128:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px|thumb|Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций.]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На на­шем уро­ке мы занима­лись со­бы­тия­ми для мы­ши, но xdotool уме­ет еще и от­прав­лять вир­ту­аль­ные на­жа­тия кла­виш: так,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На на­шем уро­ке мы занима­лись со­бы­тия­ми для мы­ши, но xdotool уме­ет еще и от­прав­лять вир­ту­аль­ные на­жа­тия кла­виш: так,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 152:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 149:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=50%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=50%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |375px|thumb|Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций.]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16356&amp;oldid=prev</id>
		<title>Olkol в 08:44, 24 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16356&amp;oldid=prev"/>
				<updated>2018-06-24T08:44:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 08:44, 24 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= 5 луч­ших спо­со­бов при­менения xdotool|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= 5 луч­ших спо­со­бов при­менения xdotool|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:[[Файл:LXF154.tut_xdotool.sh_opt2.jpeg |right |330px]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:[[Файл:LXF154.tut_xdotool.sh_opt2.jpeg |right |330px&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|thumb|А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice?&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 125:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 125:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice? |Ширина=33%}} &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px|thumb|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;А не сла­бо на­пи­сать скрипт для вы­бо­ра &lt;/del&gt;всех &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;оп­ций при ус­та­нов­ке LibreOffice?&lt;/del&gt;]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px|thumb|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список &lt;/ins&gt;всех &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;доступных операций.&lt;/ins&gt;]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 152:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 152:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=50%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=50%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций.|Ширина=40%}} &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16355&amp;oldid=prev</id>
		<title>Olkol в 08:34, 24 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16355&amp;oldid=prev"/>
				<updated>2018-06-24T08:34:21Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 08:34, 24 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На­при­мер, на на­шей ма­шине мы хо­тим ав­то­ма­ти­зи­ро­вать про­цесс по­лу­чения со­стояния за­ряд­ки. Как пра­ви­ло, это вклю­ча­ет пе­ре­ме­щение мы­ши на зна­чок ак­ку­му­ля­то­ра в сис­тем­ном лотке, [[Файл:LXF154.tut_xdotool.sho_opt.jpeg |right |330px]] щел­чок пра­вой кноп­кой мы­ши и вы­бор зна­чения Уров­ня за­ря­да ак­ку­му­ля­то­ра в кон­тек­ст­ном ме­ню. Мы мог­ли бы сле­пить ку­чу раз­лич­ных команд xdotool в од­ну стро­ку, что­бы до­бить­ся это­го, но что про­изой­дет, ес­ли сис­те­ма за­ня­та, и кон­тек­ст­ное ме­ню не поя­вит­ся сра­зу? Зна­чит, нуж­но до­ба­вить ко­ман­ды про­стоя ме­ж­ду об­ра­щения­ми xdotool. Вот наш скрипт, ко­то­рый так­же вклю­ча­ет несколь­ко но­вых функ­ций:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На­при­мер, на на­шей ма­шине мы хо­тим ав­то­ма­ти­зи­ро­вать про­цесс по­лу­чения со­стояния за­ряд­ки. Как пра­ви­ло, это вклю­ча­ет пе­ре­ме­щение мы­ши на зна­чок ак­ку­му­ля­то­ра в сис­тем­ном лотке, [[Файл:LXF154.tut_xdotool.sho_opt.jpeg |right |330px&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|thumb|На про­стей­шем уров­не, xdotool по­зво­ля­ет вы­пол­нять от­дель­ные дей­ст­вия, та­кие как вир­ту­аль­ное на­жа­тие мы­шью.&lt;/ins&gt;]] щел­чок пра­вой кноп­кой мы­ши и вы­бор зна­чения Уров­ня за­ря­да ак­ку­му­ля­то­ра в кон­тек­ст­ном ме­ню. Мы мог­ли бы сле­пить ку­чу раз­лич­ных команд xdotool в од­ну стро­ку, что­бы до­бить­ся это­го, но что про­изой­дет, ес­ли сис­те­ма за­ня­та, и кон­тек­ст­ное ме­ню не поя­вит­ся сра­зу? Зна­чит, нуж­но до­ба­вить ко­ман­ды про­стоя ме­ж­ду об­ра­щения­ми xdotool. Вот наш скрипт, ко­то­рый так­же вклю­ча­ет несколь­ко но­вых функ­ций:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 45:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool click 1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool click 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= На про­стей­шем уров­не, xdotool по­зво­ля­ет вы­пол­нять от­дель­ные дей­ст­вия, та­кие как вир­ту­аль­ное на­жа­тие мы­шью.|Ширина=10%}} &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы со­хранили это в ви­де batinfo.sh в /usr/bin, так что мо­жем при­менить на­строй­ки кла­виа­ту­ры Xfce и при­вя­зать ком­би­на­цию кла­виш (Ctrl + Alt + B) к за­пуску это­го скрип­та. Боль­шин­ст­во ра­бо­чих сто­лов и окон­ных менед­же­ров по­зво­ля­ют ас­со­ции­ро­вать ком­би­на­ции кла­виш с ко­ман­да­ми – на­при­мер, для за­пуска ок­на тер­ми­на­ла; по­это­му вы долж­ны быть в со­стоянии сде­лать нечто по­доб­ное в ва­шей сис­те­ме.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы со­хранили это в ви­де batinfo.sh в /usr/bin, так что мо­жем при­менить на­строй­ки кла­виа­ту­ры Xfce и при­вя­зать ком­би­на­цию кла­виш (Ctrl + Alt + B) к за­пуску это­го скрип­та. Боль­шин­ст­во ра­бо­чих сто­лов и окон­ных менед­же­ров по­зво­ля­ют ас­со­ции­ро­вать ком­би­на­ции кла­виш с ко­ман­да­ми – на­при­мер, для за­пуска ок­на тер­ми­на­ла; по­это­му вы долж­ны быть в со­стоянии сде­лать нечто по­доб­ное в ва­шей сис­те­ме.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На­при­мер, мы толь­ко что от­кры­ли ме­диа-плей­ер Parole на на­шем ра­бо­чем сто­ле и оста­ви­ли его ра­бо­тать в фо­но­вом ре­жи­ме, &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На­при­мер, мы толь­ко что от­кры­ли ме­диа-плей­ер Parole на на­шем ра­бо­чем сто­ле и оста­ви­ли его ра­бо­тать в фо­но­вом ре­жи­ме, &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt1.jpeg |left |300px]]&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt1.jpeg |left |300px&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|thumb| С по­мо­щью не­сколь­ких mousemove-по­доб­ных ко­манд мож­но соз­дать ро­бо­та, ри­сую­ще­го Мо­ну Ли­зу.&lt;/ins&gt;]]&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;по­ка мы занима­емся своим делом в тер­ми­на­ле. Мы вве­дем ко­ман­ду&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;по­ка мы занима­емся своим делом в тер­ми­на­ле. Мы вве­дем ко­ман­ду&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 129:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 129:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!|Ширина=98%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|thumb|А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice?&lt;/ins&gt;]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16251&amp;oldid=prev</id>
		<title>Olkol в 23:17, 19 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16251&amp;oldid=prev"/>
				<updated>2018-06-19T23:17:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 23:17, 19 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Но ре­шение есть, и оно зна­чи­тель­но по­вы­сит про­из­во­ди­тель­ность к кон­цу на­ше­го уро­ка. На­зы­ва­ет­ся оно xdotool, и, в со­от­вет­ст­вии с опи­санием ав­то­ра, «ими­ти­ру­ет ввод с кла­виа­ту­ры и мы­ши». Конеч­но, са­мо по се­бе это зву­чит не очень ин­те­рес­но, но да­вай­те ду­мать об этом так: это ин­ст­ру­мент команд­ной стро­ки, ко­то­рый дей­ст­ву­ет как вир­ту­аль­ная кла­виа­ту­ра и мышь, по­зво­ляя объ­е­динить ко­ман­ды управ­ления гра­фи­че­­ским ин­тер­фей­сом при­ло­жений. Мож­но дви­гать кур­сор мы­ши, от­прав­лять дис­плею щелч­ки, вы­би­рать за­дан­ные ок­на и да­же пе­ре­ме­щать ок­на ме­ж­ду ра­бо­чи­ми сто­ла­ми. В конеч­ном сче­те, это по­зво­лит со­брать за­да­чи, тре­бую­щие суе­ты с мы­шью и кла­виа­ту­рой, в еди­ный скрипт.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Но ре­шение есть, и оно зна­чи­тель­но по­вы­сит про­из­во­ди­тель­ность к кон­цу на­ше­го уро­ка. На­зы­ва­ет­ся оно xdotool, и, в со­от­вет­ст­вии с опи­санием ав­то­ра, «ими­ти­ру­ет ввод с кла­виа­ту­ры и мы­ши». Конеч­но, са­мо по се­бе это зву­чит не очень ин­те­рес­но, но да­вай­те ду­мать об этом так: это ин­ст­ру­мент команд­ной стро­ки, ко­то­рый дей­ст­ву­ет как вир­ту­аль­ная кла­виа­ту­ра и мышь, по­зво­ляя объ­е­динить ко­ман­ды управ­ления гра­фи­че­­ским ин­тер­фей­сом при­ло­жений. Мож­но дви­гать кур­сор мы­ши, от­прав­лять дис­плею щелч­ки, вы­би­рать за­дан­ные ок­на и да­же пе­ре­ме­щать ок­на ме­ж­ду ра­бо­чи­ми сто­ла­ми. В конеч­ном сче­те, это по­зво­лит со­брать за­да­чи, тре­бую­щие суе­ты с мы­шью и кла­виа­ту­рой, в еди­ный скрипт.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Наш эксперт|Содержание=[[Файл: |left |100px]]&amp;#160; Майк Сон­дерс&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Наш эксперт|Содержание=[[Файл: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;LXF.tutxdotoolExpert.png&lt;/ins&gt;|left |100px]]&amp;#160; Майк Сон­дерс&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;хо­тел ис­поль­зо­вать скрип­ты для улуч­ше­ния ра­бо­ты же­лез­но­до­рож­но­го со­об­ще­ния Ве­ли­ко­бри­та­нии, но ре­шил, что про­ще пе­ре­ехать за ру­беж.|Ширина=20%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;хо­тел ис­поль­зо­вать скрип­ты для улуч­ше­ния ра­бо­ты же­лез­но­до­рож­но­го со­об­ще­ния Ве­ли­ко­бри­та­нии, но ре­шил, что про­ще пе­ре­ехать за ру­беж.|Ширина=20%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 45:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool click 1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool click 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= |Содержание= На про­стей­шем уров­не, xdotool по­зво­ля­ет вы­пол­нять от­дель­ные дей­ст­вия, та­кие как вир­ту­аль­ное на­жа­тие мы­шью.|Ширина=&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;20&lt;/del&gt;%}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= |Содержание= На про­стей­шем уров­не, xdotool по­зво­ля­ет вы­пол­нять от­дель­ные дей­ст­вия, та­кие как вир­ту­аль­ное на­жа­тие мы­шью.|Ширина=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;10&lt;/ins&gt;%}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы со­хранили это в ви­де batinfo.sh в /usr/bin, так что мо­жем при­менить на­строй­ки кла­виа­ту­ры Xfce и при­вя­зать ком­би­на­цию кла­виш (Ctrl + Alt + B) к за­пуску это­го скрип­та. Боль­шин­ст­во ра­бо­чих сто­лов и окон­ных менед­же­ров по­зво­ля­ют ас­со­ции­ро­вать ком­би­на­ции кла­виш с ко­ман­да­ми – на­при­мер, для за­пуска ок­на тер­ми­на­ла; по­это­му вы долж­ны быть в со­стоянии сде­лать нечто по­доб­ное в ва­шей сис­те­ме.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы со­хранили это в ви­де batinfo.sh в /usr/bin, так что мо­жем при­менить на­строй­ки кла­виа­ту­ры Xfce и при­вя­зать ком­би­на­цию кла­виш (Ctrl + Alt + B) к за­пуску это­го скрип­та. Боль­шин­ст­во ра­бо­чих сто­лов и окон­ных менед­же­ров по­зво­ля­ют ас­со­ции­ро­вать ком­би­на­ции кла­виш с ко­ман­да­ми – на­при­мер, для за­пуска ок­на тер­ми­на­ла; по­это­му вы долж­ны быть в со­стоянии сде­лать нечто по­доб­ное в ва­шей сис­те­ме.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16249&amp;oldid=prev</id>
		<title>Olkol в 15:05, 19 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16249&amp;oldid=prev"/>
				<updated>2018-06-19T15:05:11Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 15:05, 19 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 116:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= 5 луч­ших спо­со­бов при­менения xdotool|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= 5 луч­ших спо­со­бов при­менения xdotool|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:[[Файл:LXF154.tut_xdotool.sh_opt2.jpeg |right |330px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;====&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Файл:LXF154.tut_xdotool.sh_opt2.jpeg |right |330px]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Дис­тан­ци­он­ное обу­чение но­вич­ков''' На­пи­ши­те сце­на­рий для но­вой уста­нов­ки Ubuntu 11.10 Unity, ко­то­рый прой­дет че­рез по­каз но­вых функ­ций при­ло­жений, из­менение на­стро­ек и т. д. Вы мо­же­те да­же за­пи­сать файл Ogg с за­пи­сью ва­ше­го го­ло­са для со­про­во­ж­дения!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Дис­тан­ци­он­ное обу­чение но­вич­ков''' На­пи­ши­те сце­на­рий для но­вой уста­нов­ки Ubuntu 11.10 Unity, ко­то­рый прой­дет че­рез по­каз но­вых функ­ций при­ло­жений, из­менение на­стро­ек и т. д. Вы мо­же­те да­же за­пи­сать файл Ogg с за­пи­сью ва­ше­го го­ло­са для со­про­во­ж­дения!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 125:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= |Содержание= А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice? |Ширина=33%}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|right|Заголовок= |Содержание= А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice? |Ширина=33%}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|Ширина=98%}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Ширина=98%}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px]] Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 145:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 142:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Впро­чем, с уче­том то­го, что вы ис­поль­зуе­те xdotool для ухо­да от ис­поль­зо­вания мы­ши, ма­ло­ве­ро­ят­но, что вы со­би­рае­тесь тра­тить вре­мя на ко­ман­ды для кла­виш. Но есть еще од­на оп­ция, на­зы­вае­мая type, ко­то­рая по­сы­ла­ет по­ток сим­во­лов и мо­жет быть по­лез­ной для ра­бо­ты с тек­сто­вы­ми ре­дак­то­ра­ми. На­при­мер, за­пусти­те AbiWord, а за­тем вве­ди­те в тер­ми­на­ле&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Впро­чем, с уче­том то­го, что вы ис­поль­зуе­те xdotool для ухо­да от ис­поль­зо­вания мы­ши, ма­ло­ве­ро­ят­но, что вы со­би­рае­тесь тра­тить вре­мя на ко­ман­ды для кла­виш. Но есть еще од­на оп­ция, на­зы­вае­мая type, ко­то­рая по­сы­ла­ет по­ток сим­во­лов и мо­жет быть по­лез­ной для ра­бо­ты с тек­сто­вы­ми ре­дак­то­ра­ми. На­при­мер, за­пусти­те AbiWord, а за­тем вве­ди­те в тер­ми­на­ле&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Врезка|right|Заголовок= |Содержание= Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций.|Ширина=33%}} &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool search “AbiWord” windowactivate --sync type &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool search “AbiWord” windowactivate --sync type &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;“Hello world”&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;“Hello world”&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 155:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool type “Это со­об­ще­ние на­пи­сал Майк Сон­дерс. При­сы­лай­те мне но­вые от­кро­ве­ния по ад­ре­су okachi@gmail.com”&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool type “Это со­об­ще­ние на­пи­сал Майк Сон­дерс. При­сы­лай­те мне но­вые от­кро­ве­ния по ад­ре­су okachi@gmail.com”&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=40%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.|Ширина=50%}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций&lt;/ins&gt;.|Ширина=40%}} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 162:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 159:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Со­бе­ри­те эти дей­ст­вия вме­сте, изу­чи­те по­боль­ше воз­мож­но­стей на странице ру­ко­во­дства xdotool, и вы смо­же­те ав­то­ма­ти­зи­ро­вать прак­ти­че­­ски все на ра­бо­чем сто­ле, вы­сво­бо­див вре­мя на бо­лее важ­ные ве­щи. Эй, кто хо­чет сыг­рать во Frozen Bubble?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Со­бе­ри­те эти дей­ст­вия вме­сте, изу­чи­те по­боль­ше воз­мож­но­стей на странице ру­ко­во­дства xdotool, и вы смо­же­те ав­то­ма­ти­зи­ро­вать прак­ти­че­­ски все на ра­бо­чем сто­ле, вы­сво­бо­див вре­мя на бо­лее важ­ные ве­щи. Эй, кто хо­чет сыг­рать во Frozen Bubble?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Врезка|right|Заголовок=Вро­де xdotool, но для командной строки|Содержание=&amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Врезка|right|Заголовок= Скорая помощь&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|Содержание=&amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Командами search и set_window можно модифицировать название и текст иконки приложения. Вы, например, можете написать скрипт, ко­то­рый сроч­но переименует все окна Firefox с покером, когда заглянет ваш шеф, указав в качестве названия что-нибудь вроде «документ для исследования» – ваша панель задач ста­нет милой и не­вин­ной.|Ширина=20%}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Все эти разговоры про автоматизацию графиче­ского интерфейса прекрасны, но не подходят к приложениям командной строки. Однако существует фантастиче­ский инструментик, позволяющий автоматизировать действия в CLI – называется он expect. Его название происходит от главной особенности программы: оно ожидает появления на экране введенных пользователем строк, а затем посылает подходящий текст в ответ. expect установлен по умолчанию во многих дистрибутивах, или почти наверняка доступен по умолчанию в репозитории пакетов вашего дистрибутива . Вот пример его работы:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;expect “Как вас зо­вут?”&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;send “Рем­брандт Q. Эйн­штейн\n”&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Здесь мы ждем, что программа выдаст строки Как вас зо­вут?, а затем ответ. Обратите внимание, \n в конце команды send говорит, что мы хотим вывести символ новой строки, т. е. моделирует нажатие пользователем клавиши Ввод.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Программа expect – переводчик, и обычно используется для связывания ряда команд. Вот пример применения expect для автоматизации регистрации на сервере SFTP и извлечения файлов:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;#!/usr/bin/expect -f&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;spawn sftp user@example.com&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;expect “Password:”&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;send “mypasshere\n”;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;expect “sftp&amp;gt;”&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;send “get myfile.txt\n”;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;expect “sftp&amp;gt;”&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;send “exit\n”;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;interact&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;В первой строке мы поставляем полный путь к бинарнику expect и используем флаг -f, чтобы он читал следующие команды, а не вхо­дил в ин­те­рак­тив­ный ре­жим. Затем мы используем жизненно важную функцию spawn, которая позволяет запустить программу и работать с выходными данными, которые она генерирует. Здесь мы запускаем процесс SFTP для входа на удаленный сервер. Мы ожидаем ответа сервера с Password: когда это проиcходит, мы посылаем свой пароль с символом пе­ре­во­да строки, как описано выше. Успешно войдя, мы ждем под­сказ­ки sftp&amp;gt;, затем выполняем нашу команду get для получения файла, ждем ответа, а потом выходим с exit.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Обратите внимание на строку interact в конце – она должна быть последней строкой в вашем скрипте с expect, в противном случае ничего не произойдет. Она просто велит expect выполнять все, что вы написали до этого. Expect – удивительно универсальный инструмент, позволяющий сэкономить мас­су времени; про­смот­ри­те man-страницу, чтобы узнать, на что еще он способен.|Ширина=98%}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16248&amp;oldid=prev</id>
		<title>Olkol в 14:37, 19 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16248&amp;oldid=prev"/>
				<updated>2018-06-19T14:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 14:37, 19 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 114:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 114:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool mouseup 1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool mouseup 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;=5 луч­ших спо­со­бов при­менения xdotool==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|left|Заголовок&lt;/ins&gt;= 5 луч­ших спо­со­бов при­менения xdotool&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Содержание= &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Файл:LXF154.tut_xdotool.sh_opt2.jpeg |right |330px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Дис­тан­ци­он­ное обу­чение но­вич­ков''' На­пи­ши­те сце­на­рий для но­вой уста­нов­ки Ubuntu 11.10 Unity, ко­то­рый прой­дет че­рез по­каз но­вых функ­ций при­ло­жений, из­менение на­стро­ек и т. д. Вы мо­же­те да­же за­пи­сать файл Ogg с за­пи­сью ва­ше­го го­ло­са для со­про­во­ж­дения!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Дис­тан­ци­он­ное обу­чение но­вич­ков''' На­пи­ши­те сце­на­рий для но­вой уста­нов­ки Ubuntu 11.10 Unity, ко­то­рый прой­дет че­рез по­каз но­вых функ­ций при­ло­жений, из­менение на­стро­ек и т. д. Вы мо­же­те да­же за­пи­сать файл Ogg с за­пи­сью ва­ше­го го­ло­са для со­про­во­ж­дения!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Очи­ст­ка ра­бо­че­го сто­ла''' За­вяз­ли в ок­нах? Один шу­ст­рый скрипт мо­жет пе­ре­мес­тить все ок­на тер­ми­на­ла, раз­бро­сан­ные по несколь­ким ра­бо­чим сто­лам, на один ра­бо­чий стол. Ура!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Очи­ст­ка ра­бо­че­го сто­ла''' За­вяз­ли в ок­нах? Один шу­ст­рый скрипт мо­жет пе­ре­мес­тить все ок­на тер­ми­на­ла, раз­бро­сан­ные по несколь­ким ра­бо­чим сто­лам, на один ра­бо­чий стол. Ура!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= А не сла­бо на­пи­сать скрипт для вы­бо­ра всех оп­ций при ус­та­нов­ке LibreOffice? |Ширина=33%}} &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми! Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Файл:LXF154.tut_xdotool.sh_opt3.jpeg |right |400px]] &lt;/ins&gt;Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Ширина=98%}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 145:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Впро­чем, с уче­том то­го, что вы ис­поль­зуе­те xdotool для ухо­да от ис­поль­зо­вания мы­ши, ма­ло­ве­ро­ят­но, что вы со­би­рае­тесь тра­тить вре­мя на ко­ман­ды для кла­виш. Но есть еще од­на оп­ция, на­зы­вае­мая type, ко­то­рая по­сы­ла­ет по­ток сим­во­лов и мо­жет быть по­лез­ной для ра­бо­ты с тек­сто­вы­ми ре­дак­то­ра­ми. На­при­мер, за­пусти­те AbiWord, а за­тем вве­ди­те в тер­ми­на­ле&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Впро­чем, с уче­том то­го, что вы ис­поль­зуе­те xdotool для ухо­да от ис­поль­зо­вания мы­ши, ма­ло­ве­ро­ят­но, что вы со­би­рае­тесь тра­тить вре­мя на ко­ман­ды для кла­виш. Но есть еще од­на оп­ция, на­зы­вае­мая type, ко­то­рая по­сы­ла­ет по­ток сим­во­лов и мо­жет быть по­лез­ной для ра­бо­ты с тек­сто­вы­ми ре­дак­то­ра­ми. На­при­мер, за­пусти­те AbiWord, а за­тем вве­ди­те в тер­ми­на­ле&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Врезка|right|Заголовок= |Содержание= Про­смот­ри­те страницу помощи (“man xdotool”), чтобы получить список всех доступных операций.|Ширина=33%}} &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool search “AbiWord” windowactivate --sync type &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool search “AbiWord” windowactivate --sync type &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;“Hello world”&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;“Hello world”&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 155:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool type “Это со­об­ще­ние на­пи­сал Майк Сон­дерс. При­сы­лай­те мне но­вые от­кро­ве­ния по ад­ре­су okachi@gmail.com”&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;xdotool type “Это со­об­ще­ние на­пи­сал Майк Сон­дерс. При­сы­лай­те мне но­вые от­кро­ве­ния по ад­ре­су okachi@gmail.com”&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;20&lt;/del&gt;%}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;40&lt;/ins&gt;%}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16244&amp;oldid=prev</id>
		<title>Olkol в 14:18, 18 июня 2018</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16244&amp;oldid=prev"/>
				<updated>2018-06-18T14:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 14:18, 18 июня 2018&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Ав­то­ма­ти­за­ция Пре­вра­ща­ем слож­ные ма­ни­пу­ля­ции мы­шью в про­стые скрип­ты'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Ав­то­ма­ти­за­ция Пре­вра­ща­ем слож­ные ма­ни­пу­ля­ции мы­шью в про­стые скрип­ты'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;	&lt;/del&gt;=Xdotool: Скрип­ты для мы­ши=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=Xdotool: Скрип­ты для мы­ши=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Лю­бую за­да­чу, ис­пол­няе­мую по­сред­ст­вом пе­ре­дви­жения и на­жа­тий мы­шью, мож­но вы­полнить с по­мо­щью скрип­та и xdotool, до­ка­зы­ва­ет Майк Сон­дерс.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Лю­бую за­да­чу, ис­пол­няе­мую по­сред­ст­вом пе­ре­дви­жения и на­жа­тий мы­шью, мож­но вы­полнить с по­мо­щью скрип­та и xdotool, до­ка­зы­ва­ет Майк Сон­дерс.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16243&amp;oldid=prev</id>
		<title>Olkol: Новая страница: «Категория: Учебники '''Ав­то­ма­ти­за­ция Пре­вра­ща­ем слож­ные ма­ни­пу­ля­ции мы­…»</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF154:Xdotool&amp;diff=16243&amp;oldid=prev"/>
				<updated>2018-06-18T14:18:08Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA%D0%B8&quot; title=&quot;Категория:Учебники&quot;&gt;Категория: Учебники&lt;/a&gt; &amp;#039;&amp;#039;&amp;#039;Ав­то­ма­ти­за­ция Пре­вра­ща­ем слож­ные ма­ни­пу­ля­ции мы­…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Категория: Учебники]]&lt;br /&gt;
'''Ав­то­ма­ти­за­ция Пре­вра­ща­ем слож­ные ма­ни­пу­ля­ции мы­шью в про­стые скрип­ты'''&lt;br /&gt;
&lt;br /&gt;
	=Xdotool: Скрип­ты для мы­ши=&lt;br /&gt;
'''Лю­бую за­да­чу, ис­пол­няе­мую по­сред­ст­вом пе­ре­дви­жения и на­жа­тий мы­шью, мож­но вы­полнить с по­мо­щью скрип­та и xdotool, до­ка­зы­ва­ет Майк Сон­дерс.&lt;br /&gt;
'''&lt;br /&gt;
Бы­ли вре­ме­на, когда нас уве­ря­ли, что ком­пь­ю­те­ры об­лег­чат нам жизнь. Они, мол, ав­то­ма­ти­зи­ру­ют все под­ряд, а от нас для по­лу­чения по­тря­саю­щих ре­зуль­та­тов по­тре­бу­ет­ся са­мый ми­зер уси­лий. Ка­лен­дарь на стене Ба­шен LXF го­во­рит, что это офи­ци­аль­ное Бу­ду­щее (™) на­сту­пи­ло; и да­ле­ко ли мы уе­ха­ли? Увы, мы все еще тра­тим ку­чу вре­мени на пе­ре­дви­жение пла­сти­ко­вой шту­ко­ви­ны для пе­ре­ме­щения кур­со­ра на эк­ране, что­бы ткнуть на неудоб­ные мел­кие икон­ки. Не­смот­ря на все дости­жения техно­ло­гий гра­фи­че­­ско­­го ин­тер­фей­са за мно­гие го­ды, мы по-преж­нему тра­тим слиш­ком мно­го вре­мени на щелч­ки мы­шью для вы­полнения за­дач.&lt;br /&gt;
&lt;br /&gt;
Но ре­шение есть, и оно зна­чи­тель­но по­вы­сит про­из­во­ди­тель­ность к кон­цу на­ше­го уро­ка. На­зы­ва­ет­ся оно xdotool, и, в со­от­вет­ст­вии с опи­санием ав­то­ра, «ими­ти­ру­ет ввод с кла­виа­ту­ры и мы­ши». Конеч­но, са­мо по се­бе это зву­чит не очень ин­те­рес­но, но да­вай­те ду­мать об этом так: это ин­ст­ру­мент команд­ной стро­ки, ко­то­рый дей­ст­ву­ет как вир­ту­аль­ная кла­виа­ту­ра и мышь, по­зво­ляя объ­е­динить ко­ман­ды управ­ления гра­фи­че­­ским ин­тер­фей­сом при­ло­жений. Мож­но дви­гать кур­сор мы­ши, от­прав­лять дис­плею щелч­ки, вы­би­рать за­дан­ные ок­на и да­же пе­ре­ме­щать ок­на ме­ж­ду ра­бо­чи­ми сто­ла­ми. В конеч­ном сче­те, это по­зво­лит со­брать за­да­чи, тре­бую­щие суе­ты с мы­шью и кла­виа­ту­рой, в еди­ный скрипт.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|Заголовок= Наш эксперт|Содержание=[[Файл: |left |100px]]  Майк Сон­дерс&lt;br /&gt;
хо­тел ис­поль­зо­вать скрип­ты для улуч­ше­ния ра­бо­ты же­лез­но­до­рож­но­го со­об­ще­ния Ве­ли­ко­бри­та­нии, но ре­шил, что про­ще пе­ре­ехать за ру­беж.|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
==Итак, нач­нем==&lt;br /&gt;
&lt;br /&gt;
Ско­рее все­го, па­ке­т xdotool досту­пен в ре­по­зи­то­рии ва­ше­го ди­ст­ри­бу­ти­ва; ес­ли нет – возь­ми­те его с www.semicomplete.com/projects/xdotool. За­ви­си­мо­сти – это обыч­ные биб­лио­те­ки X, и их не долж­но быть труд­но уста­но­вить. Ус­та­но­вив его, от­крой­те ок­но тер­ми­на­ла и на­ве­ди­те ука­за­тель мы­ши на эле­мент при­ло­жения: ме­ню Ре­дак­ти­ро­вать. Но – не на­жи­май­те! Вме­сто это­го вве­ди­те в тер­ми­на­ле:&lt;br /&gt;
&lt;br /&gt;
xdotool click 1&lt;br /&gt;
&lt;br /&gt;
И – вуа­ля, ме­ню Ре­дак­ти­ро­вать от­кры­ва­ет­ся, как ес­ли бы вы ре­аль­но на­жа­ли кноп­ку мы­ши. Здесь xdotool от­прав­ля­ет сиг­нал на­жа­тия на X Window System (основ­ной гра­фи­че­­ский слой ра­бо­че­го сто­ла Linux), а это воз­мож­но по­то­му, что X был раз­ра­бо­тан с боль­шой гиб­ко­стью. Он мыс­лит ши­ро­ко и зна­ет, что щел­кать мож­но не толь­ко мы­шью: та­кие со­бы­тия мо­гут быть вы­зва­ны тач­па­дом, сен­сор­ным эк­ра­ном, гра­фи­че­­ским план­ше­том и дру­ги­ми уст­рой­ст­ва­ми. И он доста­точ­но смыш­лен, что­бы принимать «син­те­ти­че­­ские» щелч­ки, вы­полнен­ные про­грам­мой ти­па xdotool.&lt;br /&gt;
&lt;br /&gt;
Так вот, это очень про­стой при­мер, но он уже на­шел при­менение. На­при­мер, мно­гие лю­ди стра­да­ют мы­шеч­ной бо­лью, осо­бен­но вы­зван­ной ра­бо­той с мы­шью. Ис­поль­зуя xdotool, мож­но на­стро­ить ок­ру­жение ра­бо­че­го сто­ла или окон­но­го менед­же­ра так, что ма­ло­ис­поль­зуе­мый ключ (на­при­мер, об­рат­ный штрих) за­пуска­ет при­ве­ден­ную ко­ман­ду, тем са­мым по­зво­ляя пе­ре­ме­щать мышь пра­вой ру­кой, а на­жи­мать ле­вой, раз­де­лив на­груз­ку. Об­ра­ти­те внимание, что но­мер 1 в ко­ман­де от­но­сит­ся здесь к кла­ви­ше мы­ши: 1 – ле­вая, 2 – сред­няя и 3 — пра­вая. Вы мо­же­те так­же ис­поль­зо­вать 4 для про­крут­ки вверх вир­ту­аль­но­го ко­ле­са мы­ши, а 5 – для про­крут­ки вниз.&lt;br /&gt;
&lt;br /&gt;
По­про­бу­ем что-нибудь чуть по­сложнее. xdotool по­зво­ля­ет пе­ре­ме­щать ука­за­тель мы­ши по эк­ра­ну, ис­поль­зуя ко­ман­ду mousemove. На язы­ке сис­те­мы X Window, эк­ран на­чи­на­ет­ся с верх­него ле­во­го уг­ла с ко­ор­ди­на­та­ми X и Y (го­ри­зон­таль­ной и вер­тикаль­ной) 0 и 0. Ес­ли раз­ре­шение эк­ра­на 1024 × 768, то па­ра­мет­ры для верхней пра­вой ко­ор­ди­на­ты – 1023 (X) и 0 (Y), пра­вой нижней – 1023 (X) и 767 (Y), и т. д.&lt;br /&gt;
&lt;br /&gt;
Пе­ре­мес­тим-ка мы ука­за­тель мы­ши на кноп­ку глав­но­го ме­ню на ра­бо­чем сто­ле и на­жмем на него, что­бы от­крыть. Рас­клад­ка ва­ше­го ра­бо­че­го сто­ла мо­жет от­ли­чать­ся, так что вам нуж­но бу­дет под­пра­вить ко­ор­ди­на­ты, но в на­шем слу­чае – Xubuntu, с глав­ным ме­ню в верхней ле­вой час­ти эк­ра­на. По­про­буй­те сле­дую­щую ко­ман­ду:&lt;br /&gt;
&lt;br /&gt;
xdotool mousemove 0 0 click 1&lt;br /&gt;
&lt;br /&gt;
Здесь вы ви­ди­те, что мы объ­е­динили ко­ман­ды вме­сте – у нас есть mousemove, затем сле­ду­ют ко­ор­ди­на­ты X и Y, а по­том ле­вая кноп­ка мы­ши. Это от­кры­ва­ет глав­ное ме­ню. Мы на пу­ти к ав­то­ма­ти­за­ции на­ше­го ра­бо­че­го сто­ла! Кое-что, од­на­ко, нуж­но иметь в ви­ду. xdotool про­сто всле­пую вы­пол­ня­ет по­сле­до­ва­тель­ность дей­ст­вий, и не в курсе, яв­ля­ет­ся ли это щелч­ком на чем-то ре­аль­ном. Знае­те ли вы, за­пуская свою Linux-ма­ши­ну – а за­груз­ка глав­но­го ме­ню или за­груз­чи­ка про­грам­мы мо­жет за­нять несколь­ко се­кунд – когда за­гру­жа­ют­ся икон­ки и ре­сур­сы? Так вот, эти за­держ­ки мо­гут вли­ять на ко­ман­ду xdotool. Очень за­ман­чи­во на­чать опи­сы­вать чу­дес­ные ком­би­на­ция­ми дви­жений и щелч­ков, но ес­ли что-то в ва­шей сис­те­ме по­че­му-ли­бо при­тор­мо­зит­ся, все мо­жет сле­теть с син­хрониза­ции.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
На­при­мер, на на­шей ма­шине мы хо­тим ав­то­ма­ти­зи­ро­вать про­цесс по­лу­чения со­стояния за­ряд­ки. Как пра­ви­ло, это вклю­ча­ет пе­ре­ме­щение мы­ши на зна­чок ак­ку­му­ля­то­ра в сис­тем­ном лотке, [[Файл:LXF154.tut_xdotool.sho_opt.jpeg |right |330px]] щел­чок пра­вой кноп­кой мы­ши и вы­бор зна­чения Уров­ня за­ря­да ак­ку­му­ля­то­ра в кон­тек­ст­ном ме­ню. Мы мог­ли бы сле­пить ку­чу раз­лич­ных команд xdotool в од­ну стро­ку, что­бы до­бить­ся это­го, но что про­изой­дет, ес­ли сис­те­ма за­ня­та, и кон­тек­ст­ное ме­ню не поя­вит­ся сра­зу? Зна­чит, нуж­но до­ба­вить ко­ман­ды про­стоя ме­ж­ду об­ра­щения­ми xdotool. Вот наш скрипт, ко­то­рый так­же вклю­ча­ет несколь­ко но­вых функ­ций:&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
xdotool mousemove --sync 1000 10&lt;br /&gt;
&lt;br /&gt;
xdotool click 3&lt;br /&gt;
&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
xdotool mousemove_relative --sync 0 80&lt;br /&gt;
&lt;br /&gt;
xdotool click 1&lt;br /&gt;
&lt;br /&gt;
{{Врезка|right|Заголовок= |Содержание= На про­стей­шем уров­не, xdotool по­зво­ля­ет вы­пол­нять от­дель­ные дей­ст­вия, та­кие как вир­ту­аль­ное на­жа­тие мы­шью.|Ширина=20%}} &lt;br /&gt;
Мы со­хранили это в ви­де batinfo.sh в /usr/bin, так что мо­жем при­менить на­строй­ки кла­виа­ту­ры Xfce и при­вя­зать ком­би­на­цию кла­виш (Ctrl + Alt + B) к за­пуску это­го скрип­та. Боль­шин­ст­во ра­бо­чих сто­лов и окон­ных менед­же­ров по­зво­ля­ют ас­со­ции­ро­вать ком­би­на­ции кла­виш с ко­ман­да­ми – на­при­мер, для за­пуска ок­на тер­ми­на­ла; по­это­му вы долж­ны быть в со­стоянии сде­лать нечто по­доб­ное в ва­шей сис­те­ме.&lt;br /&gt;
&lt;br /&gt;
Итак, рас­смот­рим, как это ра­бо­та­ет. На­ша икон­ка Управ­ление пи­танием на­хо­дит­ся в верхней панели, бли­же к пра­вой час­ти эк­ра­на. Пу­тем про­вер­ки мы уста­но­ви­ли, что мышь для на­хо­ж­дения над ним долж­на быть на 1000 по оси X и 10 по оси Y. Об­ра­ти­те внимание на оп­цию --sync в ко­ман­де mousemove: она го­во­рит, что мы про­сим X Window System пе­ре­мес­тить мышь, но по­до­ж­дать, по­ка не вернет­ся со­об­щение с под­твер­ждением, что этот шаг был успеш­ным. Так что в прин­ци­пе, это хо­ро­шая идея – ис­поль­зо­вать --sync.&lt;br /&gt;
&lt;br /&gt;
За­тем мы де­ла­ем щел­чок пра­вой кноп­кой мы­ши, что­бы от­крыть кон­тек­ст­ное ме­ню, но остав­ля­ем се­кун­ду на вре­мя от­кли­ка, при по­мо­щи ко­ман­ды sleep 1. Это да­ет нам немно­го вре­мени, ес­ли сис­те­ма за­ня­та – на­при­мер, ес­ли про­ис­хо­дит за­груз­ка па­ке­та об­нов­лений в фо­но­вом ре­жи­ме. Кон­тек­ст­ное ме­ню мгно­вен­но мо­жет не ото­бра­зить­ся, так как про­цес­сор и же­ст­кий диск за­ня­ты. По­это­му мы ждем се­кун­ду, что­бы дать Xfce шанс сде­лать свою ра­бо­ту. (Воз­мож­но, в ва­шей кон­крет­ной сис­те­ме вы за­хо­ти­те сменить этот па­ра­метр на две-три се­кун­ды, ес­ли ва­ша ма­ши­на час­то за­гру­же­на.)&lt;br /&gt;
&lt;br /&gt;
Да­лее, там поя­ви­лась но­вая ко­ман­да: mousemove_relative. Как сле­ду­ет из на­звания, она про­сто пе­ре­ме­ща­ет ука­за­тель от­но­си­тель­но те­ку­щей по­зи­ции, а не в аб­со­лют­ное по­ло­жение на эк­ране. В на­шем слу­чае ин­фор­ма­ция по уров­ню за­ряд­ки в кон­тек­ст­ном ме­ню на­хо­дит­ся на 80 пик­се­лей вниз от то­го, где мы ак­ти­ви­ро­ва­ли ме­ню, так что мы дви­жем­ся к этой точ­ке. Это да­ет нам до­полнитель­ную гиб­кость: ес­ли мы ку­да-нибудь пе­ре­двинем икон­ку за­ря­да ак­ку­му­ля­то­ра, нуж­но бу­дет из­менить толь­ко пер­вую ко­ман­ду mousemove, так как все осталь­ное останет­ся по от­но­ше­нию к ней прежним.&lt;br /&gt;
&lt;br /&gt;
==Про­дви­ну­тые при­ме­не­ния==&lt;br /&gt;
&lt;br /&gt;
Спо­соб­ность xdotool на­жать на кноп­ку по за­про­грам­ми­ро­ван­ным ко­ор­ди­на­там – это здо­ро­во, но не так уж по­лез­но, ес­ли пе­ред вы­полнением на­ших дей­ст­вий ок­но нуж­но ак­ти­ви­ро­вать вруч­ную.&lt;br /&gt;
&lt;br /&gt;
До­пустим, у вас есть от­лич­ный му­зыкаль­ный про­иг­ры­ва­тель, ко­то­рый всегда ра­бо­та­ет в фо­но­вом ре­жи­ме, а иногда всплы­ва­ет как ок­но для вы­полнения опе­ра­ции (на­при­мер, пе­ре­клю­чения на дру­гой плей-лист). Не­ко­то­рые ме­диа-при­ло­жения допускают управ­ление ими из команд­ной стро­ки, что по­зво­ля­ет ото­бра­жать ком­би­на­ции кла­виш в окне менед­же­ра ко­ман­ды, но это сред­ст­во есть не у всех. Вме­сто то­го, что­бы ка­ж­дый раз вруч­ную за­пускать ваш ме­диа-плей­ер, а за­тем скрипт xdotool (про­ще сра­зу на­жать вруч­ную), мож­но ве­леть xdotool ав­то­ма­ти­че­­ски пе­ре­клю­чать­ся на со­от­вет­ст­вую­щие ок­на с по­мо­щью команд search и windowactivate.&lt;br /&gt;
&lt;br /&gt;
На­при­мер, мы толь­ко что от­кры­ли ме­диа-плей­ер Parole на на­шем ра­бо­чем сто­ле и оста­ви­ли его ра­бо­тать в фо­но­вом ре­жи­ме, &lt;br /&gt;
[[Файл:LXF154.tut_xdotool.sh_opt1.jpeg |left |300px]]  &lt;br /&gt;
по­ка мы занима­емся своим делом в тер­ми­на­ле. Мы вве­дем ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
xdotool Parole “Firefox” windowactivate&lt;br /&gt;
&lt;br /&gt;
Это за­ста­вит Parole вый­ти на пе­редний план. По­про­буй­те это на сво­ей ма­шине, за­менив Parole на что-нибудь. Здесь xdotool ра­бо­та­ет с окон­ным менед­же­ром, что­бы най­ти оп­ре­де­лен­ные ок­на – он ищет пер­вое ок­но со сло­вом “Parole” в на­звании. Вы мо­же­те за­менить это лю­бым дру­гим, а ес­ли сов­па­дения нет, ниче­го не про­изой­дет.&lt;br /&gt;
&lt;br /&gt;
Конеч­но, ок­но Parole мог­ло быть в лю­бом мес­те эк­ра­на, и по­это­му мы не мо­жем на­чать на­шу се­рию на­жа­тий на оп­ре­де­лен­ном мес­те. На­до на­вес­ти кур­сор мы­ши на Parole и на­чать ра­бо­тать от­ту­да.&lt;br /&gt;
&lt;br /&gt;
Как вы уже дога­да­лись, ав­то­ры xdotool по­ду­ма­ли об этом, так что...&lt;br /&gt;
&lt;br /&gt;
xdotool search “Parole” windowactivate --sync mousemove --window %1 0 0&lt;br /&gt;
&lt;br /&gt;
Най­дя и ак­ти­ви­ро­вав ок­но Parole, мы вы­пол­ня­ем ко­ман­ду mousemove, но на сей раз на мес­те ок­на 1 из ре­зуль­та­тов по­ис­ка (т. е. пер­вого ок­на, в за­го­лов­ке ко­то­ро­го есть Parole – дру­гие вам, ве­ро­ят­но, никогда не по­на­до­бят­ся).&lt;br /&gt;
&lt;br /&gt;
Мы пе­ре­во­дим кур­сор в точ­ку 0 0 – это ко­ор­ди­на­ты X и Y для верхнего ле­во­го уг­ла ок­на. От­лич­но! Те­перь мож­но пи­сать скрипт, ис­поль­зую­щий сме­щение ко­ор­ди­нат от дан­ной точ­ки, на­жа­тия кно­пок, от­кры­тие ме­ню, при же­лании – про­вер­ку флаж­ков, неза­ви­си­мо от то­го, где пер­во­на­чаль­но бы­ло ок­но про­грам­мы.&lt;br /&gt;
&lt;br /&gt;
Ес­ли вам нуд­но, что ва­ши ок­на разбросаны в про­из­воль­ных мес­тах, xdotool пе­ре­ме­стит их за вас. По­про­буй­те ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
xdotool search “Parole” windowactivate &lt;br /&gt;
--sync windowmove 100 200&lt;br /&gt;
&lt;br /&gt;
Она най­дет Parole и пе­ре­мес­тит его ок­на на 100 пик­се­лей по ши­рине эк­ра­на и на 200 вниз. Вы мо­же­те вы­нуть часть windowactivate --sync и осу­ще­ст­в­лять пе­ре­дви­жение в фо­но­вом ре­жи­ме, ес­ли хо­ти­те. А мож­но из­мененить раз­ме­ры ок­на:&lt;br /&gt;
&lt;br /&gt;
xdotool search “Parole” windowsize 500 200&lt;br /&gt;
&lt;br /&gt;
Это на­хо­дит Parole и из­ме­ня­ет его до 500 пик­се­лей в ши­ри­ну, 200 по вы­со­те. Вы да­же мо­же­те пе­ре­мес­тить ок­но на дру­гое ра­бо­чее ме­сто / вир­ту­аль­ный ра­бо­чий стол та­ким об­ра­зом:&lt;br /&gt;
&lt;br /&gt;
xdotool search “Parole” set_desktop_for_window 0&lt;br /&gt;
&lt;br /&gt;
Про­сто из­мените чис­ло в кон­це за­ви­си­мо­сти на тре­буе­мый ра­бо­чий стол. От­ме­тим, что в ти­пич­ной манере про­грам­ми­ро­вания, 0 – это пер­вый ра­бо­чий стол, 1 – вто­рой, и т. д.&lt;br /&gt;
&lt;br /&gt;
==Что за дви­жения, чу­вак==&lt;br /&gt;
&lt;br /&gt;
Щелч­ки ис­пол­ня­ют­ся хо­ро­шо; ну, а ес­ли мы хо­тим вы­полнить опе­ра­цию, где кноп­ка мы­ши всегда удер­жи­ва­ет­ся, та­кую как щелк­нуть-и-пе­ре­та­щить?&lt;br /&gt;
&lt;br /&gt;
К сча­стью, xdotool по­зво­ля­ет и это, пред­ла­гая бо­лее универ­саль­ную аль­тер­на­ти­ву – ко­ман­ду click: mousedown и mouseup. Да­вай­те по­про­бу­ем это, за­пустив GIMP, вы­брав в ме­ню Файл &amp;gt; Соз­дать и соз­дав но­вый ри­су­нок с раз­ме­ром по умол­чанию (за­го­ло­вок его ок­на дол­жен со­дер­жать «Без на­звания»).&lt;br /&gt;
&lt;br /&gt;
Вы­бе­ри­те ин­ст­ру­мент Ка­ран­даш из ок­на Панель ин­ст­ру­мен­тов GIMP, а за­тем от­крой­те тер­ми­нал и вве­ди­те сле­дую­щий текст в фай­ле под на­званием test.sh:&lt;br /&gt;
&lt;br /&gt;
xdotool search “Untitled” windowactivate --sync mousemove --window %1 100 100&lt;br /&gt;
&lt;br /&gt;
sleep 0.5&lt;br /&gt;
&lt;br /&gt;
xdotool mousedown 1&lt;br /&gt;
&lt;br /&gt;
sleep 0.5&lt;br /&gt;
&lt;br /&gt;
xdotool mousemove_relative --sync 200 200&lt;br /&gt;
&lt;br /&gt;
sleep 0.5&lt;br /&gt;
&lt;br /&gt;
xdotool mouseup 1&lt;br /&gt;
==5 луч­ших спо­со­бов при­менения xdotool==&lt;br /&gt;
&lt;br /&gt;
С по­мо­щью команд для управ­ления ука­за­те­лем мы­ши все воз­мож­но (кро­ме раз­ве что со­кра­щения за­держ­ки в PulseAudio, но это уже дру­гая ис­то­рия). Вот неко­то­рые идеи для вдох­но­вения:&lt;br /&gt;
&lt;br /&gt;
*'''Уп­ро­щение на­стро­ек''' Соз­да­ет се­рию щелч­ков для на­строй­ки LibreOffice точ­но так, как вы хо­ти­те, что­бы вы мог­ли за­пустить его на лю­бой но­вой уста­нов­ке Linux.&lt;br /&gt;
&lt;br /&gt;
*'''Дис­тан­ци­он­ное обу­чение но­вич­ков''' На­пи­ши­те сце­на­рий для но­вой уста­нов­ки Ubuntu 11.10 Unity, ко­то­рый прой­дет че­рез по­каз но­вых функ­ций при­ло­жений, из­менение на­стро­ек и т. д. Вы мо­же­те да­же за­пи­сать файл Ogg с за­пи­сью ва­ше­го го­ло­са для со­про­во­ж­дения!&lt;br /&gt;
&lt;br /&gt;
*'''Очи­ст­ка ра­бо­че­го сто­ла''' За­вяз­ли в ок­нах? Один шу­ст­рый скрипт мо­жет пе­ре­мес­тить все ок­на тер­ми­на­ла, раз­бро­сан­ные по несколь­ким ра­бо­чим сто­лам, на один ра­бо­чий стол. Ура!&lt;br /&gt;
&lt;br /&gt;
*'''Ав­то­ма­ти­за­ция игр''' Вы когда-нибудь ви­де­ли те мо­мен­ты уско­рения с по­мо­щью ин­ст­ру­мен­тов на YouTube, где лю­ди иг­ра­ют в иг­ры со ско­ро­стью све­та, употребляя за­про­грам­ми­ро­ван­ные на­жа­тия джой­сти­ком? Пе­рей­ди­те к www.happypenguin.org и сде­лай­те то же са­мое (об­ра­ти­те осо­бое внимание на ко­ман­ды xdotool keydown и keyup).&lt;br /&gt;
&lt;br /&gt;
*'''Ав­то­ма­ти­за­ция поч­ты''' За несколь­ко щелч­ков и ко­ман­ду type (см. врез­ку Вир­ту­аль­ные кла­виа­ту­ры), мож­но бы­ст­ро от­прав­лять по поч­те со­об­щение раз­ра­бот­чи­кам Gnome Shell ка­ж­дый раз, когда вы на­хо­ди­те нечто со­вер­шен­но неин­туи­тив­ное.&lt;br /&gt;
&lt;br /&gt;
У вас есть еще что-то? По­сле то­го, как вы про­ра­бо­та­ете этот учебник и соз­да­дите соб­ст­­вен­ные трю­ки для эко­но­мии вре­мени, по­де­ли­тесь ими с дру­ги­ми чи­та­те­ля­ми! Пи­ши­те нам по ад­ре­су letters@linuxformat.ru с ва­шим скрип­том, и мы опуб­ли­ку­ем вы­бор­ку из них на оче­ред­ном LXFDVD.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|Заголовок= Вир­ту­аль­ные кла­виа­ту­ры|Содержание= &lt;br /&gt;
&lt;br /&gt;
На на­шем уро­ке мы занима­лись со­бы­тия­ми для мы­ши, но xdotool уме­ет еще и от­прав­лять вир­ту­аль­ные на­жа­тия кла­виш: так,&lt;br /&gt;
&lt;br /&gt;
xdotool key F1&lt;br /&gt;
&lt;br /&gt;
ими­ти­ру­ет на­жа­тие кла­ви­ши F1. Вы мо­же­те соз­да­вать ком­би­на­ции на­жа­тий кла­виш со зна­ком плюс, та­ким об­ра­зом:&lt;br /&gt;
&lt;br /&gt;
xdotool key ctrl+c&lt;br /&gt;
&lt;br /&gt;
Впро­чем, с уче­том то­го, что вы ис­поль­зуе­те xdotool для ухо­да от ис­поль­зо­вания мы­ши, ма­ло­ве­ро­ят­но, что вы со­би­рае­тесь тра­тить вре­мя на ко­ман­ды для кла­виш. Но есть еще од­на оп­ция, на­зы­вае­мая type, ко­то­рая по­сы­ла­ет по­ток сим­во­лов и мо­жет быть по­лез­ной для ра­бо­ты с тек­сто­вы­ми ре­дак­то­ра­ми. На­при­мер, за­пусти­те AbiWord, а за­тем вве­ди­те в тер­ми­на­ле&lt;br /&gt;
&lt;br /&gt;
xdotool search “AbiWord” windowactivate --sync type &lt;br /&gt;
“Hello world”&lt;br /&gt;
&lt;br /&gt;
Вы уви­ди­те, что фо­кус пе­ре­клю­чит­ся в ок­но AbiWord, а по­том как по ма­но­вению вол­шеб­ной па­лоч­ки вве­дет­ся текст в до­ку­мен­те. И даже есть крошечная пауза между виртуальными нажатиями клавиш, как буд­то кто-то и вправ­ду его набирал. Пау­за ре­гу­ли­ру­ет­ся опцией --delay с указанием количе­ства миллисекунд, но значение по умолчанию хорошо подходит (и гарантирует, что целевое приложение не захлебнется из-за получения нечеловече­ски быстрого потока нажатий клавиш). В каче­стве примера – вот сценарий под названием mikesig.sh, который мы ввели в /usr/bin:&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
xdotool type “Это со­об­ще­ние на­пи­сал Майк Сон­дерс. При­сы­лай­те мне но­вые от­кро­ве­ния по ад­ре­су okachi@gmail.com”&lt;br /&gt;
&lt;br /&gt;
Заметьте, что пе­ре­вод стро­ки в скрип­те тоже де­ла­ет xdotool, так что вы можете вставить новые строки. Мы использовали наш менеджер окон, чтобы сделать комбинацию Ctrl + Alt + S для запуска mikesig.sh, поэтому из любой программы можно нажать Ctrl + Alt + S и получить мгновенно сгенерированную подпись. Если у вас есть более серьезные задачи, вам такое пригодится, поскольку это работает со всеми видами приложений и оконных менеджеров.|Ширина=20%}}&lt;br /&gt;
&lt;br /&gt;
Здесь мы ак­ти­ви­зи­ру­ем ок­но хол­ста GIMP и пе­ре­хо­дим в точ­ку 100, 100 (X, Y) внут­ри него. За­тем мы уста­нав­ли­ва­ем ле­вую кноп­ку мы­ши вниз, дви­га­ем мышь по диа­го­на­ли вниз-впра­во на 100 пик­се­лей в ка­ж­дом на­прав­лении, а за­тем уста­нав­ли­ва­ем кноп­ку мы­ши вверх. Дру­ги­ми сло­ва­ми, мы соз­да­ли ро­бо­та, ко­то­рый ри­су­ет диа­го­наль­ную линию – см. эк­ран­ный снимок на пре­ды­ду­щей странице. Как и в дру­гих при­ме­рах, мы здесь вклю­чи­ли несколь­ко команд пау­зы, что­бы не об­го­нять ра­бо­ту окон­но­го менед­же­ра или об­ра­бот­ку в GIMP. (Ес­ли ва­ша ма­ши­на осо­бен­но про­из­во­ди­тель­на, из­мените пе­рио­ды ожи­дания от пол­се­кун­ды до 0,1.)&lt;br /&gt;
&lt;br /&gt;
По­ды­то­жим: на на­шем уро­ке мы изу­чи­ли раз­лич­ные спо­со­бы взаи­мо­дей­ст­вия с гра­фи­че­­ским ин­тер­фей­сом – пе­ре­ме­щение мы­ши, от­прав­ка вир­ту­аль­ных щелч­ков и пе­ре­ме­щений и по­иск кон­крет­но­го ок­на.&lt;br /&gt;
&lt;br /&gt;
Со­бе­ри­те эти дей­ст­вия вме­сте, изу­чи­те по­боль­ше воз­мож­но­стей на странице ру­ко­во­дства xdotool, и вы смо­же­те ав­то­ма­ти­зи­ро­вать прак­ти­че­­ски все на ра­бо­чем сто­ле, вы­сво­бо­див вре­мя на бо­лее важ­ные ве­щи. Эй, кто хо­чет сыг­рать во Frozen Bubble?&lt;/div&gt;</summary>
		<author><name>Olkol</name></author>	</entry>

	</feed>