diff --git a/.clang-tidy b/.clang-tidy
index 6459e59141254976f16aed5979c5d132ed26a8ea..494b17ab641c754351405f01e42d963c41b438d1 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -8,14 +8,16 @@ Checks: "*,
         -llvm*,
         -modernize-use-trailing-return-type,
         -zircon-*,
-        -readability-else-after-return,
-        -readability-static-accessed-through-instance,
-        -readability-avoid-const-params-in-decls,
+        -bugprone-easily-swappable-parameters,
         -cppcoreguidelines-non-private-member-variables-in-classes,
+        -misc-no-recursion,
         -misc-non-private-member-variables-in-classes,
         -modernize-use-nodiscard,
-        -misc-no-recursion,
+        -readability-avoid-const-params-in-decls,
+        -readability-else-after-return,
+        -readability-identifier-length,
         -readability-implicit-bool-conversion,
+        -readability-static-accessed-through-instance,
 "
 WarningsAsErrors: ''
 HeaderFilterRegex: ''
diff --git a/src/ftxui/component/component_options.cpp b/src/ftxui/component/component_options.cpp
index 5e29d4bd3188292503b6c4c6a13939f5de0b6f55..57a2c149a9098022cc5ad1a1147b3a0fb0dbe2b1 100644
--- a/src/ftxui/component/component_options.cpp
+++ b/src/ftxui/component/component_options.cpp
@@ -164,7 +164,11 @@ ButtonOption ButtonOption::Animated(Color color) {
 /// @brief Create a ButtonOption, using animated colors.
 // static
 ButtonOption ButtonOption::Animated(Color background, Color foreground) {
-  return ButtonOption::Animated(background, foreground, foreground, background);
+  return ButtonOption::Animated(
+      /*bakground=*/background,
+      /*foreground=*/foreground,
+      /*background_active=*/foreground,
+      /*foreground_active=*/background);
 }
 
 /// @brief Create a ButtonOption, using animated colors.
diff --git a/src/ftxui/component/modal.cpp b/src/ftxui/component/modal.cpp
index 509a6bd02ea8c13e54e03eb2145289847ac6bb8c..e35e67d52f62e2f8056ad59346926a832eea65a8 100644
--- a/src/ftxui/component/modal.cpp
+++ b/src/ftxui/component/modal.cpp
@@ -19,7 +19,6 @@ Component Modal(Component main, Component modal, const bool* show_modal) {
         : main_(std::move(main)),
           modal_(std::move(modal)),
           show_modal_(show_modal) {
-      selector_ = *show_modal_;
       Add(Container::Tab({main_, modal_}, &selector_));
     }
 
@@ -44,7 +43,7 @@ Component Modal(Component main, Component modal, const bool* show_modal) {
     Component main_;
     Component modal_;
     const bool* show_modal_;
-    int selector_ = 0;
+    int selector_ = *show_modal_;
   };
   return Make<Impl>(main, modal, show_modal);
 }
diff --git a/src/ftxui/component/radiobox.cpp b/src/ftxui/component/radiobox.cpp
index 298518d3b27cc329edebeefff6eeee73e1e7c481..41da88b91b0be7b3870ae597833be953ec273680 100644
--- a/src/ftxui/component/radiobox.cpp
+++ b/src/ftxui/component/radiobox.cpp
@@ -28,7 +28,6 @@ class RadioboxBase : public ComponentBase {
                int* selected,
                Ref<RadioboxOption> option)
       : entries_(entries), selected_(selected), option_(std::move(option)) {
-    hovered_ = *selected_;
   }
 
  private:
@@ -175,7 +174,7 @@ class RadioboxBase : public ComponentBase {
 
   ConstStringListRef entries_;
   int* selected_;
-  int hovered_;
+  int hovered_ = *selected_;
   std::vector<Box> boxes_;
   Box box_;
   Ref<RadioboxOption> option_;
diff --git a/src/ftxui/dom/separator.cpp b/src/ftxui/dom/separator.cpp
index 7a10dcb4ea9e29607ff210f0a3f26a4a61731d88..8655fb70e9f48876ba222d827914581d957af407 100644
--- a/src/ftxui/dom/separator.cpp
+++ b/src/ftxui/dom/separator.cpp
@@ -13,8 +13,6 @@
 namespace ftxui {
 
 namespace {
-using ftxui::Screen;
-
 using Charset = std::array<std::string, 2>;  // NOLINT
 using Charsets = std::array<Charset, 5>;     // NOLINT
 // NOLINTNEXTLINE
diff --git a/src/ftxui/screen/color.cpp b/src/ftxui/screen/color.cpp
index 18be388132e50c96d8d4be2772e262e0ead07530..d8b3cd045b2e3012c6684a7cda0f3b603a9d57b6 100644
--- a/src/ftxui/screen/color.cpp
+++ b/src/ftxui/screen/color.cpp
@@ -132,7 +132,7 @@ Color::Color(uint8_t red, uint8_t green, uint8_t blue)
 /// @ingroup screen
 // static
 Color Color::RGB(uint8_t red, uint8_t green, uint8_t blue) {
-  return Color(red, green, blue);
+  return {red, green, blue};
 }
 
 /// @brief Build a Color from its HSV representation.
@@ -145,7 +145,7 @@ Color Color::RGB(uint8_t red, uint8_t green, uint8_t blue) {
 // static
 Color Color::HSV(uint8_t h, uint8_t s, uint8_t v) {
   if (s == 0) {
-    return Color(v, v, v);
+    return {0,0,0};
   }
 
   uint8_t region = h / 43;                                        // NOLINT
@@ -164,8 +164,7 @@ Color Color::HSV(uint8_t h, uint8_t s, uint8_t v) {
     case 5: return Color(v,p,q); // NOLINT
   }                              // NOLINT
   // clang-format on
-
-  return Color(0, 0, 0);
+  return {0, 0, 0};
 }
 
 // static
@@ -236,7 +235,7 @@ Color operator""_rgb(unsigned long long int combined) {
   auto const red = static_cast<uint8_t>(combined >> 16U);
   auto const green = static_cast<uint8_t>(combined >> 8U);
   auto const blue = static_cast<uint8_t>(combined);
-  return Color(red, green, blue);
+  return {red, green, blue};
 }
 
 }  // namespace literals
diff --git a/src/ftxui/screen/screen.cpp b/src/ftxui/screen/screen.cpp
index 61be59799228d8274e2d41fa2864095e3a9406b9..dc30d51f228014a0c8a66f3cabe3fb6170f17a46 100644
--- a/src/ftxui/screen/screen.cpp
+++ b/src/ftxui/screen/screen.cpp
@@ -378,13 +378,13 @@ Dimensions Dimension::Full() {
 // static
 /// Create a screen with the given dimension along the x-axis and y-axis.
 Screen Screen::Create(Dimensions width, Dimensions height) {
-  return Screen(width.dimx, height.dimy);
+  return {width.dimx, height.dimy};
 }
 
 // static
 /// Create a screen with the given dimension.
 Screen Screen::Create(Dimensions dimension) {
-  return Screen(dimension.dimx, dimension.dimy);
+  return {dimension.dimx, dimension.dimy};
 }
 
 Screen::Screen(int dimx, int dimy)