Tech-illiterate, how do I make my application window float?

Apologies if it's too similar to another post or in the wrong category, but I don't know what I'm doing!! I see the option to make your own custom window to float above other windows, but I want to figure out how to make an application window float above others. For example, if I wanted my Clock app to float over Firefox while I work. Step by step would be appreciated but not necessary... Thank you..

Hi @mtn71 ,

I don't think BTT has the ability to enable specific macOS applications float above other applications – I'm pretty sure this would require disabling System Integrity Protection (SIP), which some applications do, but I do not recommend doing this due to serious security risks.

Instead, I suggest you look into BTT's Floating Menus and Custom WebView / HTML Renderer. Using these, you can define any custom HTML, CSS, and JavaScript to display in a webview that can float anywhere on your screen.

For example, I created new floating menu with a single WebView type item and then defined some HTML, CSS, and JavaScript that displays an analog clock. I made it only visible when Firefox is the active app.

You can download this configuration here:
Firefox_export_clock_floating_menu.bttpreset (16.6 KB)

Or, you can copy and paste this JSON into the BTT configuration GUI:

[
  {
    "BTTAppBundleIdentifier" : "org.mozilla.firefox",
    "BTTAppName" : "Firefox",
    "BTTAppAutoInvertIcon" : 1,
    "BTTAppProcessMatchMode" : 2,
    "BTTAppProcessName" : "Firefox",
    "BTTTriggers" : [
      {
        "BTTActionCategory" : 0,
        "BTTLastUpdatedAt" : 1745679798.9205551,
        "BTTTriggerType" : 767,
        "BTTTriggerTypeDescriptionReadOnly" : "Floating Menu",
        "BTTTriggerClass" : "BTTTriggerTypeFloatingMenu",
        "BTTUUID" : "2049BFED-B7D3-4FF1-917C-929B13F613E5",
        "BTTEnabled" : 1,
        "BTTOrder" : 1,
        "BTTTriggerName" : "Floating Menu: clock_floating_menu",
        "BTTMenuItems" : [
          {
            "BTTActionCategory" : 0,
            "BTTLastUpdatedAt" : 1745679798.920512,
            "BTTTriggerType" : 778,
            "BTTTriggerTypeDescriptionReadOnly" : "Web View \/ HTML Item",
            "BTTTriggerTypeDescription" : "Standard Item",
            "BTTTriggerParentUUID" : "2049BFED-B7D3-4FF1-917C-929B13F613E5",
            "BTTTriggerClass" : "BTTTriggerTypeFloatingMenu",
            "BTTUUID" : "AB61AE52-D351-4F58-8D21-ED9220333A4D",
            "BTTEnabled" : 1,
            "BTTOrder" : 0,
            "BTTTriggerName" : "Webview Menu Item: Webview",
            "BTTMenuConfig" : {
              "BTTMenuItemMaxHeight" : 200,
              "BTTMenuItemSelectedTab" : 0,
              "BTTMenuItemMinWidth" : 100,
              "BTTMenuAlwaysUseLightMode" : 1,
              "BTTMenuItemBackgroundColorDark" : "108.442, 96.000, 190.435, 166.991",
              "BTTMenuElementIdentifier" : "Webview",
              "BTTMenuUseStyleForSubmenu" : 0,
              "BTTMenuItemVisibleWhileInactive" : 1,
              "BTTMenuCategoryBackground" : 1,
              "BTTMenuItemBorderColorHover" : "255.000000, 255.000000, 255.000000, 255.000000",
              "BTTMenuItemBackgroundTypeDark" : 4,
              "BTTLastChangeUUID" : "06205725-E7C9-46DA-88FA-3683CD762D38",
              "BTTMenuItemBackgroundType" : 0,
              "BTTMenuAppearanceStyle" : 0,
              "BTTMenuItemBackgroundColorHoverDark" : "90, 90.000, 180, 166.991",
              "BTTMenuItemBorderColorHoverDark" : "255.000000, 255.000000, 255.000000, 255.000000",
              "BTTMenuCategoryItemSizing" : 1,
              "BTTMenuItemBackgroundColor" : "108.442, 96.000, 190.435, 166.991",
              "BTTMenuItemBackgroundColorHover" : "90, 90.000, 180, 166.991",
              "BTTMenuItemMinHeight" : 50,
              "BTTMenuItemBorderColorDark" : "255.000000, 255.000000, 255.000000, 255.000000",
              "BTTMenuHoverEndAnimationDuration" : 0.14999999999999999,
              "BTTMenuItemBorderColor" : "255.000000, 255.000000, 255.000000, 255.000000",
              "BTTMenuAttributedText" : "{\\rtf1\\ansi\\ansicpg1252\\cocoartf2822\n\\cocoatextscaling0\\cocoaplatform0{\\fonttbl\\f0\\fnil\\fcharset0 HelveticaNeue;}\n{\\colortbl;\\red255\\green255\\blue255;\\red255\\green255\\blue255;}\n{\\*\\expandedcolortbl;;\\cssrgb\\c100000\\c100000\\c100000;}\n\\deftab720\n\\pard\\pardeftab720\\qc\\partightenfactor0\n\n\\f0\\fs44 \\cf2 \\expnd0\\expndtw0\\kerning0\nWebview}",
              "BTTMenuTextMinimumScaleFactor" : 0.29999999999999999,
              "BTTMenuHoverStartAnimationDuration" : 0.14999999999999999,
              "BTTMenuItemText" : "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Analog Clock<\/title>\n  <style>\n    body {\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      height: 100vh;\n      margin: 0;\n      background: #f0f0f0;\n    }\n    #clock-container {\n      width: 200px;\n      height: 200px;\n    }\n    #clock {\n      width: 100%;\n      height: 100%;\n      background: white;\n      border: 2px solid #333;\n      border-radius: 50%;\n      box-shadow: inset 0 0 10px rgba(0,0,0,0.1);\n    }\n  <\/style>\n<\/head>\n<body>\n  <div id=\"clock-container\" class=\"BTTDraggable\">\n    <canvas id=\"clock\" width=\"200\" height=\"200\" class=\"BTTDraggable\"><\/canvas>\n  <\/div>\n\n  <script>\n    const canvas = document.getElementById('clock');\n    const ctx = canvas.getContext('2d');\n    const radius = canvas.height \/ 2;\n    ctx.translate(radius, radius);\n\n    function drawClock() {\n      drawFace(ctx, radius);\n      drawNumbers(ctx, radius);\n      drawTime(ctx, radius);\n    }\n\n    function drawFace(ctx, radius) {\n      ctx.beginPath();\n      ctx.arc(0, 0, radius, 0, 2 * Math.PI);\n      ctx.fillStyle = 'white';\n      ctx.fill();\n\n      const grad = ctx.createRadialGradient(0, 0, radius * 0.95, 0, 0, radius * 1.05);\n      grad.addColorStop(0, '#333');\n      grad.addColorStop(0.5, 'white');\n      grad.addColorStop(1, '#333');\n      ctx.strokeStyle = grad;\n      ctx.lineWidth = radius * 0.1;\n      ctx.stroke();\n\n      ctx.beginPath();\n      ctx.arc(0, 0, radius * 0.1, 0, 2 * Math.PI);\n      ctx.fillStyle = '#333';\n      ctx.fill();\n    }\n\n    function drawNumbers(ctx, radius) {\n      ctx.font = `${radius * 0.15}px Arial`;\n      ctx.textBaseline = 'middle';\n      ctx.textAlign = 'center';\n      for (let num = 1; num <= 12; num++) {\n        const ang = num * Math.PI \/ 6;\n        ctx.rotate(ang);\n        ctx.translate(0, -radius * 0.85);\n        ctx.rotate(-ang);\n        ctx.fillText(num.toString(), 0, 0);\n        ctx.rotate(ang);\n        ctx.translate(0, radius * 0.85);\n        ctx.rotate(-ang);\n      }\n    }\n\n    function drawTime(ctx, radius) {\n      const now = new Date();\n      let hour = now.getHours();\n      let minute = now.getMinutes();\n      let second = now.getSeconds();\n\n      \/\/ Hour hand\n      hour = hour % 12;\n      const hourPos = (hour * Math.PI \/ 6) + (minute * Math.PI \/ (6 * 60)) + (second * Math.PI \/ (360 * 60));\n      drawHand(ctx, hourPos, radius * 0.5, radius * 0.07);\n\n      \/\/ Minute hand\n      const minutePos = (minute * Math.PI \/ 30) + (second * Math.PI \/ (30 * 60));\n      drawHand(ctx, minutePos, radius * 0.8, radius * 0.07);\n\n      \/\/ Second hand\n      const secondPos = second * Math.PI \/ 30;\n      drawHand(ctx, secondPos, radius * 0.9, radius * 0.02, 'red');\n    }\n\n    function drawHand(ctx, pos, length, width, color = '#333') {\n      ctx.beginPath();\n      ctx.lineWidth = width;\n      ctx.lineCap = 'round';\n      ctx.strokeStyle = color;\n      ctx.moveTo(0, 0);\n      ctx.rotate(pos);\n      ctx.lineTo(0, -length);\n      ctx.stroke();\n      ctx.rotate(-pos);\n    }\n\n    \/\/ Update clock every second\n    setInterval(drawClock, 1000);\n    \/\/ Initial draw\n    drawClock();\n  <\/script>\n<\/body>\n<\/html>\n",
              "BTTMenuItemMaxWidth" : 200,
              "BTTMenuItemVisibleWhileActive" : 1,
              "BTTMenuItemIconColor1" : "255.000000, 255.000000, 255.000000, 255.000000"
            },
            "BTTMenuAvailability" : 0,
            "BTTMenuName" : "Webview",
            "BTTGestureNotes" : "Standard Item"
          }
        ],
        "BTTFloatingMenuRenderedPreview" : "_9j_4AAQSkZJRgABAQAASABIAAD_4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAyKADAAQAAAABAAAAyAAAAAD_7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+_8AAEQgAyADIAwEiAAIRAQMRAf_EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC__EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29_j5+v_EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC__EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29_j5+v_bAEMAAgICAgICAwICAwUDAwMFBgUFBQUGCAYGBgYGCAoICAgICAgKCgoKCgoKCgwMDAwMDA4ODg4ODw8PDw8PDw8PD__bAEMBAgICBAQEBwQEBxALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP_dAAQADf_aAAwDAQACEQMRAD8A_cvx5410j4f+GLvxPrLYitwAiD70sjcKi+5P5Dk8V8IXf7YPxBa6lNjp2nrblj5YkikLhe24iUAn6V1f7ZPiiVr7QvBsMhEccb3syg8MzExx5HthsfWvh8kKCzHAFAH1b_w2B8TP+fDTP+_Mv_x2j_hsD4mf8+Gmf9+Zf_jtfJf2u1_56r+dH2u1_wCeq_nQB9af8NgfEz_nw0z_AL8y_wDx2j_hsD4mf8+Gmf8AfmX_AOO18l_a7X_nqv50fa7X_nqv50AfWn_DYHxM_wCfDTP+_Mv_AMdo_wCGwPiZ_wA+Gmf9+Zf_AI7XyX9rtf8Anqv50fa7X_nqv50AfWn_AA2B8TP+fDTP+_Mv_wAdo_4bA+Jn_Phpn_fmX_47XyX9rtf+eq_nR9rtf+eq_nQB9af8NgfEz_nw0z_vzL_8do_4bA+Jn_Phpn_fmX_47XyX9rtf+eq_nUqSJIu6Ngw9RQB9X_8ADYHxM_58NM_78y__AB2j_hsD4mf8+Gmf9+Zf_jtfKdFAH1Z_w2B8TP8Anw0z_vzL_wDHaP8AhsD4mf8APhpn_fmX_wCO18p0UAfVn_DYHxM_58NM_wC_Mv8A8do_4bA+Jn_Phpn_AH5l_wDjtfKdFAH1Z_w2B8TP+fDTP+_Mv_x2j_hsD4mf8+Gmf9+Zf_jtfKdFAH1Z_wANgfEz_nw0z_vzL_8AHaP+GwPiZ_z4aZ_35l_+O18p0UAfVn_DYHxM_wCfDTP+_Mv_AMdqxaftg_EFbqI32nae1uGHmCOKQOV77SZSAfrXyXRQB+0fgPxrpHxB8MWnifRmzFcAh0P3opF4ZG9wfzHI4NdjXwV+xt4olW+13wbNITHJGl7CpPCspEcmB75XP0r71oA__9D6i_aY1JtR+MetLkFbNLe3XHYLErH_AMeY1806vOcrAp46n+le2fGubz_i14rkznF_Iv8A3xhf6V4JqLFryT_ZwPyFAFKiiigAoopCQASTgCgBaK8gv_jr8NdO1U6RNqgeUMVLphogRwcuDivVrO8tdQtYr2xlWe3nUMkiEMrKehBHBoAs0UUUAFaOmTmK4CE_LJx+Pas6nxsUkVx_CQaAO1ooooAKKKKACiiigAooooAKKKKACiiigD3r9mfUm074x6KuQFvEuLds9w0TMP8Ax5RX6tV+PfwUm8j4teFJM4zfxr_33lf61+wlAH__0fa_i5_yVPxb_wBhS7_9GGvDLs5upT_tGvc_i5_yVPxb_wBhS7_9GGvC7r_j5l_3j_OgCCiiigAr5d_aW+Is_h7RYPBukOVvtYUtMwGSluDjA9C54+gPSvqIflXwZYLF8QfiP4x+J2q_vdI8KRyyQK3zI7QKwgXnIx8u847nigD5POcnd196+uf2ZPiJc6fq7fD7VnJtr7MtoWHKSgZK564ZRke47VxXh_4dQapH4TsrxN154m0zVrwsVBbzAG8g888bQfxOKh1HSbiL4ceEvi5ooMeoaNMLK82jB3W8h8l2Iwc4whz2wKAP0lorL0PVoNe0Ww1u1IMV_BHOuOeJFDY_DOK1KACiig9KAO2Q5RT6gU6mR_6tP90fyp9ABRRRQAUUUUAFFFFABRRRQAUUUUAeh_CP_kqfhL_sKWn_AKMFfsjX43fCP_kqfhL_ALClp_6MFfsjQB__0va_i5_yVPxb_wBhS7_9GGvC7r_j5l_3j_OvdPi5_wAlT8W_9hS7_wDRhrwu6_4+Zf8AeP8AOgCCiiigDjfiJrZ8OeBde1pW2va2cpQ+jsu1P_HiK+EPB3jTTLD4F+MvChIi1SZ0dT_FNHO0aH_vnBz9a+ov2lLqVfhuNJtz+91e+tbVQOpyxfH_AI6K+af2gfhd_wAIPqNlr+lDGnXyRwsAANlxEgB6Y++F3dOuaAPoFdOXR_in8LdKAwLTRLmMj3WIA_rXjd14j0rwj8N_iJ4Gvgslw+tT29rCeuJCDvHsm3P1x715tL8cfGc_iDRvE86W0l9olvLbwsyOQyzDDF_nyW9CCKm+G3hfUvjD8SHutUbMRl+237j+7uHyjcT94_L34oA+wP2bNabV_hbZ20rFpNLnmtTnqFB3p+jYr3uvm74L26+HviD8RfB6AJDBeR3cKDgBJtx4A4xgqK+kaACg9KKD0oA7WP8A1af7o_lT6ZH_AKtP90fyp9ABRRRQAUUUUAFFFFABRRRQAUUUUAeh_CP_AJKn4S_7Clp_6MFfsjX43fCP_kqfhL_sKWn_AKMFfsjQB__T9r+Ln_JU_Fv_AGFLv_0Ya8Luv+PmX_eP8690+Ln_ACVPxb_2FLv_ANGGvC7r_j5l_wB4_wA6AIKKKKAPnv41RnU_FXw48PHlLrV_OcdiIAp5_AmpPjvBFqV74D0a4QSQ3uuw+Yh5VlVeQR7g0_x0Dd_HL4d2na3hv7j8QmP6U_4s5l8ffDG27HVZH_74RTQB5p4p+D3gOH4x+GfD9vYGPTtXtrue4hEsmGeIErg7sqPZSBXbeCdE0zwr8efEOh6NAtrZPotrIka9BtZQTz1PvW14r_5L34F_68NQ_wDQTUcYMP7ScvpceHVP_fM+P6UAVdOQ6Z+0rqsa8JrGiRzEDu0TKuf_AB019B14F4hBtf2ifCdwOl7pN5Cf+2e9_wDCvfaACg9KKD0oA7WP_Vp_uj+VPpkf+rT_AHR_Kn0AFFFFABRRRQAUUUUAFFFFABRRRQB6H8I_+Sp+Ev8AsKWn_owV+yNfjd8I_wDkqfhL_sKWn_owV+yNAH__1Pa_i5_yVPxb_wBhS7_9GGvC7r_j5l_3j_OvdPi5_wAlT8W_9hS7_wDRhrwu6_4+Zf8AeP8AOgCCiiigD5K+NXjaPwD8XfC_iSW2N2trp1wPLDbM+czJnOD0+leXeK_2grbxH4p8K+IU0gxL4duJZ2jMufM8xQuM7eMY969R+NXgqLx58XfC3hyaY26XWnXBLqcH90zPjkN_KvLvFfwAtPDvirwr4fj1B5I_EVxLCzkjKeWobI+Qdc+hoAdq_wC0Jban8QtA8arpBRNGt7iExebkv54Iznbxj6Gkk_aDtn+J0Xj8aQRGmmmwMPm8kly+7dt_DGPxo1j9n+0034h6B4LTUHaLWLe4maQsNymAE4HyY5+hpJP2f7VfifF4BGoOYn0035kyNwIcptzsx+n40Adh4e+K0HxO+Nfg68hsTY_YY7yEgvv3eZGx9B0xX2tXxT4e+Fdt8M_jX4Os7e6a6+3RXkxLEHb5cbDsq+tfa1ABQelFB6UAdrH_AKtP90fyp9Mj_wBWn+6P5U+gAooooAKKKKACiiigAooooAKKKKAPQ_hH_wAlT8Jf9hS0_wDRgr9ka_G74R_8lT8Jf9hS0_8ARgr9kaAP_9X2v4uf8lT8W_8AYUu__Rhrwu6_4+Zf94_zr3T4uf8AJU_Fv_YUu_8A0Ya8Luv+PmX_AHj_ADoAgooooA8C8dE2nxy+Hd50W4hv7f8AEoSP50_4skxePvhjcdv7Vlj_AO+0UVV+Nch0zxV8OPEHRbbV_IY+04Uf0NS_HaaPT7_wDq0x2R2evQ72P8KsOT+QoAteK_8AkvfgX_rw1D_0E1FGTN+0nLjpb+HQD_wKfP8AWvPPFXxZ8CyfGfwvrkOoCSw0m2vILiYI21HlBCjBGTz6Cux8G6xp_iX4+eIdY0mYXNpHotqiSLkA7mVu4BoAv+ISbv8AaJ8J268iy0m8mPtv3p_hXvtfPenOdT_aV1SQcpo+iRw_RpWVv_ZjX0JQAUHpRQelAHax_wCrT_dH8qfTI_8AVp_uj+VPoAKKKKACiiigAooooAKKKKACiiigD0P4R_8AJU_CX_YUtP8A0YK_ZGvxu+Ef_JU_CX_YUtP_AEYK_ZGgD__W9r+Ln_JU_Fv_AGFLv_0Ya8Luv+PmX_eP8690+Ln_ACVPxb_2FLv_ANGGvC7r_j5l_wB4_wA6AIKKKKAPn_8AaUtJn+G41W3BMukX1tdAjthimf8Ax4V84ftB_FSPxrd2Hh3SGV9PtEiuHdSTvuJY847DCBsd+c_Svtz4iaIfEfgTXtFVdz3NnKEH+2q7k_8AHgK+DPB_gfTtR+CPjHxg+JdTt3SOMZOYUhaN2OOmWB_IUAcpL8G_HcGuaV4cms1TUNZhlnt4zKnKRDLZOcA+xwa2vhX4t1D4R_EZ7LWY_Khkk+xX6MfuDd97Iz9w89ORnp1r6iXUV1n4p_C3VAci70S5kJ92iBP614tfeGNM8YfDr4hePrwql1DrU89tKSRlEIBTjj5g2B746UAe3fBe4XxD8QPiL4xjIkgnvI7SGQcqyQ7hwe_AU19IV4H+zZoraT8LrS6lXbJqk810fUqTsT9FzXvlABQelFB6UAdrH_q0_wB0fyp9Mj_1af7o_lT6ACiiigAooooAKKKKACiiigAooooA9D+Ef_JU_CX_AGFLT_0YK_ZGvxu+Ef8AyVPwl_2FLT_0YK_ZGgD_1_a_i5_yVPxb_wBhS7_9GGvC7r_j5l_3j_OvdPi5_wAlT8W_9hS7_wDRhrwy7GLqUf7RoAr0UUUAAr4MsWi+HvxG8ZfDPVz5Gj+Kopkgd+FVplYwNnpjLFDnAB64xX3nXy7+0r8OZ_EOjQeM9HjLX+jrtlVAd7wE5yMd4zz9CeeKAPAvD3xEh0yLwnfXThbvw1per2ZU5z5hB8gfjuA_CoNQ1aef4b+EvhLoR87UNZm+23gXk755D5SHt93DHnjAzivAmLMxZySxOST1JNfXX7Mvw7udS1g_EHWEJt7EGO0DgkvKV27wTxhBwOvPpigD7V0PSrfQtGsNEtf9TYQRwL9I1C5_HFalFFABQelFFAHax_6tP90fyp9NThFHoBTqACiiigAooooAKKKKACiiigAooooA9D+Ef_JU_CX_AGFLT_0YK_ZGvxu+Ef8AyVPwl_2FLT_0YK_ZGgD_0Pa_i5_yVPxb_wBhS7_9GGvEdRXbeSe5B_MV7d8XP+Sp+Lf+wpd_+jDXj2rwnck46EYNAGLRRRQAUhAIwRkGlooA8f1D4F_DnUtXOrz6aod2LPGuBG7HklhjP616xaWltY20VnZxiGCFQiIvAVRwAKsUUAFFFFABTkUu6oOSxA_Om1oabCZblW_hTk_0oA6jGOKKKKACiiigAooooAKKKKACiiigAooooA9D+Ef_ACVPwl_2FLT_ANGCv2Rr8bvhH_yVPwl_2FLT_wBGCv2RoA__0fa_i5_yVPxb_wBhS7_9GGvOmRXUqwyDXqXxrh8j4teK48YzfyN_33hv615fQBT_ALPs_wDnkPzNH9n2f_PIfmauUUAU_wCz7P8A55D8zR_Z9n_zyH5mrlFAFP8As+z_AOeQ_M0f2fZ_88h+Zq5RQBT_ALPs_wDnkPzNH9n2f_PIfmauUUAU_wCz7P8A55D8zViKKOFdsa7RUlFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHofwj_5Kn4S_7Clp_wCjBX7I1+PfwUh8_wCLXhSPGcX8bf8AfGW_pX7CUAf_0vqL9pjTW074x602AFvEt7hcdw0Sqf8Ax5TXgtfb_wC2T4XlW+0LxlDGTHJG9lMwHCspMkeT75bH0r4goAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD3r9mfTW1H4x6K2AVs0uLhs9gsTKP_HmFfq1XwV+xt4Xla+13xlNGRHHGllCxHDMxEkmD7YXP1r71oA__9P9y_HngrSPiB4Yu_DGsrmK4AKOPvRSLyrr7g_mODxXwhd_sffEFbqUWOo6e1uGPlmSWQOV7bgIiAfpX6QUUAfmv_wx_wDEz_n_ANM_7_S__GqP+GP_AImf8_8Apn_f6X_41X6UUUAfmv8A8Mf_ABM_5_8ATP8Av9L_APGqP+GP_iZ_z_6Z_wB_pf8A41X6UUUAfmv_AMMf_Ez_AJ_9M_7_AEv_AMao_wCGP_iZ_wA_+mf9_pf_AI1X6UUUAfmv_wAMf_Ez_n_0z_v9L_8AGqP+GP8A4mf8_wDpn_f6X_41X6UUUAfmv_wx_wDEz_n_ANM_7_S__GqP+GP_AImf8_8Apn_f6X_41X6UUUAfmv8A8Mf_ABM_5_8ATP8Av9L_APGqP+GP_iZ_z_6Z_wB_pf8A41X6UUUAfmv_AMMf_Ez_AJ_9M_7_AEv_AMao_wCGP_iZ_wA_+mf9_pf_AI1X6UUUAfmv_wAMf_Ez_n_0z_v9L_8AGqP+GP8A4mf8_wDpn_f6X_41X6UUUAfmv_wx_wDEz_n_ANM_7_S__GqP+GP_AImf8_8Apn_f6X_41X6UUUAfmv8A8Mf_ABM_5_8ATP8Av9L_APGqP+GP_iZ_z_6Z_wB_pf8A41X6UUUAfmv_AMMf_Ez_AJ_9M_7_AEv_AMaqxafsffEFrqIX2o6etuWHmGOWQuF77QYgCfrX6QUUAcd4D8FaR8P_AAxaeGNGXEVuCXc_elkblnb3J_IcDiuxoooA_9k=",
        "BTTMenuConfig" : {
          "BTTMenuUseStyleForSubmenu" : 1,
          "BTTMenuVerticalSpacing" : 5,
          "BTTMenuHorizontalSpacing" : 5,
          "BTTMenuItemBackgroundColor" : "168.213, 183.731, 225.311, 29.612",
          "BTTMenuFrameHeight" : 200,
          "BTTMenuCategoryItemVisibility" : 0,
          "BTTMenuWindowLevel" : 3,
          "BTTMenuTextMinimumScaleFactor" : 0.29999999999999999,
          "BTTMenuOpacityActive" : 1,
          "BTTMenuItemBackgroundType" : 0,
          "BTTMenuFrameWidth" : 200,
          "BTTMenuItemBlurredBackground" : 1,
          "BTTMenuSelectedTab" : 0,
          "BTTMenuItemPaddingLeft" : 10,
          "BTTMenuCategoryMenuVisibility" : 0,
          "BTTMenuCategoryItemIcon" : 0,
          "BTTMenuItemBorderWidth" : 2,
          "BTTMenuCategoryShadow" : 0,
          "BTTMenuItemPaddingTop" : 5,
          "BTTMenuOpacityInactive" : 1,
          "BTTMenuCategoryItemBehavior" : 0,
          "BTTMenuCategoryOnlyShowIf" : 0,
          "BTTMenuItemCornerRadius" : 10,
          "BTTLastChangeUUID" : "89C8192C-E9B4-4371-9F54-5AE00A469D93",
          "BTTMenuItemBorderColorHover" : "0.000, 0.000, 0.000, 0.000",
          "BTTMenuCategoryModifiers" : 0,
          "BTTMenuShowIfWindowLevelEqualsEnabled" : 0,
          "BTTMenuCategoryMenuOpacity" : 0,
          "BTTMenuCategoryItemSpacing" : 0,
          "BTTMenuItemBorderColor" : "0.000, 0.000, 0.000, 0.000",
          "BTTMenuCategorySize" : 0,
          "BTTMenuItemsUseModifierModes" : false,
          "BTTMenuElementIdentifier" : "clock_floating_menu",
          "BTTMenuItemPaddingRight" : 10,
          "BTTMenuCategorySpacing" : 0,
          "BTTMenuItemShadowEnabled" : 0,
          "BTTMenuAppearanceStyle" : 0,
          "BTTMenuItemPaddingBottom" : 5,
          "BTTMenuAlwaysUseLightMode" : 1,
          "BTTMenuCategoryBackground" : 1,
          "BTTMenuCategoryItemSizing" : 0,
          "BTTMenuAvailability" : -1,
          "BTTMenuItemSelectedTab" : 0,
          "BTTMenuCategoryResizeOnHover" : 0,
          "BTTMenuWindowResizable" : 1,
          "BTTMenuCategoryBorder" : 0,
          "BTTMenuCategoryZIndex" : 0,
          "BTTMenuCategoryPosition" : 0,
          "BTTMenuCloseAfterAction" : 0
        },
        "BTTMenuAvailability" : 0,
        "BTTMenuName" : "clock_floating_menu"
      }
    ]
  }
]

I hope this helps.

1 Like

Oh this is incredible, thank you! Would there be any way to do this with a timer instead of a clock?

Definitely – just update the HTML code for the floating menu to display whatever you like.

When you say "timer", what do you mean exactly? Were you thinking of:

  1. A stopwatch (count-up) with Start/Pause/Reset controls?
  2. A countdown timer where you enter a target duration and it counts down to zero?
1 Like

A countdown timer was what I had in mind!

For your use case a floating menu might work great, however you can also try the predefined action

"Toggle Pin/Unpin Focused Window To Float On Top" action:

macOS doesn't really allow to float a window on top, so what this action does is create a live-capture-stream of the original window and floats that "copy" on top.

1 Like

Oh, this works perfectly for what I was looking for!!! Thank you so much!

1 Like