8000 GitHub - thbonk/NavigatorApp: Navigator is a Finder replacement for macOS.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

thbonk/NavigatorApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Navigator

A file manager for macOS.

The targeted user group of Navigator are power users and developers as it is completely controllable with the keyboard. Most of the function are even only reachable via a hotkey or a command in the action bar. Navigator can be extended using Lua.

Lua API

When Navigator is starting, it executes the file ~/.config/Navigator/init.lua. Application settings can be changed and commands can be defined. It is possible to structure every Lua artefact in dedicated files that can be loaded using the Lua function require. The Lua package.path is extended by ~/.config/Navigator/?.lua.

LuaRocks Integration

Navigator scripts can use Lua packages that are installed using LuaRocks. To tell the Lua VM started within Navigator where LuaRocks installs its packages you first of all have to get the paths by running the shell command

luarocks path

In the init.lua file you then have to adjust package.path and package.cpath, for example:

package.path = package.path .. ";" .. "<LUA_PATH output of luarocks>"<
8000
/span>
package.cpath = package.cpath .. ";" .. "<LUA_CPATH output of luarocks>"

Don't overwrite package.path and package.cpath but extend it.

Application Settings

Navigator can be configured using the object ApplicationSettings. It provides the following functions.

Function Parameters Return Value Description
setOpenWindowOnStart
  • openOnStart: bool
None Set the flag that determines whether a window shall be opened when the application launches. If windows have been persisted, they will be opened regardless of the value of this setting.
openWindowOnStart None bool Returns the flag that determines whether a window shall be opened when the application launches.
setBringToFrontDoubleTapKey
  • modifierFlag: int
None Sets the modifier flag that bring the application to the front when double tapped.
bringToFrontDoubleTapKey None int Returns the modifier flag that bring the application to the front when double tapped.
setEditor
  • applicationPath: string
None Sets the path to the editor app bundle for editing Lua files.
editor None string Returns the path to the editor app bundle for editing Lua files.
setShortcutForEvent
  • eventName: string
  • shortcut: { modifiers: [int], key: int or specialKey: int }
None Sets the shortcut key combination for the given event name.
shortcutForEvent
  • eventName: string
{ modifiers: [int], key: int or specialKey: int } Returns the shortcut key combination for the given event name.

The following constants for special keys are predefined:

  SpecialKey.upArrow
  SpecialKey.downArrow
  SpecialKey.leftArrow
  SpecialKey.rightArrow
  SpecialKey.carriageReturn
  SpecialKey.enter
  SpecialKey.delete
  SpecialKey.tab
  SpecialKey.backspace
  SpecialKey.home
  SpecialKey.end
  SpecialKey.pageUp
  SpecialKey.pageDown
  SpecialKey.help
  SpecialKey.f1
  SpecialKey.f2
  SpecialKey.f3
  SpecialKey.f4
  SpecialKey.f5
  SpecialKey.f6
  SpecialKey.f7
  SpecialKey.f8
  SpecialKey.f9
  SpecialKey.f10
  SpecialKey.f11
  SpecialKey.f12
  SpecialKey.f13
  SpecialKey.f14
  SpecialKey.f15
  SpecialKey.f16
  SpecialKey.f17
  SpecialKey.f18
  SpecialKey.f19
  SpecialKey.f20

The following constants for modifier flags are predefined:

  ModifierFlags.capsLock
  ModifierFlags.shift
  ModifierFlags.control
  ModifierFlags.option
  ModifierFlags.command
  ModifierFlags.numericPad
  ModifierFlags.help
  ModifierFlags.function

The following constants are predefined for event names:

  Events.navigateBack
  Events.navigateToParent
  Events.showFileInfos
  Events.showActionBar
  Events.showOrHideHiddenFiles
  Events.reloadDirectoryContents
  Events.renameSelectedFile
  Events.moveSelectedFilesToBin
  Events.deleteSelectedFiles
  Events.deleteFavorite
  Events.ejectVolume
  Events.pasteFiles
  Events.copyFiles
  Events.cutFiles
  Events.toggleSidebar

Application

The object Application provides access to the state of Navigator via the following functions.

Application.keyWindow() -> Window

Returns the key window of Navigator, otherwise nil.

Application.windows() -> int

Returns the number of open windows.

Aplication.window(int) -> Window

Returns the window with the given index, otherwise nil.

Window.title() -> string

Return the title of the window.

Window.selectedFiles() -> [string]

Return the selected files in this window.

Licenses

Icons

FileshareIcon

Smooth Leopard Icons

made by Susumu Yoshida (Copyright © 2009 McDo DESIGN.com) http://www.mcdodesign.com/

Dependencies

Apple Sample Code

Copyright © Apple Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Causality

https://github.com/dannys42/Causality.git

Copyright 2020 Danny Sung

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

DSFActionBar

https://github.com/dagronf/DSFQuickActionBar

MIT License

Copyright (c) 2022 Darren Ford

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Magnet

https://github.com/Clipy/Magnet

The MIT License (MIT)

Copyright (c) 2015-2020 Clipy Project

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

SnapKit

https://github.com/SnapKit

Copyright (c) 2011-Present SnapKit Team

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Navigator is a Finder replacement for macOS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0