diff --git a/conjureup/app.py b/conjureup/app.py
index 2183f65..eab3469 100644
--- a/conjureup/app.py
+++ b/conjureup/app.py
@@ -317,6 +317,16 @@ def main():
         _start()
 
     else:
+        if EventLoop.rows() < 43 or EventLoop.columns() < 132:
+            print("")
+            utils.warning(
+                "conjure-up is best viewed with a terminal geometry of "
+                "at least 132x43. Please increase the size of your terminal "
+                "before starting conjure-up.")
+            print("")
+            acknowledge = input("Do you wish to continue? [Y/n] ")
+            if 'N' in acknowledge or 'n' in acknowledge:
+                sys.exit(1)
         app.ui = ConjureUI()
         EventLoop.build_loop(app.ui, STYLES,
                              unhandled_input=unhandled_input)
diff --git a/conjureup/controllers/clouds/gui.py b/conjureup/controllers/clouds/gui.py
index b63f6d8..8b441ff 100644
--- a/conjureup/controllers/clouds/gui.py
+++ b/conjureup/controllers/clouds/gui.py
@@ -1,7 +1,7 @@
 from conjureup import controllers
 from conjureup.app_config import app
 from conjureup.controllers.clouds.common import list_clouds
-from conjureup.telemetry import track_screen
+from conjureup.telemetry import track_event, track_screen
 from conjureup.ui.views.cloud import CloudView
 
 
@@ -20,6 +20,7 @@ class CloudsController:
 
         """
         app.current_cloud = cloud
+        track_event("Cloud selection", app.current_cloud, "")
         return controllers.use('newcloud').render()
 
     def render(self):
diff --git a/conjureup/ui/views/destroy_confirm.py b/conjureup/ui/views/destroy_confirm.py
index 77683d7..a3226de 100644
--- a/conjureup/ui/views/destroy_confirm.py
+++ b/conjureup/ui/views/destroy_confirm.py
@@ -1,4 +1,5 @@
 import datetime
+
 from urwid import Columns, Filler, Frame, Pile, Text, WidgetWrap
 
 from conjureup.api.models import model_status
diff --git a/ubuntui/ev.py b/ubuntui/ev.py
index 3b5eab5..4c90b84 100644
--- a/ubuntui/ev.py
+++ b/ubuntui/ev.py
@@ -18,23 +18,22 @@ class EventLoop:
     """
     loop = None
     alarms = {}
+    extra_opts = {
+        'screen': urwid.raw_display.Screen(),
+        'handle_mouse': True
+    }
 
     @classmethod
     def build_loop(cls, ui, palette, **kwargs):
         """ Builds eventloop
         """
-        extra_opts = {
-            'screen': urwid.raw_display.Screen(),
-            'handle_mouse': True
-        }
-        extra_opts['screen'].set_terminal_properties(colors=256)
-        extra_opts['screen'].reset_default_terminal_palette()
-        extra_opts.update(**kwargs)
+        cls.extra_opts['screen'].set_terminal_properties(colors=256)
+        cls.extra_opts.update(**kwargs)
         evl = asyncio.get_event_loop()
         cls.loop = urwid.MainLoop(ui, palette,
                                   event_loop=urwid.AsyncioEventLoop(loop=evl),
                                   pop_ups=True,
-                                  **extra_opts)
+                                  **cls.extra_opts)
 
     @classmethod
     def exit(cls, err=0):
@@ -85,3 +84,15 @@ class EventLoop:
             log.exception("Exception in ev.run():")
             raise
         return
+
+    @classmethod
+    def rows(cls):
+        """ Returns rows
+        """
+        return cls.extra_opts['screen'].get_cols_rows()[1]
+
+    @classmethod
+    def columns(cls):
+        """ Returns columns
+        """
+        return cls.extra_opts['screen'].get_cols_rows()[0]

Need warning about small terminal sizes affecting usability
diff --git a/test/test_controllers_clouds_gui.py b/test/test_controllers_clouds_gui.py
index 933f81a..6798cfc 100644
--- a/test/test_controllers_clouds_gui.py
+++ b/test/test_controllers_clouds_gui.py
@@ -67,10 +67,15 @@ class CloudsGUIFinishTestCase(unittest.TestCase):
 
         self.cloudname = 'testcloudname'
 
+        self.track_event_patcher = patch(
+            'conjureup.controllers.clouds.gui.track_event')
+        self.mock_track_event = self.track_event_patcher.start()
+
     def tearDown(self):
         self.controllers_patcher.stop()
         self.render_patcher.stop()
         self.app_patcher.stop()
+        self.track_event_patcher.stop()
 
     def test_finish_no_controller(self):
         "clouds.finish without existing controller"

pip install -e .
parse_log_pytest
requirements.txt
nose tox pytest
apt-get update apt-get install -y gcc
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
charset-normalizer==2.0.12
-e git+https://github.com/conjure-up/conjure-up.git@5bb8d5a83bbb3ea381d627fa277495b1abb0fbce#egg=conjure_up
distlib==0.3.9
filelock==3.4.1
idna==3.10
importlib-metadata==4.8.3
importlib-resources==5.4.0
iniconfig==1.1.1
Jinja2==3.0.3
juju-wait==2.8.4
MarkupSafe==2.0.1
nose==1.3.7
oauthlib==3.2.2
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
prettytable==2.5.0
progressbar2==3.55.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
python-utils==3.5.2
PyYAML==6.0.1
q==2.7
requests==2.27.1
requests-oauthlib==2.0.0
six==1.17.0
termcolor==1.1.0
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
urllib3==1.26.20
urwid==2.1.2
virtualenv==20.17.1
wcwidth==0.2.13
ws4py==0.3.4
zipp==3.6.0

name: conjure-up
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - distlib==0.3.9
      - filelock==3.4.1
      - idna==3.10
      - importlib-metadata==4.8.3
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - jinja2==3.0.3
      - juju-wait==2.8.4
      - markupsafe==2.0.1
      - nose==1.3.7
      - oauthlib==3.2.2
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - prettytable==2.5.0
      - progressbar2==3.55.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-utils==3.5.2
      - pyyaml==6.0.1
      - q==2.7
      - requests==2.27.1
      - requests-oauthlib==2.0.0
      - six==1.17.0
      - termcolor==1.1.0
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - urwid==2.1.2
      - virtualenv==20.17.1
      - wcwidth==0.2.13
      - ws4py==0.3.4
      - zipp==3.6.0
prefix: /opt/conda/envs/conjure-up

test/test_controllers_clouds_gui.py::CloudsGUIFinishTestCase::test_finish_no_controller
test/test_controllers_clouds_gui.py::CloudsGUIRenderTestCase::test_render
ubuntui/ev.py conjureup/ui/views/destroy_confirm.py conjureup/app.py conjureup/controllers/clouds/gui.py
ubuntui/ev.py conjureup/ui/views/destroy_confirm.py conjureup/app.py conjureup/controllers/clouds/gui.py