Как программно управлять приложением Windows?

Примечание. Это был ответ на другой пост, который имел тот же сценарий, но гораздо меньше деталей; Я бы ответил по-другому на этот пост, в любом случае, надеюсь, что это тоже поможет.

Вот что вам нужно сделать.

Загрузитесь с загрузочного USB или компакт-диска Ubuntu.

Загрузите с загрузочного USB или CD Ubuntu.

Ubuntu Installation page 1

] Нажмите «Продолжить». Выберите опцию «SOMETHING ELSE».

Нажмите «Продолжить». Появится окно ниже. Выберите раздел (пустой или без важных данных), в котором вы хотите установить Ubuntu. В этом примере это показано как свободное пространство, в вашем случае просто выберите раздел, который вам не нужен, или хотите включить Ubuntu. Неважно, является ли это разделом NTFS, потому что вы можете отформатировать его на другой раздел на следующем экране. В Продолжить выберите свой жесткий диск, а не раздел.

enter image description here

Появится следующее окно. Выберите раздел (пустой или без важных данных), в котором вы хотите установить Ubuntu. В этом примере это показано как свободное пространство, в вашем случае просто выберите раздел, который вам не нужен, или хотите включить Ubuntu. Неважно, является ли это разделом NTFS, потому что вы можете отформатировать его на другой раздел на следующем экране. В Continue выберите свой жесткий диск, а не раздел.

Нажмите «Установить сейчас». Выберите опцию «SOMETHING ELSE».
3
задан 21 January 2011 в 13:46

30 ответов

Самый простой способ сделать это - использовать wmctrl. Вы можете прочитать man wmctrl, чтобы узнать, как его использовать.

sudo apt-get install wmctrl

Вы могли бы связать командную строку с классом «Window» и добавить к ней методы, которые используют команды wmctrl в фоновом режиме. [ ! d3]

class Window
    @@windows = []
    def self.windows
        @@windows
    end
    def self.get_windows
        @@windows.clear
        `wmctrl -l`.split("\n").map do |str|
            @@windows << self.class.new(str.split(' ')*)
        end
    end
    def initialize window_id, desktop_id, client_machine, window_title
        #set up object here
    end
    #add other methods here
end

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry, который мог бы использовать опцию -r <WIN> -e <MVARG>.

Прежде чем делать это, вы должны сначала ознакомиться с wmctrl и IO.

Возможно когда вы достигли того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 25 May 2018 в 23:21

самый простой способ сделать это будет с помощью wmctrl. Вы можете прочитать man wmctrl, чтобы увидеть, как использовать его.

sudo apt-get install wmctrl

можно в принципе привязать командную строку для класса "окно" и добавить в него методы, которые используют команды wmctrl в фоновом режиме.

class Window @@windows = [] def self.windows @@windows end def self.get_windows @@windows.clear `wmctrl -l`.split("\n").map do |str| @@windows << self.class.new(str.split(' ')*) end end def initialize window_id, desktop_id, client_machine, window_title #set up object here end #add other methods here end

, что должно быть хорошей отправной точкой. Это не проверял, но вы должны быть в состоянии работать его отсюда. Теперь можно добавить методы экземпляра, например. change_geometry, которые могли бы использовать опцию -r <WIN> -e <MVARG>.

Вы должны ознакомить себя с wmctrl и ИО в целом перед этим.

, возможно, когда вы добились того, что вам нужно, вы можете распространять эту библиотеку Ruby и пакет для Дебиан/убунту.

4
ответ дан 25 July 2018 в 22:35

самый простой способ сделать это будет с помощью wmctrl. Вы можете прочитать man wmctrl, чтобы увидеть, как использовать его.

sudo apt-get install wmctrl

можно в принципе привязать командную строку для класса "окно" и добавить в него методы, которые используют команды wmctrl в фоновом режиме.

class Window @@windows = [] def self.windows @@windows end def self.get_windows @@windows.clear `wmctrl -l`.split("\n").map do |str| @@windows << self.class.new(str.split(' ')*) end end def initialize window_id, desktop_id, client_machine, window_title #set up object here end #add other methods here end

, что должно быть хорошей отправной точкой. Это не проверял, но вы должны быть в состоянии работать его отсюда. Теперь можно добавить методы экземпляра, например. change_geometry, которые могли бы использовать опцию -r <WIN> -e <MVARG>.

Вы должны ознакомить себя с wmctrl и ИО в целом перед этим.

, возможно, когда вы добились того, что вам нужно, вы можете распространять эту библиотеку Ruby и пакет для Дебиан/убунту.

4
ответ дан 26 July 2018 в 22:49

самый простой способ сделать это будет с помощью wmctrl. Вы можете прочитать man wmctrl, чтобы увидеть, как использовать его.

sudo apt-get install wmctrl

