diff options
Diffstat (limited to 'src/Main.cxx')
-rw-r--r-- | src/Main.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Main.cxx b/src/Main.cxx index 2bb4511..b4bf99a 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -17,6 +17,7 @@ class Main extends View, Runnable public DFBSurfacePixelFormat m_format; public std::string m_title; public bool m_interactive; + public long m_window; public bool m_always_all; public long m_interval_all; public long m_interval_hot; @@ -25,6 +26,7 @@ class Main extends View, Runnable public Config() : m_format(DSPF_UNKNOWN), m_interactive(false), + m_window(0), m_always_all(false), m_interval_all(400), m_interval_hot(100), @@ -76,6 +78,7 @@ class Main extends View, Runnable m_options.addOption( new Options::OptionFormat ( "-f", "--format", "<pixelformat>", "Pixel format of view", m_config.m_format ) ); m_options.addOption( new Options::OptionString ( "-t", "--title", "<string>", "Title of window to show", m_config.m_title ) ); m_options.addOption( new Options::OptionBool ( "-i", "--interactive", "", "Use interactive window picking", m_config.m_interactive ) ); + m_options.addOption( new Options::OptionLong ( "-w", "--window", "", "Pick window by id", m_config.m_window ) ); m_options.addOption( new Options::OptionBool ( "-a", "--all", "", "Always all", m_config.m_always_all ) ); m_options.addOption( new Options::OptionLong ( "-A", "--inter-all", "<ms>", "Interval all", m_config.m_interval_all ) ); m_options.addOption( new Options::OptionLong ( "-H", "--inter-hot", "<ms>", "Interval hot", m_config.m_interval_hot ) ); @@ -111,7 +114,9 @@ class Main extends View, Runnable SourceX11::Config::WINDOW_SELECTION_INTERACTIVE : (m_config.m_title.size() > 0 ? SourceX11::Config::WINDOW_SELECTION_TITLE : - SourceX11::Config::WINDOW_SELECTION_NONE), m_config.m_title ); + (m_config.m_window != 0 ? + SourceX11::Config::WINDOW_SELECTION_ID : + SourceX11::Config::WINDOW_SELECTION_NONE)), m_config.m_title, m_config.m_window ); m_source = new SourceX11( this, config ); #endif |