Use correct range operator to remove requirement to alter value of #viewport_height.
Return height with #attrs, also;

- Add temporary #width method.
- Add more documentation.
- Simplify movement.
Rollback.