{"id":319683,"date":"2026-06-08T13:47:16","date_gmt":"2026-06-08T13:47:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/calm-dashboard\/"},"modified":"2026-06-09T04:07:19","modified_gmt":"2026-06-09T04:07:19","slug":"halcyon-admin","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/halcyon-admin\/","author":20017704,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.0","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"Halcyon Admin \u2014 Reduced Motion & Resizable Sidebar","header_author":"Miikka M\u00e4kel\u00e4","header_description":"Reduced motion, resizable admin menu, and sensible color defaults for a calmer, accessible wp-admin dashboard.","assets_banners_color":"cad1d6","last_updated":"2026-06-09 04:07:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":73,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"pressermannen","date":"2026-06-08 13:46:56"},"1.0.4":{"tag":"1.0.4","author":"pressermannen","date":"2026-06-08 14:15:59"},"1.0.5":{"tag":"1.0.5","author":"pressermannen","date":"2026-06-08 18:25:32"},"1.0.6":{"tag":"1.0.6","author":"pressermannen","date":"2026-06-09 04:07:19"}},"upgrade_notice":{"1.0.6":"<p>Philosophy discussion expanded in documentation. No code changes.<\/p>","1.0.5":"<p>Readme fix, plugin page banner, refreshed screenshots, and tightened copy. No code changes.<\/p>","1.0.4":"<p>Readme improvements. No code changes.<\/p>","1.0.3":"<p>Code quality fixes from the Plugin Check tool. No functional change.<\/p>","1.0.2":"<p>Rename to Halcyon Admin. Slug, namespace, and user meta keys have changed. Stored preferences are not migrated.<\/p>","1.0.1":"<p>Metadata fix for WordPress.org plugin directory requirements.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3565431,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3565431,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3564853,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3564853,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4","1.0.5","1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3565398,"resolution":"1","location":"assets","locale":"","width":1446,"height":1088},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3565398,"resolution":"2","location":"assets","locale":"","width":1774,"height":887}},"screenshots":{"1":"The admin menu resized to a comfortable width via the drag handle on its right edge.","2":"The Halcyon Admin section on the user profile screen, with the single per-user setting."}},"plugin_section":[],"plugin_tags":[1953,83,434,34998,168],"plugin_category":[34,43],"plugin_contributors":[266201,266200],"plugin_business_model":[],"class_list":["post-319683","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-admin","plugin_tags-dashboard","plugin_tags-motion","plugin_tags-sidebar","plugin_category-accessibility","plugin_category-customization","plugin_contributors-miikkamakela","plugin_contributors-pressermannen","plugin_committers-pressermannen"],"banners":{"banner":"https:\/\/ps.w.org\/halcyon-admin\/assets\/banner-772x250.png?rev=3564853","banner_2x":"https:\/\/ps.w.org\/halcyon-admin\/assets\/banner-1544x500.png?rev=3564853","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/halcyon-admin\/assets\/icon-128x128.png?rev=3565431","icon_2x":"https:\/\/ps.w.org\/halcyon-admin\/assets\/icon-256x256.png?rev=3565431","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/halcyon-admin\/assets\/screenshot-1.jpg?rev=3565398","caption":"The admin menu resized to a comfortable width via the drag handle on its right edge."},{"src":"https:\/\/ps.w.org\/halcyon-admin\/assets\/screenshot-2.jpg?rev=3565398","caption":"The Halcyon Admin section on the user profile screen, with the single per-user setting."}],"raw_content":"<!--section=description-->\n<p>Halcyon Admin tunes the WordPress admin for people who prefer a steady, low-distraction workspace. It doesn't add a settings page, a dashboard widget, or a notice \u2014 it just changes three things wp-admin does by default, and gets out of the way.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li><strong>Resizable admin menu<\/strong> \u2014 drag the right edge of the left menu to resize; width is saved per user and honored by the block editor.<\/li>\n<li><strong>Reduced motion by default<\/strong> \u2014 disables CSS transitions, jQuery animations, and the WordPress 7 view transitions for users who haven't opted in. Honors <code>prefers-reduced-motion<\/code>.<\/li>\n<li><strong>Sensible default<\/strong> \u2014 sets <em>Fresh<\/em> as the default admin color scheme for new users. Users can pick a different scheme through WordPress's standard profile color-scheme picker.<\/li>\n<\/ul>\n\n<p>All preferences are per-user and stored as user meta. There is no global settings page, no telemetry, and no external network calls.<\/p>\n\n<h3>Why \"Halcyon\"?<\/h3>\n\n<p>Halcyon means calm and peaceful. The plugin's only job is to make wp-admin feel that way.<\/p>\n\n<p>In professional administrative environments, efficiency, focus, and predictability are the priorities. The WordPress 7.0 upgrade introduced several new admin animations and transitions. While modern design enhancements can offer visual interest, they can also make the dashboard feel busy, less professional, and more distracting during routine editing work.<\/p>\n\n<p>Furthermore, animation is a core accessibility concern. Extra motion in menus, panels, and transitions can be uncomfortable or problematic for users sensitive to motion. Halcyon Admin believes that:<\/p>\n\n<ol>\n<li><strong>Accessibility is a baseline<\/strong> \u2014 Operating system preferences like <code>prefers-reduced-motion<\/code> must be respected comprehensively throughout the admin area.<\/li>\n<li><strong>User control is paramount<\/strong> \u2014 Existing users shouldn\u2019t be forced into a more animated and busy interface by default. Users, particularly those managing client sites or spending hours in the dashboard, deserve a clear, clean, and distraction-free workspace.<\/li>\n<li><strong>Usability matches innovation<\/strong> \u2014 Visual improvements are welcome, but they should enhance productivity and focus, not compete with them.<\/li>\n<\/ol>\n\n<p>Halcyon Admin provides a quiet compromise: it restores a classic, steady dashboard experience by default, but stays completely out of the way for users who prefer standard settings.<\/p>\n\n<h3>Must-use install<\/h3>\n\n<p>To load Halcyon Admin as a must-use plugin (no activation needed, no update prompts):<\/p>\n\n<ol>\n<li>Copy the <code>halcyon-admin\/<\/code> folder to <code>wp-content\/mu-plugins\/halcyon-admin\/<\/code>.<\/li>\n<li><p>Create a new file at <code>wp-content\/mu-plugins\/halcyon-admin-loader.php<\/code> containing:<\/p>\n\n<p>&lt;?php\n\/**<\/p>\n\n<ul>\n<li>Plugin Name: Halcyon Admin (mu-plugin loader)<\/li>\n<li>Description: Loads Halcyon Admin from a mu-plugins subdirectory.\n*\/<\/li>\n<\/ul>\n\n<p>defined( 'ABSPATH' ) || exit;<\/p>\n\n<p>require_once <strong>DIR<\/strong> . '\/halcyon-admin\/halcyon-admin.php';<\/p><\/li>\n<\/ol>\n\n<p>Halcyon Admin will be loaded automatically on every request and won't appear in the Plugins screen.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install via the <strong>Plugins \u2192 Add New<\/strong> screen.<\/li>\n<li>Activate <strong>Halcyon Admin<\/strong>.<\/li>\n<li>Optional: open your profile screen to adjust the three settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20the%20block%20editor%3F\"><h3>Does it work with the block editor?<\/h3><\/dt>\n<dd><p>Yes. The block editor's layout offsets follow your saved menu width, so resizing works the same in the editor as in the main admin.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20mobile%20or%20touch%20devices%3F\"><h3>Does it work on mobile or touch devices?<\/h3><\/dt>\n<dd><p>The drag-to-resize handle is desktop-only (mouse \/ trackpad). On touch devices, the menu uses the default WordPress width. Reduced motion and the color-scheme default work everywhere.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Yes. All preferences are per-user meta, so each user across the network can have their own settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reset%20the%20menu%20width%3F\"><h3>How do I reset the menu width?<\/h3><\/dt>\n<dd><p>Drag the menu edge to a new width \u2014 it saves automatically. To restore the WordPress default, open your profile screen, leave the menu-width field empty, and save.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20individual%20features%3F\"><h3>Can I disable individual features?<\/h3><\/dt>\n<dd><p>Yes, each feature can be turned off independently:<\/p>\n\n<ul>\n<li><strong>Animations<\/strong> \u2014 toggle in your profile under <strong>Users \u2192 Profile \u2192 Halcyon Admin<\/strong>.<\/li>\n<li><strong>Menu width<\/strong> \u2014 drag the menu edge back to a different width; it saves automatically and is per user.<\/li>\n<li><strong>Color scheme<\/strong> \u2014 pick a different scheme through WordPress's standard profile color-scheme picker.<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20store%20about%20me%3F\"><h3>What data does the plugin store about me?<\/h3><\/dt>\n<dd><p>Three user-meta keys, all local to your WordPress install:<\/p>\n\n<ul>\n<li><code>halcyon_admin_animations_enabled<\/code><\/li>\n<li><code>halcyon_admin_color_scheme_chosen<\/code><\/li>\n<li><code>halcyon_admin_sidebar_width<\/code><\/li>\n<\/ul>\n\n<p>No data is sent off-site, no cookies are set, no external services are contacted. All stored data is removed automatically when the plugin is uninstalled.<\/p><\/dd>\n<dt id=\"does%20it%20conflict%20with%20other%20admin-customization%20plugins%3F\"><h3>Does it conflict with other admin-customization plugins?<\/h3><\/dt>\n<dd><p>Generally no, but two plugins adjusting the same thing (admin color scheme, sidebar width, or animation state) will produce whichever loads last. Test any existing admin-customization plugins after activating Halcyon Admin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Update documentation: rewrite \"Why Halcyon\" to expand on the core philosophy behind reducing admin animations and keeping the dashboard predictable in professional and client-managed settings. No code changes.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Readme fix: the mu-plugin install code block was rendering with the <code>php<\/code> language hint as inline text and the <code>__DIR__<\/code> constant being eaten as bold markdown. Switched to 4-space indented syntax (the WordPress readme parser does not support fenced code blocks).<\/li>\n<li>Add plugin page banner: <code>banner-772x250.png<\/code> and <code>banner-1544x500.png<\/code> (source artwork JPG, converted to PNG per WP.org spec).<\/li>\n<li>Refresh screenshots: replaced with accurate captures from a fresh WP 7.0 install \u2014 one Halcyon Admin checkbox in the profile section, plus a real-drag demo of the resizable menu.<\/li>\n<li>Tighten the \"What it does\" copy and FAQ so the description matches the actual plugin UI (no implied \"three settings\" claim; color-scheme description points to WordPress's standard picker).<\/li>\n<li>No code changes.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Readme improvements: clearer \"what it does\" overview, mu-plugin install with copy-paste loader snippet, expanded FAQ, and privacy\/data clarification. No code changes.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Code quality: address Plugin Check tool findings. Escape <code>$width<\/code> output in the initial sidebar CSS, sanitize the AJAX <code>width<\/code> input with <code>absint()<\/code>, and add a defensive <code>check_admin_referer()<\/code> to the profile save handlers (<code>save_profile<\/code>, <code>mark_explicit_choice<\/code>). No functional change.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Renamed to Halcyon Admin. New slug, text domain, namespace, asset handles, and user meta keys. Stored preferences are not migrated.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Set Tested up to: 7.0. Add languages directory for translations.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A calmer, accessible wp-admin dashboard: reduced motion, resizable admin menu, and sensible color defaults that work out of the box.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319683"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pressermannen"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319683"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319683"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319683"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319683"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319683"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}