Thibault Jouan
1575a2d369
Handle termination properly
...
* Tell the manager to close the display before terminating;
* Log about quit request and process termination.
2015-04-15 12:49:04 +00:00
Thibault Jouan
d3f1fe6d34
Refactor Runner#register_event_hooks
2015-04-15 12:05:33 +00:00
Thibault Jouan
e12510713c
Fix coding standards
2015-04-15 12:05:28 +00:00
Thibault Jouan
712dde4718
Freeze Env::LOGGER_LEVEL_STRINGS
2015-04-15 11:52:08 +00:00
Thibault Jouan
57a7e104ce
Extract default env key bindings in a constant
2015-04-15 09:34:30 +00:00
Thibault Jouan
6ac26c370e
Implement `modifier' run control keyword
2015-04-15 09:31:32 +00:00
Thibault Jouan
620150b6d8
Remove context for constructor specs
2015-04-15 09:31:32 +00:00
Thibault Jouan
c50345af8b
Merge branch 'action-handler'
...
* Introduce a DSL to evaluate code associated to key bindings
(ActionsHandler class);
* Provides default key bindings (quit) in the env, and remove hard coded
handling in Runner;
* Handle quit with an event.
2015-04-15 04:45:48 +00:00
Thibault Jouan
49f85bee35
Implement `quit' action keyword
2015-04-15 04:20:26 +00:00
Thibault Jouan
0a83563cad
Improve error reporting on run control evaluation
2015-04-15 04:13:24 +00:00
Thibault Jouan
747573c52e
Fix cucumber steps description (s/should/must/)
2015-04-15 03:28:16 +00:00
Thibault Jouan
773db4c8eb
Reorganize cucumber features
2015-04-15 03:23:27 +00:00
Thibault Jouan
71b88b29c3
Add `run' rake task to experiment uhwm in Xephyr
2015-04-15 02:28:29 +00:00
Thibault Jouan
75cd101739
Refactor cucumber scenarios
2015-04-15 01:17:35 +00:00
Thibault Jouan
9c9aa1dabb
Configure upcased key as combination with shift mod
2015-04-15 01:09:18 +00:00
Thibault Jouan
56197c85f8
Translate common key names in `key' RC keyword
2015-04-14 22:14:10 +00:00
Thibault Jouan
f53ad53806
Refactor `spec' rake task declaration
2015-04-14 21:54:43 +00:00
Thibault Jouan
2d26ce0b81
Merge branch 'key_binding-definition'
2015-04-14 21:43:07 +00:00
Thibault Jouan
08fe5a6994
Implement `key' run control keyword
2015-04-14 21:42:47 +00:00
Thibault Jouan
2a1a1f1185
Register key bindings in the env with RunControl
2015-04-14 21:42:47 +00:00
Thibault Jouan
b1aa430ef3
Add a new class for run control file evaluation
2015-04-14 21:42:47 +00:00
Thibault Jouan
66c1b78740
Fix a description in Manager#handle specs
2015-04-14 21:42:33 +00:00
Thibault Jouan
193180fe6d
Add a cucumber step to handle run control file
2015-04-14 03:23:12 +00:00
Thibault Jouan
e81cf3a52f
Clean up tests
...
* Remove deprecated tags;
* Improve scenarios, steps and specs descriptions.
2015-04-14 02:59:48 +00:00
Thibault Jouan
bceeae01ac
Update documentation
2015-04-14 02:35:40 +00:00
Thibault Jouan
4049bf255d
Merge branch 'runcontrol-file'
2015-04-14 02:32:35 +00:00
Thibault Jouan
62c824cd7d
Specify alternate run control file path from CLI
2015-04-14 02:28:37 +00:00
Thibault Jouan
7493ab3284
Evaluate run control file when present
2015-04-14 02:28:33 +00:00
Thibault Jouan
8165a1d4f5
Mock home directory in all cucumber scenarios
2015-04-14 02:27:36 +00:00
Thibault Jouan
d6ae5d9446
Add rspec helpers for filesystem
2015-04-14 02:07:57 +00:00
Thibault Jouan
e9de59b37b
Manage run control file path in Env
2015-04-14 02:03:59 +00:00
Thibault Jouan
6cafd2ea37
Remove Runner.run factory specs
2015-04-14 02:02:43 +00:00
Thibault Jouan
d1cc294b67
Fix coding standards (unused vars in cucumber env)
2015-04-14 01:41:39 +00:00
Thibault Jouan
5e80648525
Fix error message in uhwm_wait_output UAT helper
2015-04-14 01:41:05 +00:00
Thibault Jouan
8a97f3c8b8
Move OtherWMRunningError message in the class
2015-04-13 21:39:01 +00:00
Thibault Jouan
53d83d5f08
Extract user acceptance test helpers in a module
2015-04-13 01:56:08 +00:00
Thibault Jouan
10591d0646
Fail when another window manager is already running
2015-04-13 01:29:35 +00:00
Thibault Jouan
c3e1f9639a
Handle and format Uh::WM::RuntimeError in CLI.run
2015-04-13 01:29:04 +00:00
Thibault Jouan
34d84ad111
Configure rspec to run :xvfb examples with Xvfb
2015-04-13 01:29:04 +00:00
Thibault Jouan
6ce8edda99
Update documentation
2015-04-12 21:14:14 +00:00
Thibault Jouan
07f820d1b1
Allow travis CI failure with ruby head
2015-04-12 21:08:53 +00:00
Thibault Jouan
6b72da74a1
Merge branch 'layout-registration'
2015-04-12 21:04:34 +00:00
Thibault Jouan
de3fca228e
Register a Layout with display information
2015-04-12 21:04:29 +00:00
Thibault Jouan
b9b2bff853
Use Layout from uh-layout as default
2015-04-12 21:04:29 +00:00
Thibault Jouan
616b14eae2
Register layout event hooks
2015-04-12 21:04:29 +00:00
Thibault Jouan
a848e6b936
Instantiate and assign a Layout in the Runner
2015-04-12 21:04:29 +00:00
Thibault Jouan
b65e989c38
Accept -l LAYOUT CLI option to set the layout
2015-04-12 21:04:29 +00:00
Thibault Jouan
0ce73c2e2f
Improve error reporting in cucumber helpers
...
Indent stdout and stderr in the error generated by uhwm_wait_output
helper.
2015-04-12 21:01:54 +00:00
Thibault Jouan
c9e6d1807b
Fix X display handling in rspec test suite
...
* Hide any available X display from test suite context;
* Ensure the manager never connect or block.
2015-04-10 10:16:30 +00:00
Thibault Jouan
59e9562279
Rename :display, :* events as :*
2015-04-10 07:53:45 +00:00
Thibault Jouan
325801a037
Fix Runner specs on manager event hooks
2015-04-10 07:15:08 +00:00
Thibault Jouan
f9fe27d36b
Remove unneeded contexts in runner specs
2015-04-10 07:15:08 +00:00
Thibault Jouan
791c159d7a
Implement ruby feature loading (-r CLI option)
2015-04-10 07:14:41 +00:00
Thibault Jouan
1467425407
Improve cucumber output steps
2015-04-10 07:14:41 +00:00
Thibault Jouan
d965fb2afd
Handle Manager logging with events Dispatcher
2015-04-09 23:31:56 +00:00
Thibault Jouan
7b9854b499
Support event hook arguments in Dispatcher
2015-04-09 23:31:13 +00:00
Thibault Jouan
520a0c87c9
Implement Env#log_debug
2015-04-09 23:11:52 +00:00
Thibault Jouan
7636e646f2
Fix coding standards (indent align in Env)
2015-04-09 23:11:24 +00:00
Thibault Jouan
6f38ad2990
Merge branch 'debug-option'
2015-04-09 22:22:47 +00:00
Thibault Jouan
464b75841b
Implement debug mode
2015-04-09 22:22:41 +00:00
Thibault Jouan
69d885b282
Support -d debug option in CLI
2015-04-09 22:22:41 +00:00
Thibault Jouan
7b11dd7b08
Add debug mode in Env
2015-04-09 22:22:41 +00:00
Thibault Jouan
f66d8d24ee
Improve reporting in #uhwm_wait_output cucumber helper
2015-04-09 22:22:27 +00:00
Thibault Jouan
1079609cfc
Merge branch 'verbose-option'
2015-04-09 21:44:09 +00:00
Thibault Jouan
254efe4f74
Implement verbose mode
2015-04-09 21:43:57 +00:00
Thibault Jouan
404b34acc0
Implement Env#log_logger_level
2015-04-09 21:43:57 +00:00
Thibault Jouan
0d0eac111c
Implement verbose status in Env
2015-04-09 21:43:57 +00:00
Thibault Jouan
6de680c443
Ensure uhwm is killed after each cucumber scenario
2015-04-09 21:43:47 +00:00
Thibault Jouan
98bfa6c218
Fix coding standards
2015-04-09 03:51:38 +00:00
Thibault Jouan
0ad00f3b77
Refactor Dispatcher
2015-04-09 03:49:26 +00:00
Thibault Jouan
811354b683
Add basic documentation
2015-04-09 03:27:30 +00:00
Thibault Jouan
309347a8ec
Hide linux netstat stderr output on travis CI
2015-04-09 03:23:12 +00:00
Thibault Jouan
366028fa01
Allow X related tests to work on travis CI
2015-04-09 03:23:12 +00:00
Thibault Jouan
4eecc2e32f
Configure travis continuous integration service
2015-04-09 03:23:12 +00:00
Thibault Jouan
6f8bb69c92
Force Display test double usage in Runner.run specs
...
We need to mock Display.new to return a test double with #open
disabled, in order to prevent the manager to initiate real connections
to current display and because we don't want to inject a Display
instance all the way down from Runner to Manager (at least not yet).
2015-04-09 03:23:12 +00:00
Thibault Jouan
199269f046
Fix missing require call for optparse
2015-04-09 01:28:22 +00:00
Thibault Jouan
dc77ba0626
Regroup stdlib require calls in main module
2015-04-09 01:28:05 +00:00
Thibault Jouan
19d37fb6c5
Specify exact uh pre-release version requirement
2015-04-09 01:21:13 +00:00
Thibault Jouan
7896af9485
Merge branch 'events-key_press-quit'
...
Implement a few basic classes to handle different concerns (Runner,
Manager, Dispatcher) and integrate them together with a hard coded hook
for `mod1+q' key binding, which will initiate program termination.
2015-04-09 00:30:17 +00:00
Thibault Jouan
ceac19b346
Quit on `mod1+q' key binding
...
* Loop our runner until it is "stopped";
* Use the event dispatcher to stop the runner on `mod1+q' key press;
* Tell the manager to grab the `q' key.
2015-04-09 00:30:13 +00:00
Thibault Jouan
224ae6be5f
Implement Runner#run_until
2015-04-09 00:30:13 +00:00
Thibault Jouan
c8f12af987
Implement Manager#handle
2015-04-09 00:30:13 +00:00
Thibault Jouan
498feb809e
Instanciate Manager with a mandatory Dispatcher
2015-04-09 00:30:13 +00:00
Thibault Jouan
7becda9f31
Implement Dispatcher#emit
2015-04-09 00:30:13 +00:00
Thibault Jouan
ca8f60365f
Ignore /tmp/ from version control
2015-04-09 00:30:13 +00:00
Thibault Jouan
6b0676e547
Accept constructor options in Runner.run factory
2015-04-09 00:30:13 +00:00
Thibault Jouan
7c8b312084
Accept stopped status param in Runner constructor
2015-04-09 00:30:13 +00:00
Thibault Jouan
fd13accaf6
Assign a Dispatcher in new Runner instances
2015-04-09 00:30:13 +00:00
Thibault Jouan
585903240b
Implement Manager#handle_pending_events
2015-04-09 00:30:13 +00:00
Thibault Jouan
d3007201cc
Accept Display instance in Manager constructor
2015-04-09 00:30:13 +00:00
Thibault Jouan
b354ffcd62
Add stopped status notion in Runner
2015-04-09 00:30:12 +00:00
Thibault Jouan
44a69b75c6
Accept a Manager instance in Runner constructor
2015-04-09 00:30:12 +00:00
Thibault Jouan
b4b4f086d4
Implement Manager#grab_key
2015-04-09 00:30:12 +00:00
Thibault Jouan
84ad217d5b
Implement a basic event dispatcher
2015-04-09 00:30:12 +00:00
Thibault Jouan
49fe77ddb1
Integrate our new Runner into CLI
2015-04-09 00:30:12 +00:00
Thibault Jouan
ea0034fd7e
Implement basic Runner
2015-04-09 00:30:12 +00:00
Thibault Jouan
cd76c4e270
Implement basic Manager
2015-04-09 00:30:12 +00:00
Thibault Jouan
bc2ab4b9fa
Fix coding standards (extra lines in specs)
2015-04-09 00:30:00 +00:00
Thibault Jouan
1b6a6f9cea
Refactor CLI specs
2015-04-09 00:30:00 +00:00
Thibault Jouan
01d7805760
Add uhwm_wait_output cucumber helper
2015-04-08 16:46:58 +00:00