{"componentChunkName":"component---src-templates-post-jsx","path":"/blog/polypane-23-1/","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 23.1\",\n  \"cover\": \"/img/mail/icon.svg\",\n  \"date\": \"2025-02-13\",\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, `The elements panel now shows which elements have event listeners, the screenshot editor has a whole range of new shortcuts to make it even easier to use and we've made improvements to the JSON viewer.`), mdx(PolypaneIntro, {\n    mdxType: \"PolypaneIntro\"\n  }), mdx(\"h2\", {\n    \"id\": \"elements-panel\"\n  }, `Elements panel`), mdx(\"p\", null, `The elements panel now shows which elements have event listeners. The DOM tree view has an event/events badge for elements that have one or more event listeners attached.`), mdx(\"img\", {\n    src: domevents,\n    alt: \"Two buttons in a dom overview with an event badge\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `If an element has event listeners it gets a new event listener tab that shows all the events that are attached to that element along with additional information about the event.`), mdx(\"img\", {\n    src: eventlisteners,\n    alt: \"Filtered Event listener overview\",\n    className: \"imgshadow\"\n  }), mdx(\"h2\", {\n    \"id\": \"screenshot-editor\"\n  }, `Screenshot editor`), mdx(\"h3\", {\n    \"id\": \"shortcuts\"\n  }, `Shortcuts!`), mdx(\"p\", null, `All features in the screenshot editor now have a keyboard shortcut so you can very quickly annotate a screenshot and then export it. The shortcuts are the same as Flameshot (where possible), which a lot of our users have been asking for.`), mdx(\"p\", null, `For example, to use the Text tool, press `, mdx(ShortCutDisplay, {\n    letter: \"T\",\n    mdxType: \"ShortCutDisplay\"\n  }), ` to add text. To use the new Marker tool, press `, mdx(ShortCutDisplay, {\n    letter: \"M\",\n    mdxType: \"ShortCutDisplay\"\n  }), ` and then click and drag to draw a marker. All tools have a similar one-letter shortcut.`), mdx(\"img\", {\n    src: screenshotshortcuts,\n    alt: \"Overview of shortcuts\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `Special thanks to Rik for adding new functionality to `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://pqina.nl/pintura/?aff=xLXrx&ref=polypane\"\n  }), `Pintura`), ` that let us add these shortcuts as well as the new tooltips that show the shortcuts.`), mdx(\"p\", null, `When you're done, press `, mdx(ShortCutDisplay, {\n    letter: \"S\",\n    cmdKey: true,\n    mdxType: \"ShortCutDisplay\"\n  }), ` to save the screenshot or `, mdx(ShortCutDisplay, {\n    letter: \"C\",\n    cmdKey: true,\n    mdxType: \"ShortCutDisplay\"\n  }), ` to copy it to the clipboard.`), mdx(\"h3\", {\n    \"id\": \"new-marker-tool\"\n  }, `New Marker tool`), mdx(\"p\", null, `The new Marker tool lets you draw a highlight across parts of the screenshot. It's great for pointing out specific text that needs to be changed or for highlighting a specific area of the screenshot.`), mdx(\"video\", {\n    src: marker,\n    muted: true,\n    controls: true,\n    preload: \"auto\",\n    loading: \"lazy\",\n    playsInline: true,\n    className: \"imgshadow\",\n    style: {\n      maxWidth: '100%'\n    }\n  }), mdx(\"h2\", {\n    \"id\": \"json-viewer\"\n  }, `JSON viewer`), mdx(\"p\", null, `We've made small tweaks to the UI of the json viewer to provide a little more context, like showing the index of array items and preserving the ordering of the original JSON.`), mdx(\"p\", null, `Additionally, we've made performance improvements when it comes to large JSON files, so you can now view even larger JSON files in Polypane. For best results, we recommend using the JSON viewer in the Browse panel.`), mdx(\"h2\", {\n    \"id\": \"focus-visible-debug-tool\"\n  }, `Focus-visible debug tool`), mdx(\"p\", null, `We previously added a debug tool to turn on the `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `:focus`), ` styles of all elements on the page. We've now added a second tool that also turns on the `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `:focus-visible`), ` styles. This is a great way to see if your site is broadly accessible to keyboard users.`), mdx(\"h2\", {\n    \"id\": \"keyboard-interaction-improvements\"\n  }, `Keyboard interaction improvements`), mdx(\"p\", null, `Thanks to some wonderful feedback by A11y expert Ian, we've made improvements to the keyboard operability of Polypane. We've fixed a number of issues where keyboard navigation was not working as expected and improved the patterns there,  and made sure that all parts of Polypane can be navigated using the keyboard.`), mdx(\"h2\", {\n    \"id\": \"portal-now-uses-bonjour-domain-name\"\n  }, `Portal now uses Bonjour domain name`), mdx(\"p\", null, `Rather than using the IP address, `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/portal/\"\n  }), `Portal`), ` now uses the Bonjour/mDNS domain name to connect to other devices. This makes it easier to connect to other devices on your network.`), mdx(\"img\", {\n    src: bonjour,\n    alt: \"Portal popup showing an mDNS domain name\",\n    className: \"imgshadow\"\n  }), mdx(\"p\", null, `The way this works is that Bonjour takes your device's name (for example, \"Kilians-macbook\") and makes it available in your network on a `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `.local`), ` TLD. Any device can then connect to `, mdx(\"code\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"language-text\"\n  }), `Kilians-macbook.local:6820`), `. Remembering and typing in that address is a lot easier than remembering and typing in an IP address.`), mdx(\"h2\", {\n    \"id\": \"notable-fixes\"\n  }, `Notable fixes`), mdx(\"h3\", {\n    \"id\": \"sessions-work-right-after-creation\"\n  }, `Sessions work right after creation`), mdx(\"p\", null, `There was an issue where panes with a newly added session weren't correctly registered and as such media emulation and the context menu didn't work for them. That's now fixed.`), mdx(\"h3\", {\n    \"id\": \"scroll-position-is-retained-on-reload\"\n  }, `Scroll position is retained on reload`), mdx(\"p\", null, `We retain the scroll position after reloading again, useful if you're working on something near the bottom of a page!`), mdx(\"h3\", {\n    \"id\": \"scroll-position-works-again-in-share-urls\"\n  }, `Scroll position works again in share URLs`), mdx(\"p\", null, `The scroll position is now again correctly applied when using `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/docs/link/\"\n  }), `Polypane Links`), ` from the share panel.`), mdx(\"h2\", {\n    \"id\": \"get-polypane-231\"\n  }, `Get Polypane 23.1`), mdx(\"p\", null, `Polypane is available for Windows, Mac and Linux (.deb or AppImage) in both 64 bit and ARM versions.`), mdx(\"p\", null, `Polypane automatically updates on Mac, Windows and on Linux when using the AppImage. Otherwise, go to `, mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/download/\"\n  }), `the download page`), ` to download the latest version!`), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Don't have Polypane yet? There is a 14 day trial available. `, mdx(\"a\", _extends({\n    parentName: \"strong\"\n  }, {\n    \"href\": \"https://dashboard.polypane.app/register\"\n  }), `Try it for free`), `.`), ` No credit card needed.`)), mdx(\"h2\", {\n    \"id\": \"polypane-2311-changelog\"\n  }, `Polypane 23.1.1 Changelog`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `New`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Chromium 132.0.6834.196`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Fixes`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Scroll sync on Astro sites with view transitions (Thanks Frank!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Page load error message didn't update size in Full layout`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Prevent find-in-page locking the browser`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Rename \"social media previews\" to \"social media cards\"`)), mdx(\"h2\", {\n    \"id\": \"polypane-231-changelog\"\n  }, `Polypane 23.1 Changelog`), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `New`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Elements panel: Show events on elements (Thanks Eric!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Screenshot editor: new Marker tool`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Turn on all focus-visible styling debug tool`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Add Startpage search engine`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `New`), ` Chromium 132.0.6834.194`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Improvements`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` JSON viewer: Now shows the index of array items`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` JSON viewer: Ordering of original JSON is now preserved`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` JSON viewer: Performance improvements for large JSON files`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Meta panel: Updated X preview`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Portal: Switch over to using Bonjour domain name`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Elements panel: Support for new select pseudos`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Screenshot editor: Add shortcuts for all tools`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Color picker: Better alignment for color palette`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Prevent rewriting of CSS clip paths and incorrect rewriting of URLs for external resources (Thanks Harald!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Keyboard accessibility fixes throughout the app (Thanks Ian!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Ordering of Target Size debug tools (Thanks Eric!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Make the 24px Target size the default`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Mac installer icon`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Improved`), ` Updated list of Google fonts`)), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, `Fixes`)), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Background color of select dropdowns in settings popover (Thank Qton!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Menu issues and typos (Thanks Qton!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Portal: Fix Bonjour on Mac not broadcasting address`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Color picker: color format UI broken`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Scroll position in Share panel works again (Thanks Neal!)`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Session: newly added sessions didn't apply emulation settings`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Session management: Multiple UI fixes for dark mode`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Issue where Chromium devtools would open in new window instead of panel`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Scroll position is now preserved on reload again`), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, `Fix`), ` Scoll to top and scroll to bottom buttons in reload menu work again`)));\n}\n;\nMDXContent.isMDXComponent = true;","timeToRead":4,"tableOfContents":{"items":[{"url":"#elements-panel","title":"Elements panel"},{"url":"#screenshot-editor","title":"Screenshot editor","items":[{"url":"#shortcuts","title":"Shortcuts!"},{"url":"#new-marker-tool","title":"New Marker tool"}]},{"url":"#json-viewer","title":"JSON viewer"},{"url":"#focus-visible-debug-tool","title":"Focus-visible debug tool"},{"url":"#keyboard-interaction-improvements","title":"Keyboard interaction improvements"},{"url":"#portal-now-uses-bonjour-domain-name","title":"Portal now uses Bonjour domain name"},{"url":"#notable-fixes","title":"Notable fixes","items":[{"url":"#sessions-work-right-after-creation","title":"Sessions work right after creation"},{"url":"#scroll-position-is-retained-on-reload","title":"Scroll position is retained on reload"},{"url":"#scroll-position-works-again-in-share-urls","title":"Scroll position works again in share URLs"}]},{"url":"#get-polypane-231","title":"Get Polypane 23.1"},{"url":"#polypane-2311-changelog","title":"Polypane 23.1.1 Changelog"},{"url":"#polypane-231-changelog","title":"Polypane 23.1 Changelog"}]},"excerpt":"The elements panel now shows which elements have event listeners, the screenshot editor has a whole range of new shortcuts to make it even easier to use and we…","frontmatter":{"title":"Polypane 23.1","cover":"/img/mail/icon.svg","date":"2025-02-13","updated":null},"fields":{"slug":"/blog/polypane-23-1/","date":"2025-02-12T23:00:00.000Z","ogFileName":"polypane-23-1"}}},"pageContext":{"slug":"/blog/polypane-23-1/"}},"staticQueryHashes":["4164364741","425175329"]}