diff --git a/.obsidian/app.json b/.obsidian/app.json index 515d6b53..ef48a93f 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -1,7 +1,7 @@ { "legacyEditor": false, "livePreview": true, - "readableLineLength": false, + "readableLineLength": true, "foldIndent": true, "useTab": false, "vimMode": true, diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index e2fbdf19..8548d23d 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -41,5 +41,6 @@ "obsidian-minimal-settings", "github-sync", "obsidian-completr", - "default-template" + "default-template", + "obsidian-fullscreen-plugin" ] \ No newline at end of file diff --git a/.obsidian/hotkeys.json b/.obsidian/hotkeys.json index 00073ef1..e6fb08f5 100644 --- a/.obsidian/hotkeys.json +++ b/.obsidian/hotkeys.json @@ -1,12 +1,4 @@ { - "obsidian-fullscreen-plugin:fullscreen-focus": [ - { - "modifiers": [ - "Ctrl" - ], - "key": "O" - } - ], "app:toggle-left-sidebar": [ { "modifiers": [ @@ -789,14 +781,6 @@ "key": "S" } ], - "obsidian-shellcommands:shell-command-53b5ai5phh": [ - { - "modifiers": [ - "Ctrl" - ], - "key": "O" - } - ], "breadcrumbs:breadcrumbs:rebuild-graph": [ { "modifiers": [ @@ -1036,5 +1020,21 @@ ], "key": "F" } + ], + "obsidian-shellcommands:shell-command-53b5ai5phh": [ + { + "modifiers": [ + "Ctrl" + ], + "key": "O" + } + ], + "obsidian-fullscreen-plugin:fullscreen-focus": [ + { + "modifiers": [ + "Ctrl" + ], + "key": "Z" + } ] } \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-fullscreen-plugin/main.js b/.obsidian/plugins/obsidian-fullscreen-plugin/main.js new file mode 100644 index 00000000..dd55aaab --- /dev/null +++ b/.obsidian/plugins/obsidian-fullscreen-plugin/main.js @@ -0,0 +1,82 @@ +'use strict'; + +var obsidian = require('obsidian'); + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var FullScreenPlugin = /** @class */ (function (_super) { + __extends(FullScreenPlugin, _super); + function FullScreenPlugin() { + return _super !== null && _super.apply(this, arguments) || this; + } + FullScreenPlugin.prototype.onload = function () { + this.addCommand({ + id: "fullscreen-focus", + name: "Fullscreen focus mode", + callback: this.fullscreenMode.bind(this), + }); + }; + FullScreenPlugin.prototype.onunload = function () { }; + FullScreenPlugin.prototype.fullscreenMode = function () { + var leaf = this.app.workspace.activeLeaf; + if (!leaf) + return; + var el = leaf.containerEl; + var fullscreenMutationObserver; + el.requestFullscreen(); + // disable mutation observer when exiting fullscreen mode + el.addEventListener("fullscreenchange", function (event) { + if (!document.fullscreenElement) { + fullscreenMutationObserver.disconnect(); + } + }); + // copy all nodes + fullscreenMutationObserver = new MutationObserver(function (mutationRecords) { + mutationRecords.forEach(function (mutationRecord) { + mutationRecord.addedNodes.forEach(function (node) { + document.body.removeChild(node); + el.appendChild(node); + }); + }); + // focus on prompt for file open + if (document.querySelector(".prompt-input")) + document.querySelector(".prompt-input").focus(); + }); + fullscreenMutationObserver.observe(document.body, { childList: true }); + }; + return FullScreenPlugin; +}(obsidian.Plugin)); + +module.exports = FullScreenPlugin; + + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-fullscreen-plugin/manifest.json b/.obsidian/plugins/obsidian-fullscreen-plugin/manifest.json new file mode 100644 index 00000000..1d6490d8 --- /dev/null +++ b/.obsidian/plugins/obsidian-fullscreen-plugin/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-fullscreen-plugin", + "name": "Fullscreen mode plugin", + "version": "0.1.2", + "minAppVersion": "0.12.0", + "description": "This plugin allows viewing a single document in fullscreen focus mode", + "author": "Razum", + "authorUrl": "https://github.com/Razumihin", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/obsidian-minimal-settings/data.json b/.obsidian/plugins/obsidian-minimal-settings/data.json index 25f47e1e..db45ca80 100644 --- a/.obsidian/plugins/obsidian-minimal-settings/data.json +++ b/.obsidian/plugins/obsidian-minimal-settings/data.json @@ -24,12 +24,12 @@ "fullWidthMedia": true, "bordersToggle": true, "minimalStatus": true, - "focusMode": false, + "focusMode": true, "underlineInternal": true, "underlineExternal": true, "folding": true, "lineNumbers": false, - "readableLineLength": false, + "readableLineLength": true, "devBlockWidth": false, "theme": "moonstone", "useSystemTheme": true,