// RESET // var codeRanOnce = false; var tryTreeViewCloseInterval = null; var tryTreeViewCloseIntervalCount = 0; // EXECUTE CODE WHEN WORKSPACE IS OPENED // atom.workspace.onDidOpen(function({item}){ // make sure the code doesn't run twice if(codeRanOnce) return; // remember that the code ran once codeRanOnce = true; // schedule multiple tries to close the tree-view tryTreeViewClose(); tryTreeViewCloseInterval = setInterval(tryTreeViewClose, 100); }); // TRY TO CLOSE THE TREE-VIEW // tryTreeViewClose = function(){ // get tree-view element var treeView = atom.workspace.paneContainerForURI("atom://tree-view"); // time out after too many tries tryTreeViewCloseIntervalCount++; if(tryTreeViewCloseIntervalCount >= 20){ clearInterval(tryTreeViewCloseInterval); return; } // check if tree-view element exists if(!treeView) return; // check whether tree view contains projects var treeViewHasProjects = (treeView.element.querySelector("ol.tree-view-root") != null); // close the tree-view dock when the `Hidden On Startup` setting is activated or when it is empty let treeViewSettings = atom.packages.config.settings["tree-view"] ?? {}; let hiddenOnStartup = treeViewSettings.hiddenOnStartup ?? false; if(hiddenOnStartup || !treeViewHasProjects){ treeView.hide(); } // stop trying clearInterval(tryTreeViewCloseInterval); }