можно в принципе привязать командную строку для класса "окно" и добавить в него методы, которые используют команды wmctrl в фоновом режиме.

class Window @@windows = [] def self.windows @@windows end def self.get_windows @@windows.clear `wmctrl -l`.split("\n").map do |str| @@windows << self.class.new(str.split(' ')*) end end def initialize window_id, desktop_id, client_machine, window_title #set up object here end #add other methods here end

, что должно быть хорошей отправной точкой. Это не проверял, но вы должны быть в состоянии работать его отсюда. Теперь можно добавить методы экземпляра, например. change_geometry, которые могли бы использовать опцию -r <WIN> -e <MVARG>.

Вы должны ознакомить себя с wmctrl и ИО в целом перед этим.

, возможно, когда вы добились того, что вам нужно, вы можете распространять эту библиотеку Ruby и пакет для Дебиан/убунту.

4
ответ дан 31 July 2018 в 13:14

самый простой способ сделать это будет с помощью wmctrl. Вы можете прочитать man wmctrl, чтобы увидеть, как использовать его.

sudo apt-get install wmctrl

можно в принципе привязать командную строку для класса "окно" и добавить в него методы, которые используют команды wmctrl в фоновом режиме.

class Window @@windows = [] def self.windows @@windows end def self.get_windows @@windows.clear `wmctrl -l`.split("\n").map do |str| @@windows << self.class.new(str.split(' ')*) end end def initialize window_id, desktop_id, client_machine, window_title #set up object here end #add other methods here end

, что должно быть хорошей отправной точкой. Это не проверял, но вы должны быть в состоянии работать его отсюда. Теперь можно добавить методы экземпляра, например. change_geometry, которые могли бы использовать опцию -r <WIN> -e <MVARG>.

Вы должны ознакомить себя с wmctrl и ИО в целом перед этим.

, возможно, когда вы добились того, что вам нужно, вы можете распространять эту библиотеку Ruby и пакет для Дебиан/убунту.

4
ответ дан 2 August 2018 в 04:01

Самый простой способ сделать это - использовать wmctrl . Вы можете прочитать man wmctrl , чтобы узнать, как его использовать.

  sudo apt-get install wmctrl  

Вы могли бы в основном связывать командной строки в класс «Window» и добавить к нему методы, которые используют команды wmctrl в фоновом режиме.

  класс Window @@ windows = [] def self.windows @@ windows end def self  .get_windows @@ windows.clear `wmctrl -l`.split (" \n "). map do | str |  @@ windows & lt;  self.class.new (str.split ('') *) end end def initialize window_id, desktop_id, client_machine, window_title #set up here here end #add другие методы здесь end  

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry , который может использовать -r & lt; WIN & gt; -e & lt; MVARG & gt; .

Прежде чем делать это, вы должны сначала ознакомиться с трубами и IO в целом .

Возможно, когда вы достигнете того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 4 August 2018 в 20:05

Самый простой способ сделать это - использовать wmctrl . Вы можете прочитать man wmctrl , чтобы узнать, как его использовать.

  sudo apt-get install wmctrl  

Вы могли бы в основном связывать командной строки в класс «Window» и добавить к нему методы, которые используют команды wmctrl в фоновом режиме.

  класс Window @@ windows = [] def self.windows @@ windows end def self  .get_windows @@ windows.clear `wmctrl -l`.split (" \n "). map do | str |  @@ windows & lt;  self.class.new (str.split ('') *) end end def initialize window_id, desktop_id, client_machine, window_title #set up here here end #add другие методы здесь end  

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry , который может использовать -r & lt; WIN & gt; -e & lt; MVARG & gt; .

Прежде чем делать это, вы должны сначала ознакомиться с трубами и IO в целом .

Возможно, когда вы достигнете того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 6 August 2018 в 04:05

Самый простой способ сделать это - использовать wmctrl . Вы можете прочитать man wmctrl , чтобы узнать, как его использовать.

  sudo apt-get install wmctrl  

Вы могли бы в основном связывать командной строки в класс «Window» и добавить к нему методы, которые используют команды wmctrl в фоновом режиме.

  класс Window @@ windows = [] def self.windows @@ windows end def self  .get_windows @@ windows.clear `wmctrl -l`.split (" \n "). map do | str |  @@ windows & lt;  self.class.new (str.split ('') *) end end def initialize window_id, desktop_id, client_machine, window_title #set up here here end #add другие методы здесь end  

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry , который может использовать -r & lt; WIN & gt; -e & lt; MVARG & gt; .

Прежде чем делать это, вы должны сначала ознакомиться с трубами и IO в целом .

Возможно, когда вы достигнете того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 7 August 2018 в 22:05

Самый простой способ сделать это - использовать wmctrl . Вы можете прочитать man wmctrl , чтобы узнать, как его использовать.

  sudo apt-get install wmctrl  

