{"componentChunkName":"component---src-templates-post-jsx","path":"/blog/polypane-5-console-popups-performance-and-focus-overview/","result":{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nconst _frontmatter = {\n  \"title\": \"Polypane 5: Console popups, performance and focus overview\",\n  \"cover\": \"/img/mail/icon.svg\",\n  \"date\": \"2021-03-04\",\n  \"type\": [\"announcement\"]\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n    components\n  } = _ref,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, `Polypane 5 is out with new ways to see your console messages, new performance settings and a new focus order overview. It has a new Chromium version (89), many performance improvements, updated UI elements and new debug tools.`), mdx(PolypaneIntro, {\n    mdxType: \"PolypaneIntro\"\n  }), mdx(\"h2\", {\n    \"id\": \"console-improvements\"\n  }, `Console improvements`), mdx(\"p\", null, `In Polypane 4 we introduced the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/console/\"\n  }), `unified console`), `, a single console for all your panes that smartly combines console messages and that sends console commands to all panes.`), mdx(\"p\", null, `In Polypane 5 we're bringing the console out of the panel.`), mdx(\"p\", null, `Each pane now shows you how many errors, warnings and logs were sent to the console, and new console messages are shown as popups.`), mdx(\"p\", null, `With the stats overview you see where console messages come from.`), mdx(\"p\", null, `The console message popups are fully interactive just like the ones in the console itself. Hover and click elements to highlight and inspect them, and objects are fully inspectable.`), mdx(\"p\", null, `And on the off-chance that you accidentally send a lot of messages to the console (it happens to all of us!), pressing `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `esc`), ` will quickly hide them all.`), mdx(\"p\", null, `We've also improved the rendering of console messages. Polypane now supports `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `CSS styling in console messages`), `: prefix the part of a text that you want to style with `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `%c`), `, and add a second string with CSS. Polypane will then apply the CSS styling to the message.`), mdx(\"div\", {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"js\"\n  }, mdx(\"pre\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"language-js\"\n  }), mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-js\"\n  }), `console`, mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), `.`), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token function\"\n  }), `log`), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), `(`), `\n  `, mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), `'%cI am bold and lightgrey with a purple background'`), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), `,`), `\n  `, mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token string\"\n  }), `'font-weight:bold;color:lightgrey;background:purple'`), `\n`, mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), `)`), mdx(\"span\", _extends({\n    parentName: \"code\"\n  }, {\n    \"className\": \"token punctuation\"\n  }), `;`)))), mdx(\"p\", null, `See this in action when the \"console.log (styled)\" button is clicked in the video below:`), mdx(\"video\", {\n    src: \"/blogs/polypane-5/console-popups.mp4\",\n    loop: true,\n    controls: true,\n    className: \"imgshadow\",\n    style: {\n      \"margin\": \"2rem auto\",\n      \"maxWidth\": \"100%\"\n    }\n  }), mdx(\"h2\", {\n    \"id\": \"performance\"\n  }, `Performance`), mdx(\"p\", null, `Showing a site many times is going to use more resources than showing it once, there's no way around that. So keeping performance at an acceptable level is always important for us at Polypane, and this release too we've found many ways to speed up different aspects of our UI, from page load times to interactions in many of the panels.`), mdx(\"p\", null, `But there is a source of performance issues we can't fix: Performance of webpages themselves.`), mdx(\"img\", {\n    alt: \"Performance settings\",\n    src: \"/blogs/polypane-5/perf.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem 0 2rem 1rem',\n      display: 'block',\n      maxWidth: '100%',\n      float: 'right'\n    }\n  }), mdx(\"p\", null, `So we build a performance settings panel to help. Simply put, some CSS and HTML Elements are more taxing than others. Turning them off has a big impact on performance. The performance settings allow you to quickly disable CSS and HTML that is particularly heavy, like CSS animations, or video elements.`), mdx(\"p\", null, `The impact of this is really noticable, so we recommend you experiment with this when you notice any performance issues.`), mdx(\"p\", null, `Find the Performance settings in the new App Settings menu in the top right of Polypane. The icon of which will show a small gauge when active.`), mdx(\"h2\", {\n    \"id\": \"focus-order-overview\"\n  }, `Focus Order overview`), mdx(\"p\", null, `In the past few releases we've really expanded the `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/outline-panel/\"\n  }), `outline panel`), ` with new headers, links and landmarks overviews.`), mdx(\"p\", null, `In 5 we're adding a `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `focus order overview`), `. All elements on the page that you can focus with the keyboard, in the order that you tab through them.`), mdx(\"p\", null, `Like the other overviews, there are warnings for issues:`), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, `Positive tabindex are better avoided.`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, `Any element can be made keyboard focusable by adding `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `tabindex=0`), `, but 99% of the time you should probably use a `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `button`), ` or `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `a`))), mdx(\"p\", null, `We'll also highlight any tabindex values.`), mdx(\"p\", null, `This focus order overview also has an overlay to visually follow the tab order in your site to see if it makes sense.`), mdx(\"img\", {\n    alt: \"Focus overview overlay\",\n    src: \"/blogs/polypane-5/focus.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem auto',\n      display: 'block',\n      maxWidth: '100%'\n    }\n  }), mdx(\"h2\", {\n    \"id\": \"disable-images-debug-tool\"\n  }, `Disable images debug tool`), mdx(\"p\", null, `We added a new debug tool that disables all images and background images.`), mdx(\"p\", null, `This is perfect to verify your layout doesn't break when images can't be loaded, but also when you're `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `testing email newsletters`), `, since many email applications hide images by default.`), mdx(\"img\", {\n    alt: \"Disable Images debug tool\",\n    src: \"/blogs/polypane-5/disable-images.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem auto',\n      display: 'block',\n      maxWidth: '100%'\n    }\n  }), mdx(\"h2\", {\n    \"id\": \"ui-updates\"\n  }, `UI updates`), mdx(\"h3\", {\n    \"id\": \"node-tooltip-redesign\"\n  }, `Node tooltip redesign`), mdx(\"p\", null, `We've improved the node tooltip so the information is now more clearly laid out. It will also show you when an element is keyboard focusable.`), mdx(\"img\", {\n    alt: \"Node tooltip screenshot\",\n    src: \"/blogs/polypane-5/node-tooltip.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem auto',\n      display: 'block',\n      maxWidth: '100%'\n    }\n  }), mdx(\"h3\", {\n    \"id\": \"adjusting-text-size\"\n  }, `Adjusting text size`), mdx(\"p\", null, `Many of you have asked for adjustable text sizing in the Polypane interface and you can now do that by going to \"Adjust text size\" in the View menu. Adjust the text size for the entire interface, or just for the panel. Let us know if this works for you, or if you need more fine-grained control.`), mdx(\"img\", {\n    alt: \"Adjust text settings panel\",\n    src: \"/blogs/polypane-5/adjust-text.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem auto',\n      display: 'block',\n      maxWidth: '100%'\n    }\n  }), mdx(\"h3\", {\n    \"id\": \"panel-updates\"\n  }, `Panel updates`), mdx(\"p\", null, `We've updated `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `the Accessibility panel`), ` with new rules and now display associated WCAG success criteria for issues.`), mdx(\"p\", null, `Along with the focus order outline, `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `The Outline panel`), ` has improvements for links and headings.  we now highlight non-https links, empty `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `href`), ` attributes and support testing relative urls as well. The header outline will now warn you for duplicate header content.`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `The Meta panel`), ` features improved rendering for Facebook, Slack, LinkedIn and Discord and updated warnings for missing favicons and other content.`), mdx(\"p\", null, `The A11y tab in `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `the Elements panel`), ` now highlights if an element is keyboard focusable and has an improved color contrast indicator. When adding new items in the style or attributes tab the value input will automatically size to fit your content.`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `The Browse panel`), ` mutes audio on pages when it's not visible.`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `The Live CSS panel`), ` has two new options to format your CSS using Prettier, and to clear the CSS.`), mdx(\"p\", null, `In `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `the Workspace panel`), ` Choose to append workspaces instead of replacing your current set of panes.`), mdx(\"h3\", {\n    \"id\": \"isolated-panes-are-now-the-default\"\n  }, `Isolated panes are now the default`), mdx(\"p\", null, `Since Polypane 2 we've supported two types of rendering: the default panes with a shared context, and isolated panes that run in their own context.`), mdx(\"p\", null, `Isolated panes had some significant benefits, like emulation options and devtools extensions support. In Polypane 5 this has now become the default mode, and the old mode is now available as \"legacy mode\" in the edit menu. A few things are still faster in this mode, but for the vast majority of people, the new default is the way to go.`), mdx(\"p\", null, `New users will get isolated panes by default, existing users will keep the mode they've been using (though we suggest switching to the new default!)`), mdx(\"h2\", {\n    \"id\": \"pane-header-improvements\"\n  }, `Pane header improvements`), mdx(\"p\", null, `We've changed the Pane header UI with some nice new options.`), mdx(\"img\", {\n    alt: \"debug tools\",\n    src: \"/blogs/polypane-5/debug-tools.png\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem 0 2rem 1rem',\n      display: 'block',\n      maxWidth: '100%',\n      float: 'right'\n    }\n  }), mdx(\"h3\", {\n    \"id\": \"pane-settings-redesigns\"\n  }, `Pane Settings redesigns`), mdx(\"p\", null, `Both the Debug tool settings and Emulation settings were getting very long, so we've split them up into different tabs just like the rulers panel. They take up less space now and we have more room to introduce new features.`), mdx(\"h3\", {\n    \"id\": \"number-inputs-improvements\"\n  }, `Number inputs improvements`), mdx(\"p\", null, `Individual pane zoom levels are now shown as a percentage instead of a multiplier, and all inputs in the pane header and across Polypane now support using modifier keys when increasing or decreasing values.`), mdx(\"p\", null, `Use the arrow keys or scrollwheel to go up or down by 1, but hold `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `shift`), ` and you change the value by 10, `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `cmd/ctrl`), ` will change by 100 and alt will change by `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `.1`), `.`), mdx(\"h3\", {\n    \"id\": \"hiding-the-pane-settings-when-there-is-no-space\"\n  }, `Hiding the pane settings when there is no space`), mdx(\"p\", null, `When panes get too narrow, for example when zooming out, Polypane will hide the pane icons behind a menu button. You can still access them, but they no longer overlap other panes or the close button.`), mdx(\"h2\", {\n    \"id\": \"other-updates\"\n  }, `Other updates`), mdx(\"h3\", {\n    \"id\": \"chromium-89\"\n  }, `Chromium 89`), mdx(\"p\", null, `Polypane now runs Chromium 89, bringing some cool new features like `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `aspect-ratio`), ` and `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `@scroll-timeline`), ` support.`), mdx(\"h3\", {\n    \"id\": \"color-contrast-checker\"\n  }, `Color contrast checker`), mdx(\"p\", null, `Click the suggested color in the color contrast checker debug tool tooltips to copy it to your clipboard.`), mdx(\"video\", {\n    src: \"/blogs/polypane-5/copy-color.mp4\",\n    loop: true,\n    controls: true,\n    className: \"imgshadow\",\n    style: {\n      \"margin\": \"2rem auto\",\n      \"maxWidth\": \"100%\"\n    }\n  }), mdx(\"h3\", {\n    \"id\": \"new-cli-options\"\n  }, `New CLI options`), mdx(\"p\", null, `Polypane now has two new CLI options:`), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `--reload`), ` will reload the current page in an open Polypane. If Polypane hasn't started, it will just load.`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `-g`), ` will launch Polypane without focusing the window.`)), mdx(\"p\", null, `Combine both to reload in Polypane without focusing the application.`), mdx(\"h3\", {\n    \"id\": \"updates-from-401-402-and-403\"\n  }, `Updates from 4.0.1, 4.0.2 and 4.0.3`), mdx(\"p\", null, `There were a few updates in 4.0.2 and 4.0.3 that we didn't officially announce, so we'll mention them here as well: Polypane now has a `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `custom Big Sur icon`), `.`), mdx(\"p\", null, `Polypane also has a `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `universal build`), ` so it runs extra fast on new Apple M1 machines.`), mdx(\"p\", null, `In 4.0.2 we added `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `automated link checking`), ` for all links on a page so it's really easy to find broken links and redirects.`), mdx(\"p\", null, `Polypane's view source panel now `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `formats your source code using Prettier`), `. There is a new debug tool that `, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `shows unneeded scrollbars`), `, particularly useful for developers on Mac.`), mdx(\"p\", null, `Check out the full release notes for these versions here: `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/blog/polypane-4-unified-console-dom-tree-in-elements-panel/#401-changelog\"\n  }), `4.0.1`), `, `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/blog/polypane-4-unified-console-dom-tree-in-elements-panel/#402-changelog\"\n  }), `4.0.2`), ` and `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/blog/polypane-4-unified-console-dom-tree-in-elements-panel/#403-changelog\"\n  }), `4.0.3`), `.`), mdx(\"img\", {\n    alt: \"Big Sur icon\",\n    src: \"/blogs/polypane-5/bigsur.jpg\",\n    className: \"imgshadow\",\n    style: {\n      margin: '2rem auto',\n      display: 'block',\n      maxWidth: '100%'\n    }\n  }), mdx(\"h2\", {\n    \"id\": \"get-polypane-5\"\n  }, `Get Polypane 5`), mdx(\"p\", null, `Polypane will automatically update on Mac and Windows. Linux users need to download the new version from\n`, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/download/\"\n  }), `the download page`), ` and if you're on Mac and Windows but don't want to wait on the update popup, find\nyour download there as well.`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Don't have Polypane yet? There is a free 14 day trial available. `, mdx(\"a\", _extends({\n    parentName: \"strong\"\n  }, {\n    \"href\": \"https://dashboard.polypane.app/register\"\n  }), `Get it here`), `.`)), mdx(\"h2\", {\n    \"id\": \"full-changelog\"\n  }, `Full Changelog`), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Console message popups`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Disable Images placeholder`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Chromium 89`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Performance settings panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Resize the text in the entire UI/panel (Thanks many people!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Isolate pane mode is now the default mode`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Focus order outline and visual overlay`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` CSS styling support in console messages`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Click a color contrast suggestion to copy it to clipboard`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Polypane `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `--reload`), ` and `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `-g`), ` CLI commands (Thanks Mike!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` All number inputs now support modifier keys when increasing/decreasing`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` \"r\" shortcut to reload`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Global settings panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Disable Hardware acceleration option`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Added more Angular and Vue.js devtools`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` New design for element selector tooltip`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Element selector tooltip shows if element is keyboard focusable`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` More consistent hover syncing`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Support outlining SVG elements in layout debugging`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` empty panes message hides instantly when switching tabs`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Theme switching now changes color-scheme internally as well`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Use more optimized version of React`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Add copy image location and save image context menu items`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Screenshots now use emulation settings (Thanks Rik!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Vertical resizing now takes ruler height into account`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Context menu for inspect element button in header now displays shortcuts`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Split devtools shortcuts to open elements panel/chrome devtools and inspect elements/inspect elements in devtools`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browser-sync live reloading no longer prevents load event (Thanks Rik!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Updated A11y.css and fix A11y.css counters`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Pane header icons hide when panes gets too small`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Tabs for pane options and pane debug tools`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Touch toggle now switches between \"pointer\" and \"touch\".`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` \"Online\" network setting is now called \"No Throttling\"`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Pane zoom is now done in percentages (Thanks Rik!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel link checking now shows loading indicators`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel link checking now supports relative URLs`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel link checking now shows badge for non-https links`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel link checking now shows badge for empty href attributes`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel: Removed \"H1 should be first heading\" rule`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Outline panel: Added rule for headers with duplicate content`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browse panel is now muted when not visible (Thanks Mico!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Browse panel is now more secure`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: adding new values now auto size to fit content`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: A11y tab improvements: clearer contrast warning, information about keyboard focus`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Workspaces: Support appending workspaces and breakpoint panes (Thanks Sam!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Meta panel: Slack, Linkedin and Discord meta preview rendering improvements`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Meta panel: Facebook social media preview style updates`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Meta panel: Highlight missing favicon in Meta panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Source panel HTML formatting is much faster now`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Live CSS Panel now has buttons for code formatting and clearing.`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Accessibility panel has updated rule set`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Accessibility panel now shows related WCAG success criteria (Thanks Dave!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Info pane: Performance improvements for large HTML files (Thanks Andrew!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` New \"Open location\" menu item (Thanks Jacob!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` macOS shortcuts not being released when closing the Polypane window`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Height of panes in horizontal mode did not fit in certain situations (Thanks Sam!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Support multi-line text content editing in Elements panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Show CSRF warning for Ruby on Rails in Legacy mode (Thanks Bob!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` issue where two panes would end up having the same id`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Issue where CSS on `, `<`, `html`, `>`, ` element was being overwritten`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Issue where vertical guides would overwrite horizontal guides`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` You no longer need to move out of a pane and back in to trigger chromium devtools inspection`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Horizontal overflow issue in Meta panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Deleting devtools extensions works again`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Scroll to element on hover now works in default mode`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Issue where the placeholdifier debug tool did not apply to top level elements`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Opening URLs from the command line`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` prevent crash when opening `, mdx(\"code\", _extends({\n    parentName: \"li\"\n  }, {\n    \"className\": \"language-text\"\n  }), `about:blank`), ` through browser extensions (Thanks Michael!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Prevent error on pages with missing doctypes`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Element panel now shows all styles again`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Prevent error when hovering color contrast label`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Re-apply emulation settings after new iframes get added to a document`)));\n}\n;\nMDXContent.isMDXComponent = true;","timeToRead":8,"tableOfContents":{"items":[{"url":"#console-improvements","title":"Console improvements"},{"url":"#performance","title":"Performance"},{"url":"#focus-order-overview","title":"Focus Order overview"},{"url":"#disable-images-debug-tool","title":"Disable images debug tool"},{"url":"#ui-updates","title":"UI updates","items":[{"url":"#node-tooltip-redesign","title":"Node tooltip redesign"},{"url":"#adjusting-text-size","title":"Adjusting text size"},{"url":"#panel-updates","title":"Panel updates"},{"url":"#isolated-panes-are-now-the-default","title":"Isolated panes are now the default"}]},{"url":"#pane-header-improvements","title":"Pane header improvements","items":[{"url":"#pane-settings-redesigns","title":"Pane Settings redesigns"},{"url":"#number-inputs-improvements","title":"Number inputs improvements"},{"url":"#hiding-the-pane-settings-when-there-is-no-space","title":"Hiding the pane settings when there is no space"}]},{"url":"#other-updates","title":"Other updates","items":[{"url":"#chromium-89","title":"Chromium 89"},{"url":"#color-contrast-checker","title":"Color contrast checker"},{"url":"#new-cli-options","title":"New CLI options"},{"url":"#updates-from-401-402-and-403","title":"Updates from 4.0.1, 4.0.2 and 4.0.3"}]},{"url":"#get-polypane-5","title":"Get Polypane 5"},{"url":"#full-changelog","title":"Full Changelog"}]},"excerpt":"Polypane 5 is out with new ways to see your console messages, new performance settings and a new focus order overview. It has a new Chromium version (89), many…","frontmatter":{"title":"Polypane 5: Console popups, performance and focus overview","cover":"/img/mail/icon.svg","date":"2021-03-04","updated":null},"fields":{"slug":"/blog/polypane-5-console-popups-performance-and-focus-overview/","date":"2021-03-03T23:00:00.000Z","ogFileName":"polypane-5-console-popups-performance-and-focus-overview"}}},"pageContext":{"slug":"/blog/polypane-5-console-popups-performance-and-focus-overview/"}},"staticQueryHashes":["4164364741","425175329"]}