macOS Control Center - MCC

Try to use scroll events on floating view with trackpad. if you do a scroll up and down 4-5 times then try to move cursor to icons, hover effect will not show or you will see a beach ball :smiley: same with MCC

I was tried to disable window scrolling for swm but i found this

simply too many scrolling inputs freezing floating view. Im not sure its related but its even worse in my mcc settings pane. I added a changelog, user guide page to that so user has to do to much scroll. setting pane looks normal on safari. im still working on pane i will write again if i cant fix

I don't see any issues with your webviews and scroll events :-/ seems to work fine here.

By the way, you can center on the top with a trick: just add a too high y value here, BTT will automatically limit it to the screen frame:

Tested on 3.332 build 1529

Thanks Andreas for the tip, i will add a blank space to top with closeFloatingHTMLMenu it will work same as before

also can you check this simple code in floating view, i have to much lag with this

Example
<html>
<head>

<style>
        
html {
    background-color: clear;
    }
  
.tabcontainer{
    height: 400px;
    overflow: scroll;
    background: #1e1e1e;
    padding: 20px;
    width: 400px;
    }
    
h2 {
    font-size: 14px;
    margin-top: 0px;
    margin-bottom: 10px;
    color:#f5f5f5; 
    }
 

    </style>
</head>
<body align="center" >
    
<div class=tabcontainer>
    
<h2>Drag your favorite functions to right side. Dimmed items will not show in Control Center. Scroll down to see more predefined items</h2>
    
<h2>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer porttitor mollis lacus, et rhoncus nisi faucibus ut. Ut in hendrerit turpis. Aenean ut sem velit. Fusce id cursus tortor, nec convallis velit. Aliquam erat volutpat. Maecenas ultricies erat arcu, nec imperdiet lacus consequat sit amet. Aenean tristique enim nibh, non vehicula erat varius sagittis. Praesent dignissim consectetur auctor. Integer commodo tellus elit, et lacinia felis blandit sed. Aenean a velit lacinia, dictum dolor eu, blandit urna. Nunc ac aliquet neque.</h2>

<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer porttitor mollis lacus, et rhoncus nisi faucibus ut. Ut in hendrerit turpis. Aenean ut sem velit. Fusce id cursus tortor, nec convallis velit. Aliquam erat volutpat. Maecenas ultricies erat arcu, nec imperdiet lacus consequat sit amet. Aenean tristique enim nibh, non vehicula erat varius sagittis. Praesent dignissim consectetur auctor. Integer commodo tellus elit, et lacinia felis blandit sed. Aenean a velit lacinia, dictum dolor eu, blandit urna. Nunc ac aliquet neque.</h2>

<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>
    
<h2>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent tempor, nibh quis luctus aliquet, est ipsum pharetra purus, vel ultrices augue sem vitae tortor. Ut venenatis vulputate ante a convallis. Duis gravida in dui sit amet blandit. Sed sit amet ipsum ipsum. Aenean viverra neque rhoncus eleifend lacinia. Maecenas quis molestie felis..</h2>

</div>  

    
</body>

</html>

i’m currently not at my computer but it’s quite possible that macos doesn’t like transparency when scrolling. Maybe check what happens if you set a solid background

I used clear background and solid on body, i have bigger problems if your btt not lagging :slight_smile:

Hey!

So after installing MCC, certain buttons like the Battery Boost controls pop up asking for an application on both my machine and everyone I have recommended this to so far. What other applications are needed for this to work properly?

Also, is there a chance we could get an icon list to know what actually does what?

I know that you said you don't want tooltips, but without them I honestly can't tell what certain icons are supposed to do. It would honestly increase the user experience if there was some sort of tooltip that popped up after hovering for a certain amount of time. Not adding this just because the iOS control center doesn't have tooltips doesn't really make a whole ton of sense since you're comparing a system with a mouse where tooltips are common to a system controlled via multitouch where tooltips aren't even really possible. The fact that you can't peel the skin off an apple very easily isn't a good enough reason to only eat oranges by biting straight into them.

Thanks!

1 Like

@EvinHarris
Tooltips only necessary if you see different content every time in my opinion. But i'm planning to add tooltips after requests. Also i'm trying to show guides to user always but it takes time to add. I added so many dialog boxes for applescripts already for 0.2 version ("Turbo Boost Switcher App not installed. Please install from ..."
or "Please add share button to finder toolbar for send with airdrop feature" and many more like this ). Just wait for 0.2 version :wink:

Battery boost feature needs these two apps

Turbo Boost Switcher App; This one disables intel turbo boost
https://www.rugarciap.com/turbo-boost-switcher-for-os-x/

gSwitch; Disables gpu switching
https://github.com/CodySchrank/gSwitch

Ok. As long as there's some way for a new user to actually figure out what the buttons do. A new user shouldn't have to spend an hour in order to figure out how to use a piece of software that consists of only buttons. Tbh I still don't know what half of the buttons do hahaha