Вы могли бы в основном связывать командной строки в класс «Window» и добавить к нему методы, которые используют команды wmctrl в фоновом режиме.

  класс Window @@ windows = [] def self.windows @@ windows end def self  .get_windows @@ windows.clear `wmctrl -l`.split (" \n "). map do | str |  @@ windows & lt;  self.class.new (str.split ('') *) end end def initialize window_id, desktop_id, client_machine, window_title #set up here here end #add другие методы здесь end  

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry , который может использовать -r & lt; WIN & gt; -e & lt; MVARG & gt; .

Прежде чем делать это, вы должны сначала ознакомиться с трубами и IO в целом .

Возможно, когда вы достигнете того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 10 August 2018 в 10:20

Самый простой способ сделать это - использовать wmctrl . Вы можете прочитать man wmctrl , чтобы узнать, как его использовать.

  sudo apt-get install wmctrl  

Вы могли бы в основном связывать командной строки в класс «Window» и добавить к нему методы, которые используют команды wmctrl в фоновом режиме.

  класс Window @@ windows = [] def self.windows @@ windows end def self  .get_windows @@ windows.clear `wmctrl -l`.split (" \n "). map do | str |  @@ windows & lt;  self.class.new (str.split ('') *) end end def initialize window_id, desktop_id, client_machine, window_title #set up here here end #add другие методы здесь end  

Это должно быть хорошей отправной точкой. Это не протестировано или что-то еще, но вы должны уметь это отсюда. Теперь вы можете добавить методы экземпляра, например. change_geometry , который может использовать -r & lt; WIN & gt; -e & lt; MVARG & gt; .

Прежде чем делать это, вы должны сначала ознакомиться с трубами и IO в целом .

Возможно, когда вы достигнете того, что вам нужно, вы можете распространять это как рубиновую библиотеку и упаковать ее для Debian / Ubuntu.

4
ответ дан 13 August 2018 в 16:44

Вы можете использовать спецификацию опций Extended Window Manager, чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот хороший проект: Расширенные подсказки диспетчера окон . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

В этом примере максимизируются все окна:

import Probe

prob=Probe.Probe()
winlist=prob.get_window_list()
for win in winlist:
    prob.window_maximize(win)
3
ответ дан 25 May 2018 в 23:21

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, можете вызвать его через систему.

sudo apt-get install wmctrl

Я использую его во многих сценариях оболочки, а иногда и perl-скриптах, используя system ()

hth

1
ответ дан 25 May 2018 в 23:21

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, можете вызвать его через систему.

sudo apt-get install wmctrl

Я использую его во многих сценариях оболочки, а иногда и perl-скриптах, используя system ()

hth

1
ответ дан 25 July 2018 в 22:35

Вы можете использовать Расширенный оконный менеджер оттенками спецификаций сказать ВМ изменить некоторые окна. Это трюк, который использует wmctrl.

как правило, вы должны использовать библиотеки xlib использовать EWMH, но для Python есть такой хороший проект: расширенные подсказки менеджер окон. Это программа Python для плитки в Windows. Это не только хороший пример, он обернул наиболее важные функции в один класс. Просто загрузите исходный код и посмотри Probe.py это делает большинство из того, что вы спрашиваете.

в этом примере максимизирует все окна:

import Probe prob=Probe.Probe() winlist=prob.get_window_list() for win in winlist: prob.window_maximize(win)
3
ответ дан 25 July 2018 в 22:35

Здравствуйте, посмотрите на wmctrl. Это не настоящая библиотека, но сценарий командной строки, что позволяет окну манипуляции через параметры командной строки. Вы, конечно, сможете называть его по системе.

sudo apt-get install wmctrl

я использую его во многих скриптах оболочки, а иногда и Perl-скриптов с помощью системы()

НТН

1
ответ дан 26 July 2018 в 22:49

Вы можете использовать Расширенный оконный менеджер оттенками спецификаций сказать ВМ изменить некоторые окна. Это трюк, который использует wmctrl.

как правило, вы должны использовать библиотеки xlib использовать EWMH, но для Python есть такой хороший проект: расширенные подсказки менеджер окон. Это программа Python для плитки в Windows. Это не только хороший пример, он обернул наиболее важные функции в один класс. Просто загрузите исходный код и посмотри Probe.py это делает большинство из того, что вы спрашиваете.

в этом примере максимизирует все окна:

import Probe prob=Probe.Probe() winlist=prob.get_window_list() for win in winlist: prob.window_maximize(win)
3
ответ дан 26 July 2018 в 22:49

Здравствуйте, посмотрите на wmctrl. Это не настоящая библиотека, но сценарий командной строки, что позволяет окну манипуляции через параметры командной строки. Вы, конечно, сможете называть его по системе.

sudo apt-get install wmctrl

я использую его во многих скриптах оболочки, а иногда и Perl-скриптов с помощью системы()