When I have MCC enabled, when I play spotify the music gets all choppy and cuts in and out. Disabling BTT makes it go away. Ideas?

that’s weird, unless spotify is changing tracks a LOT there should be no real performance hit. (it seems to work quite well here)
But if you see issues, try to enable „don’t keep content active in background“ in the advanced webview settings of the MCC webview. (which you can find in the „named & other triggers“ section.

@EvinHarris please check first post, i added icons and added more info

@Jared_Cadogan @Andreas_Hegenberg i changed now playing feature to async for next release i will share soon after some testing. i guess that will fix that

1 Like

@yw4z

also you can fix that with changing this line in html

if (playingapp == "com.apple.iTunes" || playingapp == "com.spotify.client")
to this
if (playingapp == "com.apple.iTunes" || playingapp == "com.spotify.client" || playingapp == "com.apple.Music")

let me know if its working. i will add this for next release

I've been messing around with this and it looks like if you also add com.apple.quicklook.QuickLookUIService here it shows the title + artist when you preview songs in finder.

@Random_User btt now playing has a bug at the moment. i change that code when that fixed. It will support all apps that btt supports without giving app names. But i will add quicklook support for next release :wink:

1 Like

I think that should already be fixed, are you still seeing a problem?

Im on 3.332 (1530) its still same on this version, cant test on latest atm

I click update then i saw my btt licence ended :smiley: I have to wait few more days for refreshing with new one.

drop me a quick mail to andreas@folivora.ai and I’ll send a license to you :wink:

2 Likes

@Andreas_Hegenberg thank you so much :star_struck: appreciated

updated first post with 0.2 release

Changelog
  • Wrote an applescript for raise currently playing app, working much better than beardedspice, it can raise audio playing tab in safari (even asks if multiple tabs playing audio) also it can raise any app that playing music that supports by BTT. Script disables itself if beardedspice running, so you can contuniue to use beardedspice.
  • Improved support for Artist & Song info and increased efficiency
  • Added support for web streaming services ; Bandcamp, Deezer, Soundcloud (improved)
  • Now playing functions changed to async as Andreas suggested. Now playing info changes instantly now
  • Power Saver feature enables/disables faster
  • Added some guides to applescripts for users (ex. MCC display a dialog if share icon is not on finder toolbar. "Add share button to finder toolbar for send with airdrop feature")
  • Added ScaleIn/ScaleOut animation for keyboard shortcut (fn+1)
  • Fixed some animation problems opening/closing floating window
  • Correct positioning on different resolutions
  • minor changes

Also added some bonus content as gift for BTT community :wink:

1 Like

First of all, thanks to you @yw4z, really great job!

I started to configure your scripts based on my needs, maybe some of them will help you, as well:

  1. I rewrite a bit Apple Script for checking network status. Now it's return type of active network connection (Wi-Fi or Ethernet). Also this script return current connection to my headphones (required put the name of headphones to HEADPHONE_BLUETOOTH_NAME):

    set interfaceType to (do shell script "route get default | grep interface | awk '{print $2}'")
    if (interfaceType is not "") then
    if (interfaceType = "en0") then
    set ntwStatus to "wifi"
    else
    set ntwStatus to "eth"
    end if
    else
    set ntwStatus to "off"
    end if

    set btParam to do shell script "defaults read /Library/Preferences/com.apple.Bluetooth.plist ControllerPowerState"
    if (btParam = "1") then
    set btStatus to "on"
    else
    set btStatus to "off"
    end if

    set headphoneType to (do shell script "system_profiler SPBluetoothDataType | grep -A10 HEADPHONE_BLUETOOTH_NAME | grep -C0 Connected | awk '{print $2}'")
    if (headphoneType = "Yes") then
    set hpStatus to "on"
    else
    set hpStatus to "off"
    end if

    set theResult to ntwStatus & "-" & btStatus & "-" & hpStatus

  2. Also, just to simplify collapsing action in JS, to use single method instead of separate on for each action, so for now I could use it like this bttAction('mccocy', 1):

     function bttAction(actionName, shouldCollapse) {
       var url = "bttweb://trigger_named/?";
       var params = "";
       if (actionName != "") {
         params += "trigger_name=" + actionName;
       }
       if (shouldCollapse) {
         params += (params != "" ? "&" : "") + "closeFloatingHTMLMenu=1";
         document.body.classList.add("slideOutUp");
         setTimeout(function() {
           window.location.href = url + params;
         }, 200);
       } else {
         window.location.href = url + params;
       }
     };
    

Hope it was useful for you, anyway waiting for updates :slight_smile:

P.S. could you share where from you take all icons?

@eliogrin thanks for sharing codes, i changed code a bit for next release with new btt action format. i will look how can i adapt these. i draw all icons from scratch to make them pixel perfect, designed some of them and redraw ios ones. i have a crash problem on starting of mcc. do you have any crash? i guess its related with now playing info. i'm trying to solve this first then i will try complete settings pane :wink:

Imprint | Privacy Policy