НТН

1
ответ дан 31 July 2018 в 13:14

Вы можете использовать спецификацию опций Extended Window Manager, чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот хороший проект: Расширенные подсказки диспетчера окон . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

В этом примере максимизируются все окна:

import Probe prob=Probe.Probe() winlist=prob.get_window_list() for win in winlist: prob.window_maximize(win)
3
ответ дан 31 July 2018 в 13:14

Здравствуйте, посмотрите на wmctrl. Это не настоящая библиотека, но сценарий командной строки, что позволяет окну манипуляции через параметры командной строки. Вы, конечно, сможете называть его по системе.

sudo apt-get install wmctrl

я использую его во многих скриптах оболочки, а иногда и Perl-скриптов с помощью системы()

НТН

1
ответ дан 2 August 2018 в 04:01

Вы можете использовать Расширенный оконный менеджер оттенками спецификаций сказать ВМ изменить некоторые окна. Это трюк, который использует wmctrl.

как правило, вы должны использовать библиотеки xlib использовать EWMH, но для Python есть такой хороший проект: расширенные подсказки менеджер окон. Это программа Python для плитки в Windows. Это не только хороший пример, он обернул наиболее важные функции в один класс. Просто загрузите исходный код и посмотри Probe.py это делает большинство из того, что вы спрашиваете.

в этом примере максимизирует все окна:

import Probe prob=Probe.Probe() winlist=prob.get_window_list() for win in winlist: prob.window_maximize(win)
3
ответ дан 2 August 2018 в 04:01

Вы можете использовать опцию Extended Window Manager Hints , чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот приятный проект: PyTile . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

Этот пример максимизирует все окна:

  import Probe prob = Probe  .Probe () winlist = prob.get_window_list () для победы в winlist: prob.window_maximize (win)  
3
ответ дан 4 August 2018 в 20:05

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, сможете вызвать его через систему.

  sudo apt-get install wmctrl  

Я использую его во многих сценариях оболочки, а иногда и perl скрипты с использованием system ()

hth

1
ответ дан 4 August 2018 в 20:05

Вы можете использовать опцию Extended Window Manager Hints , чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот приятный проект: PyTile . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

Этот пример максимизирует все окна:

  import Probe prob = Probe  .Probe () winlist = prob.get_window_list () для победы в winlist: prob.window_maximize (win)  
3
ответ дан 6 August 2018 в 04:05

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, сможете вызвать его через систему.

  sudo apt-get install wmctrl  

Я использую его во многих сценариях оболочки, а иногда и perl скрипты с использованием system ()

hth

1
ответ дан 6 August 2018 в 04:05

Вы можете использовать опцию Extended Window Manager Hints , чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот приятный проект: PyTile . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

Этот пример максимизирует все окна:

  import Probe prob = Probe  .Probe () winlist = prob.get_window_list () для победы в winlist: prob.window_maximize (win)  
3
ответ дан 7 August 2018 в 22:05

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, сможете вызвать его через систему.

  sudo apt-get install wmctrl  

Я использую его во многих сценариях оболочки, а иногда и perl скрипты с использованием system ()

hth

1
ответ дан 7 August 2018 в 22:05

Вы можете использовать опцию Extended Window Manager Hints , чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот приятный проект: PyTile . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

Этот пример максимизирует все окна:

  import Probe prob = Probe  .Probe () winlist = prob.get_window_list () для победы в winlist: prob.window_maximize (win)  
3
ответ дан 10 August 2018 в 10:20

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, сможете вызвать его через систему.

  sudo apt-get install wmctrl  

Я использую его во многих сценариях оболочки, а иногда и perl скрипты с использованием system ()

hth

1
ответ дан 10 August 2018 в 10:20

Вы можете использовать опцию Extended Window Manager Hints , чтобы сообщить WM об изменении некоторых окон. Это трюк, который использует wmctrl.

Обычно вам нужно использовать XLib для использования EWMH, но для python есть этот приятный проект: PyTile . Это программа python для разбиения окон. Мало того, что это хороший пример, он включил наиболее важные функции в один класс. Просто загрузите источник и посмотрите на Probe.py, он делает большую часть того, что вы просите.

Этот пример максимизирует все окна:

  import Probe prob = Probe  .Probe () winlist = prob.get_window_list () для победы в winlist: prob.window_maximize (win)  
3
ответ дан 13 August 2018 в 16:44

Эй, посмотри на wmctrl. Это не настоящая библиотека, а скрипт командной строки, который позволяет управлять окнами через ключи командной строки. Вы, конечно, сможете вызвать его через систему.

  sudo apt-get install wmctrl  

Я использую его во многих сценариях оболочки, а иногда и perl скрипты с использованием system ()

hth

1
ответ дан 13 August 2018 в 16:44

Другие вопросы по тегам:

Похожие вопросы: