├── .github ├── dependabot.yml └── workflows │ ├── ci.yml │ └── pages.yml ├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── _includes ├── head_custom.html └── search_placeholder_custom.html ├── _layouts └── landing.html ├── assets └── images │ ├── 0.9.3 │ ├── Plugin_Calc.png │ ├── color-scheme-gif │ │ ├── 2024-12-02_11-52_5y28un2fr.png │ │ ├── 2024-12-02_11-52_6kwkd6gvc.png │ │ ├── 2024-12-02_11-52_7kelv2f40.png │ │ ├── 2024-12-02_11-52_hb4otl56u.png │ │ ├── 2024-12-02_11-52_hl90ed48o.png │ │ ├── 2024-12-02_11-52_kfjrhb84l.png │ │ └── 2024-12-02_11-53_pfjencts9.png │ ├── color-schemes.gif │ ├── paste-bibtex.png │ ├── plugin_discoverability.png │ └── rm_google_calendar.png │ ├── Plugin_Clip.png │ ├── Plugin_Emoji.png │ ├── Plugin_Math.png │ ├── Plugin_RemindMe.png │ ├── Plugin_Start.png │ ├── Plugin_Translator.png │ ├── Windows_Warning.png │ ├── favicon.ico │ ├── icon.png │ ├── macos-accessibility.png │ ├── macos-instructions.png │ ├── title_image.afdesign │ ├── title_image.png │ ├── title_image_background.png │ ├── title_image_background_v0.9.3.png │ ├── title_image_background_wide.png │ └── title_image_shots │ ├── 2024-12-01_16-36_2n45qo2es.png │ ├── 2024-12-01_16-36_6m864xy4p.png │ ├── 2024-12-01_16-36_bka0t7p9y.png │ ├── 2024-12-01_16-36_sahlht5ey.png │ ├── 2024-12-01_16-37_6wl5ox384.png │ ├── 2024-12-01_16-37_qiujt600y.png │ ├── plugin-description.txt │ ├── plugin_clip.png │ ├── plugin_emoji.png │ ├── plugin_math.png │ ├── plugin_rm.png │ ├── plugin_start.png │ ├── plugin_translate.png │ └── what_i_did.md ├── docs ├── beta.md ├── color_schemes.md ├── directories.md ├── getting_started.md ├── installation.md ├── keymap.md ├── plugins │ ├── calc.md │ ├── clip.md │ ├── emoji.md │ ├── math.md │ ├── plugins.md │ ├── remindme.md │ ├── start.md │ └── translate.md └── settings.md └── index.md /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: bundler 4 | directory: / 5 | schedule: 6 | interval: daily 7 | allow: 8 | - dependency-type: direct 9 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: ["main"] 6 | pull_request: 7 | 8 | jobs: 9 | # Build job 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4 15 | - name: Setup Ruby 16 | uses: ruby/setup-ruby@v1 17 | with: 18 | ruby-version: '3.3' # Not needed with a .ruby-version file 19 | bundler-cache: true # runs 'bundle install' and caches installed gems automatically 20 | cache-version: 0 # Increment this number if you need to re-download cached gems 21 | - name: Build with Jekyll 22 | run: bundle exec jekyll build 23 | -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. 2 | # They are provided by a third-party and are governed by 3 | # separate terms of service, privacy policy, and support 4 | # documentation. 5 | 6 | # Sample workflow for building and deploying a Jekyll site to GitHub Pages 7 | name: Deploy Jekyll site to Pages 8 | 9 | on: 10 | push: 11 | branches: ["main"] 12 | 13 | # Allows you to run this workflow manually from the Actions tab 14 | workflow_dispatch: 15 | 16 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 17 | permissions: 18 | contents: read 19 | pages: write 20 | id-token: write 21 | 22 | # Allow one concurrent deployment 23 | concurrency: 24 | group: "pages" 25 | cancel-in-progress: true 26 | 27 | jobs: 28 | # Build job 29 | build: 30 | runs-on: ubuntu-latest 31 | steps: 32 | - name: Checkout 33 | uses: actions/checkout@v4 34 | - name: Setup Ruby 35 | uses: ruby/setup-ruby@v1 36 | with: 37 | ruby-version: '3.3' # Not needed with a .ruby-version file 38 | bundler-cache: true # runs 'bundle install' and caches installed gems automatically 39 | cache-version: 0 # Increment this number if you need to re-download cached gems 40 | - name: Setup Pages 41 | id: pages 42 | uses: actions/configure-pages@v5 43 | - name: Build with Jekyll 44 | # Outputs to the './_site' directory by default 45 | run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" 46 | env: 47 | JEKYLL_ENV: production 48 | - name: Upload artifact 49 | # Automatically uploads an artifact from the './_site' directory by default 50 | uses: actions/upload-pages-artifact@v3 51 | 52 | # Deployment job 53 | deploy: 54 | environment: 55 | name: github-pages 56 | url: ${{ steps.deployment.outputs.page_url }} 57 | runs-on: ubuntu-latest 58 | needs: build 59 | steps: 60 | - name: Deploy to GitHub Pages 61 | id: deployment 62 | uses: actions/deploy-pages@v4 63 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Not sure what a .gitignore is? 2 | # See: https://git-scm.com/docs/gitignore 3 | 4 | # These are directly copied from Jekyll's first-party docs on `.gitignore` files: 5 | # https://jekyllrb.com/tutorials/using-jekyll-with-bundler/#commit-to-source-control 6 | 7 | # Ignore the default location of the built site, and caches and metadata generated by Jekyll 8 | _site/ 9 | .sass-cache/ 10 | .jekyll-cache/ 11 | .jekyll-metadata 12 | 13 | # Ignore folders generated by Bundler 14 | .bundle/ 15 | vendor/ 16 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: 404 4 | permalink: /404 5 | nav_exclude: true 6 | search_exclude: true 7 | --- 8 | 9 |

Page not found

10 | 11 |

The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this site's home page.

12 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem "jekyll", "~> 4.3.3" # installed by `gem jekyll` 4 | # gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2 5 | 6 | gem "just-the-docs", "0.9.0" # pinned to the current release 7 | # gem "just-the-docs" # always download the latest release 8 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.8.7) 5 | public_suffix (>= 2.0.2, < 7.0) 6 | bigdecimal (3.1.8) 7 | colorator (1.1.0) 8 | concurrent-ruby (1.3.4) 9 | em-websocket (0.5.3) 10 | eventmachine (>= 0.12.9) 11 | http_parser.rb (~> 0) 12 | eventmachine (1.2.7) 13 | ffi (1.17.0-arm64-darwin) 14 | ffi (1.17.0-x64-mingw-ucrt) 15 | ffi (1.17.0-x86_64-linux-gnu) 16 | forwardable-extended (2.6.0) 17 | google-protobuf (4.27.3-arm64-darwin) 18 | bigdecimal 19 | rake (>= 13) 20 | google-protobuf (4.27.3-x64-mingw-ucrt) 21 | bigdecimal 22 | rake (>= 13) 23 | google-protobuf (4.27.3-x86_64-linux) 24 | bigdecimal 25 | rake (>= 13) 26 | http_parser.rb (0.8.0) 27 | i18n (1.14.5) 28 | concurrent-ruby (~> 1.0) 29 | jekyll (4.3.3) 30 | addressable (~> 2.4) 31 | colorator (~> 1.0) 32 | em-websocket (~> 0.5) 33 | i18n (~> 1.0) 34 | jekyll-sass-converter (>= 2.0, < 4.0) 35 | jekyll-watch (~> 2.0) 36 | kramdown (~> 2.3, >= 2.3.1) 37 | kramdown-parser-gfm (~> 1.0) 38 | liquid (~> 4.0) 39 | mercenary (>= 0.3.6, < 0.5) 40 | pathutil (~> 0.9) 41 | rouge (>= 3.0, < 5.0) 42 | safe_yaml (~> 1.0) 43 | terminal-table (>= 1.8, < 4.0) 44 | webrick (~> 1.7) 45 | jekyll-include-cache (0.2.1) 46 | jekyll (>= 3.7, < 5.0) 47 | jekyll-sass-converter (3.0.0) 48 | sass-embedded (~> 1.54) 49 | jekyll-seo-tag (2.8.0) 50 | jekyll (>= 3.8, < 5.0) 51 | jekyll-watch (2.2.1) 52 | listen (~> 3.0) 53 | just-the-docs (0.9.0) 54 | jekyll (>= 3.8.5) 55 | jekyll-include-cache 56 | jekyll-seo-tag (>= 2.0) 57 | rake (>= 12.3.1) 58 | kramdown (2.4.0) 59 | rexml 60 | kramdown-parser-gfm (1.1.0) 61 | kramdown (~> 2.0) 62 | liquid (4.0.4) 63 | listen (3.9.0) 64 | rb-fsevent (~> 0.10, >= 0.10.3) 65 | rb-inotify (~> 0.9, >= 0.9.10) 66 | mercenary (0.4.0) 67 | pathutil (0.16.2) 68 | forwardable-extended (~> 2.6) 69 | public_suffix (6.0.1) 70 | rake (13.2.1) 71 | rb-fsevent (0.11.2) 72 | rb-inotify (0.11.1) 73 | ffi (~> 1.0) 74 | rexml (3.3.5) 75 | strscan 76 | rouge (4.3.0) 77 | safe_yaml (1.0.5) 78 | sass-embedded (1.77.8-arm64-darwin) 79 | google-protobuf (~> 4.26) 80 | sass-embedded (1.77.8-x64-mingw-ucrt) 81 | google-protobuf (~> 4.26) 82 | sass-embedded (1.77.8-x86_64-linux-gnu) 83 | google-protobuf (~> 4.26) 84 | strscan (3.1.0) 85 | terminal-table (3.0.2) 86 | unicode-display_width (>= 1.1.1, < 3) 87 | unicode-display_width (2.5.0) 88 | webrick (1.8.1) 89 | 90 | PLATFORMS 91 | arm64-darwin 92 | x64-mingw-ucrt 93 | x86_64-linux-gnu 94 | 95 | DEPENDENCIES 96 | jekyll (~> 4.3.3) 97 | just-the-docs (= 0.9.0) 98 | 99 | BUNDLED WITH 100 | 2.5.9 101 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Terms of Agreement 2 | 3 | 1. Acceptance of Terms 4 | 5 | By downloading, installing, or using this software application ("Smartclip"), you agree to be bound by these Terms of Agreement ("Terms"). If you do not agree to these Terms, do not download, install, or use Smartclip. 6 | 7 | 2. License 8 | 9 | You are granted a non-exclusive, non-transferable, revocable license to use Smartclip for your personal, non-commercial use only, in accordance with these Terms. 10 | 11 | 3. Restrictions 12 | 13 | You agree not to: 14 | 15 | Modify, alter, adapt, translate, or create derivative works of Smartclip. 16 | Decompile, reverse-engineer, disassemble, or otherwise attempt to derive the source code of Smartclip. 17 | Use any part of Smartclip in another software or application. 18 | Redistribute, sublicense, rent, lease, sell, or otherwise transfer Smartclip to any third party. 19 | Use Smartclip for any purpose other than your personal use. 20 | 21 | 4. Ownership 22 | 23 | All rights, title, and interest in and to Smartclip, including all intellectual property rights, are and will remain the exclusive property of the creator of Smartclip. 24 | 25 | 5. Disclaimer of Warranties 26 | 27 | Smartclip is provided "as is" and "as available," without any warranties of any kind, either express or implied. To the fullest extent permitted by law, the creator of Smartclip disclaims all warranties, including but not limited to, implied warranties of merchantability, fitness for a particular purpose, and non-infringement. 28 | 29 | 6. Limitation of Liability 30 | 31 | To the fullest extent permitted by law, in no event shall the creator of Smartclip be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses, resulting from: 32 | 33 | Your use or inability to use Smartclip. 34 | Any unauthorized access to or use of Smartclip. 35 | Any interruption or cessation of transmission to or from Smartclip. 36 | Any bugs, viruses, Trojan horses, or the like that may be transmitted to or through Smartclip by any third party. 37 | 38 | 7. Indemnification 39 | 40 | You agree to indemnify and hold harmless the creator of Smartclip from any claims, damages, liabilities, losses, or expenses (including reasonable attorneys' fees) arising out of or related to your use of Smartclip or violation of these Terms. 41 | 42 | 8. Governing Law 43 | 44 | These Terms shall be governed by and construed in accordance with the laws of Germany, without regard to its conflict of law principles. 45 | 46 | 9. Severability 47 | 48 | If any provision of these Terms is held to be invalid or unenforceable, the remaining provisions will remain in full force and effect. 49 | 50 | 10. Changes to Terms 51 | 52 | The creator of Smartclip reserves the right to modify these Terms at any time. Your continued use of Smartclip following any changes indicates your acceptance of the new Terms. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ![Smartclip](./assets/images/title_image_background_v0.9.3.png) 3 | 4 | Smartclip is a versatile tool designed to streamline workflows by offering quick access to various utilities through a user-friendly interface. Similar to popular application launchers like Apple's Spotlight, Celebro, and Albert, Smartclip goes beyond basic search functions by integrating a range of specialized plugins. These plugins empower users to efficiently manage clipboard content, handle mathematical expressions, launch applications, translate text, and much more, all with minimal effort. Each plugin is carefully crafted to enhance productivity, making Smartclip a powerful companion for both everyday tasks and more complex workflows. 5 | 6 | 7 | ## Documentation 8 | 9 | You can find the Documentation [on the Website](https://muelphil.github.io/smartclip/docs/installation.html) 10 | 11 | ## Beta 12 | Smartclip is currently in beta, Version 0.9.3 will be valid until 31/05/2025, I will extend the duration based on the feedback. 13 | 14 | Smartclip is available for Linux (with restrictions, see section Linux), Window and MacOs. 15 | 16 | I greatly appreciate any kind of feedback, feature requests and bug reports. To do so please create an [Github Issue](https://github.com/muelphil/smartclip/issues). 17 | 18 | ## Installation 19 | 20 | By downloading and installing Smartclip, you agree to the [Terms of Agreement](https://github.com/muelphil/smartclip/blob/main/LICENSE). 21 | 22 | To install Smartclip head to either the [Website](https://muelphil.github.io/smartclip/) or the [Releases Page of the Github Repository](https://github.com/muelphil/smartclip/releases) and download the latest installer. 23 | - Windows: [`smartclip-0.9.3-windows.exe`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-windows.exe) 24 | - Linux: [`smartclip-0.9.3-linux-amd64.deb`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-linux-amd64.deb) 25 | - MacOs: [`smartclip-0.9.3-macos.dmg`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-macos.dmg) 26 | 27 | As of now the source code for Smartclip is not publicly available. 28 | 29 | ### Windows 30 | 31 | Please note that upon installation you will get prompted with a warning: 32 | 33 | ![Windows Warning](./assets/images/Windows_Warning.png) 34 | 35 | This will go away after a sufficient number of Windows users have installed Smartclip. The only other way for me to stop this message from coming up is paying somewhere around 1000$ to Microsoft for a license, which is currently not an option. 36 | 37 | After clicking "Run anyway..." simply follow the instructions of the Installer. 38 | 39 | ### Linux 40 | 41 | Please note that this tool will only work under non wayland display managers, like X11. To check if you are running on wayland type `echo $XDG_SESSION_TYPE` into your terminal, in case of running on wayland display manager this will yield `wayland`. 42 | 43 | The Reason is that wayland prohibits sending keystrokes across windows, which makes it impossible to send a paste event, which is necessary for pasting clipboard entries, translations, and emojis. 44 | 45 | For Ubuntu, right-click the `.deb` installer file and choose `Open with Software Install`. Depending on your operating system version, this may vary. 46 | 47 | You can also install it via Command line using 48 | ```shell 49 | cd ~/Downloads/ 50 | sudo dpkg -i ./smartclip--linux-amd64.deb 51 | ``` 52 | 53 | If you have a previous version of Smartclip installed you can uninstall it using 54 | ```shell 55 | sudo dpkg -r smartclip 56 | ``` 57 | 58 | For other Linux distributions please consult the Internet on how to install `.deb` files. 59 | 60 | ### MacOs 61 | 62 | As this app is still in beta and I currently don't have the financial means to pay for an Apple Developer Account, this app isn't signed by Apple. 63 | This means, that for installation you need to bypass the Security Settings: 64 | 65 | #### [Open a Mac app from an unknown developer](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unknown-developer-mh40616/mac) 66 | 1. Attempt to install the App by downloading the .deb file, double clicking it and dragging the Smarclip icon into the Applications folder. MacOs will initially block this. 67 | 2. On your Mac, choose `Apple menu > System Settings`, then click `Privacy & Security` in the sidebar. 68 | 2. Scroll down to Security, find the section notifying you about the attempted installation of Smartclip, then click Open. 69 | 3. Click Open Anyway. (This button is available for about an hour after you try to open the app) 70 | 5. Enter your login password, then click OK. 71 | 72 | 73 | ![MacOs Instructions](./assets/images/macos-instructions.png) 74 | 75 | You might need to enable Accessibility features on MacOs, which Smartclip uses to send paste events to the system. You can also find this in the System Settings 76 | ![MacOs Accessibility](./assets/images/macos-accessibility.png) 77 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Smartclip 2 | description: Tool Documentation # TODO 3 | theme: just-the-docs 4 | 5 | # Aux links for the upper right navigation 6 | aux_links: 7 | "Smartclip GitHub Page": 8 | - "//github.com/muelphil/smartclip" 9 | 10 | # External navigation links 11 | nav_external_links: 12 | - title: Smartclip GitHub Page 13 | url: https://github.com/muelphil/smartclip 14 | 15 | color_scheme: "dark" 16 | 17 | defaults: 18 | - 19 | scope: 20 | path: "docs" # an empty string here means all files in the project 21 | type: "pages" 22 | values: 23 | layout: "default" 24 | 25 | footer_content: "Copyright © 2024 Philip Müller. Application Icon made by Freepik." 26 | 27 | favicon_ico: "/assets/images/favicon.ico" 28 | 29 | url: 'https://muelphil.github.io/' # your main domain 30 | baseurl: 'smartclip/' # if you're using custom domain keep this blank example: baseurl: '' 31 | -------------------------------------------------------------------------------- /_includes/head_custom.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_includes/search_placeholder_custom.html: -------------------------------------------------------------------------------- 1 | Search {{site.title}} Documentation 2 | -------------------------------------------------------------------------------- /_layouts/landing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Smartclip 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |

Smartclip

24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | 93 | 94 | -------------------------------------------------------------------------------- /assets/images/0.9.3/Plugin_Calc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/Plugin_Calc.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_5y28un2fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_5y28un2fr.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_6kwkd6gvc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_6kwkd6gvc.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_7kelv2f40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_7kelv2f40.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_hb4otl56u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_hb4otl56u.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_hl90ed48o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_hl90ed48o.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_kfjrhb84l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-52_kfjrhb84l.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-scheme-gif/2024-12-02_11-53_pfjencts9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-scheme-gif/2024-12-02_11-53_pfjencts9.png -------------------------------------------------------------------------------- /assets/images/0.9.3/color-schemes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/color-schemes.gif -------------------------------------------------------------------------------- /assets/images/0.9.3/paste-bibtex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/paste-bibtex.png -------------------------------------------------------------------------------- /assets/images/0.9.3/plugin_discoverability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/plugin_discoverability.png -------------------------------------------------------------------------------- /assets/images/0.9.3/rm_google_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/0.9.3/rm_google_calendar.png -------------------------------------------------------------------------------- /assets/images/Plugin_Clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_Clip.png -------------------------------------------------------------------------------- /assets/images/Plugin_Emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_Emoji.png -------------------------------------------------------------------------------- /assets/images/Plugin_Math.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_Math.png -------------------------------------------------------------------------------- /assets/images/Plugin_RemindMe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_RemindMe.png -------------------------------------------------------------------------------- /assets/images/Plugin_Start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_Start.png -------------------------------------------------------------------------------- /assets/images/Plugin_Translator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Plugin_Translator.png -------------------------------------------------------------------------------- /assets/images/Windows_Warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/Windows_Warning.png -------------------------------------------------------------------------------- /assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/favicon.ico -------------------------------------------------------------------------------- /assets/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/icon.png -------------------------------------------------------------------------------- /assets/images/macos-accessibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/macos-accessibility.png -------------------------------------------------------------------------------- /assets/images/macos-instructions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/macos-instructions.png -------------------------------------------------------------------------------- /assets/images/title_image.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image.afdesign -------------------------------------------------------------------------------- /assets/images/title_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image.png -------------------------------------------------------------------------------- /assets/images/title_image_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_background.png -------------------------------------------------------------------------------- /assets/images/title_image_background_v0.9.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_background_v0.9.3.png -------------------------------------------------------------------------------- /assets/images/title_image_background_wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_background_wide.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-36_2n45qo2es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-36_2n45qo2es.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-36_6m864xy4p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-36_6m864xy4p.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-36_bka0t7p9y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-36_bka0t7p9y.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-36_sahlht5ey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-36_sahlht5ey.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-37_6wl5ox384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-37_6wl5ox384.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/2024-12-01_16-37_qiujt600y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/2024-12-01_16-37_qiujt600y.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin-description.txt: -------------------------------------------------------------------------------- 1 | 2 | Clipboard 3 | The Clipboard Manager allows users to store and retrieve clipboard entries, enhancing productivity by providing easy access to previously copied items for reuse in text input fields. 4 | Installed Plugins 5 | 6 | Start 7 | The Start Plugin allows users to quickly search for and start installed applications, as well as locate files within predefined, indexed directories. This plugin streamlines workflow by providing fast and efficient access to essential programs and documents. 8 | 9 | Translator 10 | The Translation Plugin simplifies and accelerates translations with a single shortcut key, allowing users to instantly translate and paste words in various languages. This plugin enhances efficiency, making translation effortless and seamless. 11 | 12 | Emoji Picker 13 | The Emoji Picker Plugin enables users to effortlessly browse and select emojis, enhancing text input fields with a fun and expressive touch. Seamlessly integrated and easy to use, it enriches user interactions within your application. 14 | 15 | Remind Me 16 | The RemindMe Plugin enables users to set reminders effortlessly by typing a date and/or time in natural language followed by a task. This intuitive yet minimalistic plugin simplifies task management, ensuring you never miss anything important. 17 | 18 | Math 19 | The Math Plugin enables users to convert LaTeX input into SVG, PNG, or Unicode math formulas, providing a versatile tool for pasting beautifully rendered mathematical expressions. With support for MathJax and PdfLatex (if installed), this plugin enhances text with precise and visually appealing math content. -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_clip.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_emoji.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_math.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_math.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_rm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_rm.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_start.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/plugin_translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muelphil/smartclip/15f71191dd84ae5ec5db6c08da8e5fa2f5483bfd/assets/images/title_image_shots/plugin_translate.png -------------------------------------------------------------------------------- /assets/images/title_image_shots/what_i_did.md: -------------------------------------------------------------------------------- 1 | ```js 2 | startService.applications = startService.applications.filter(e => ['Firefox', 'Word', 'Excel','IntelliJ IDEA 2023.3'].indexOf(e.name) !== -1).slice(0, 4) 3 | ``` 4 | 5 | ```js 6 | const themes = ['beach', 'coral-teal-night', 'road-work', 'lavender-haze', 'jungle-green', 'portal', 'burgundy-gold-twilight']; 7 | let i = 0; 8 | setInterval(() => { 9 | theme = themes[i % themes.length]; 10 | window.settings.base.colorScheme = theme; 11 | i = i+1; 12 | }, 2000) 13 | ``` 14 | 15 | https://ezgif.com/maker/ -------------------------------------------------------------------------------- /docs/beta.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Issues and Feature Requests 3 | nav_order: 10 4 | --- 5 | # Issues and Feature Requests 6 | 7 | Smartclip is currently in beta. The preview is available via [Releases](https://github.com/muelphil/smartclip/releases/new). Version 0.9.3 will be available until 31/05/2025. 8 | 9 | Smartclip is available for Linux (with restrictions, see section Linux), Window and MacOs. 10 | 11 | I greatly appreciate any kind of feedback, feature requests, and bug reports. To do so, please create a [Github Issue](https://github.com/muelphil/smartclip/issues). -------------------------------------------------------------------------------- /docs/color_schemes.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Color Schemes 3 | nav_order: 6 4 | --- 5 | 6 | # Color Schemes 7 | 8 | Here's the revised version of your documentation with clearer, more precise language: 9 | 10 | --- 11 | 12 | # Color Schemes 13 | 14 | ## Generator 15 | To create custom color schemes for Smartclip, visit the [Smartclip Color Scheme Generator](https://muelphil.github.io/smartclip-color-scheme-generator/). 16 | 17 | The generator allows you to explore and modify existing color schemes or design a completely new one. 18 | 19 | ### Features 20 | - **Customize Colors**: Set individual colors for the background, primary, and text. Matching shades are generated automatically. 21 | - **Randomization**: Try your luck with the **Random** button to generate random colors for the background, primary, or text. 22 | - **Use AI for Themes**: 23 | - Select a theme you like and copy its CSS variables. 24 | - Provide these variables to ChatGPT along with your desired modifications or colors. 25 | - Paste the AI-generated result back into the generator to preview the outcome. 26 | 27 | ### Saving and Using Your Theme 28 | - **Name Your Theme**: Always assign a name to your theme for easy identification. 29 | 30 | #### Apply Your Theme directly in Smartclip 31 | 32 | Click **Open in Smartclip** to directly load the theme into Smartclip. Ensure Smartclip is installed and running before using this feature. The theme will be saved as a user scheme. 33 | 34 | #### Manually Download Your Theme 35 | - Save the theme as a `.css` file. 36 | - Place the downloaded file in the `.smartclip/color-schemes` directory. (The `.smartclip` folder is typically located in your home directory.) 37 | - Restart Smartclip to find the new theme in the settings. 38 | 39 | ### Naming Guidelines 40 | If you rename your theme after downloading, ensure the name uses **kebab-case** (e.g., `coral-teal.css`) for compatibility. 41 | 42 | With these tools, you can easily create and manage personalized themes for Smartclip! 43 | -------------------------------------------------------------------------------- /docs/directories.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Application Directories 3 | nav_order: 3 4 | --- 5 | 6 | # Application Directories 7 | 8 | Additionally, to the Application files you previouly installed, Smartclip will create a `.smartclip` directory in your home path. There, smartclip will store settings, log files, cache plugin data and allow you to provide custom media for usage in the app. 9 | 10 | -------------------------------------------------------------------------------- /docs/getting_started.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Getting Started 3 | nav_order: 2 4 | --- 5 | 6 | # Getting Started 7 | 8 | After the Installation, Smartclip will either get started by the installer or you can start it manually. Notice that Smartclip starts in the background. On first startup, Smartclip might take a while to boot, as it is indexing the applications on your computer. This may take up to a couple of minutes. 9 | 10 | To open Smartclip you can either right-click the Icon in the Taskbar and choose `Show` or you can use the predefined keymaps to open specific Plugins directly: 11 | - `Super` + `Space`: Start Plugin 12 | - `Super` + `V`: Clipboard Plugin 13 | - `Super` + `.`: Emoji Picker Plugin 14 | - `Ctr` + `Shift` + `L`: Language Plugin 15 | 16 | Smartclip is an extensible Launcher that consists of a prompt or search input at the top and a plugin view at the bottom, that is occupied by the currently activated plugin. You can see which plugin is currently activated on the very left of the search bar. To go back to the default plugin (currently set to the clipboard manager), you can simply press return while the caret is at the very front. To navigate to different plugins from the default plugin, simply type in the ID of the desired plugin followed by a `Space`. The following plugins are currently available: 17 | 18 | - `clip`: Clipboard Manager (default plugin) 19 | - `tl`: Translation Plugin 20 | - `start`: Application Launcher/ File Explorer 21 | - `emoji`: Emoji Picker 22 | - `math`: Math Expressions 23 | - `rm`: Reminder Plugin 24 | - `settings`: Settings (can also be accessed by pressing the screw icon) 25 | 26 | To get more information about the Plugins and how to use them, browse the designated Plugin Documentation. 27 | 28 | You can hide Smartclip by pressing `Escape`. -------------------------------------------------------------------------------- /docs/installation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Installation 3 | nav_order: 1 4 | --- 5 | 6 | # Installation 7 | 8 | By downloading and installing Smartclip, you agree to the [Terms of Agreement](https://github.com/muelphil/smartclip/blob/main/LICENSE). 9 | 10 | To install Smartclip head to either the [Website](https://muelphil.github.io/smartclip/) or the [Releases Page of the Github Repository](https://github.com/muelphil/smartclip/releases) and download the latest installer. 11 | - Windows: [`smartclip-0.9.3-windows.exe`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-windows.exe) 12 | - Linux: [`smartclip-0.9.3-linux-amd64.deb`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-linux-amd64.deb) 13 | - MacOs: [`smartclip-0.9.3-macos.dmg`](https://github.com/muelphil/smartclip/releases/download/v0.9.3-beta/smartclip-0.9.3-macos.dmg) 14 | 15 | As of now the source code for Smartclip is not publicly available. 16 | 17 | ## Windows 18 | 19 | Please note that upon installation you will get prompted with a warning: 20 | 21 | 22 | 23 | This will go away after a sufficient number of Windows users have installed Smartclip. The only other way for me to stop this message from coming up is paying somewhere around 1000$ to Microsoft for a license, which is currently not an option. 24 | 25 | After clicking "Run anyway..." simply follow the instructions of the Installer. 26 | 27 | ## Linux 28 | 29 | Please note that this tool will only work under non wayland display managers, like X11. To check if you are running on wayland type `echo $XDG_SESSION_TYPE` into your terminal, in case of running on wayland display manager this will yield `wayland`. 30 | 31 | The Reason is that wayland prohibits sending keystrokes across windows, which makes it impossible to send a paste events, which is necessary for pasting clipboard entries, translations, and emojis. 32 | 33 | For Ubuntu, right-click the `.deb` installer file and choose `Open with Software Install`. Depending on your operating system version, this may vary. 34 | 35 | You can also install it via Command line using 36 | ```shell 37 | cd ~/Downloads/ 38 | sudo dpkg -i ./smartclip--linux-amd64.deb 39 | ``` 40 | 41 | If you have a previous version of Smartclip installed you can uninstall it using 42 | ```shell 43 | sudo dpkg -r smartclip 44 | ``` 45 | 46 | For other Linux distributions please consult the Internet on how to install `.deb` files. 47 | 48 | ## MacOs 49 | 50 | As this app is still in beta and I currently don't have the financial means to pay for an Apple Developer Account, this app isn't signed by Apple. 51 | This means, that for installation you need to bypass the Security Settings: 52 | 53 | ### [Open a Mac app from an unknown developer](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unknown-developer-mh40616/mac) 54 | 1. Attempt to install the App by downloading the .deb file, double clicking it and dragging the Smarclip icon into the Applications folder. MacOs will initially block this. 55 | 2. On your Mac, choose `Apple menu > System Settings`, then click `Privacy & Security` in the sidebar. 56 | 2. Scroll down to Security, find the section notifying you about the attempted installation of Smartclip, then click Open. 57 | 3. Click Open Anyway. (This button is available for about an hour after you try to open the app) 58 | 5. Enter your login password, then click OK. 59 | 60 | 61 | 62 | You might need to enable Accessibility features on MacOs, which Smartclip uses to send paste events to the system. You can also find this in the System Settings 63 | 64 | -------------------------------------------------------------------------------- /docs/keymap.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Keymap 3 | parent: Settings 4 | nav_order: 4 5 | --- 6 | 7 | # Keymap 8 | 9 | You can register custom hotkeys to open the plugins in the Keymap setting. To create a new hotkey, simply press the `+` button. Then specify the plugin, the action and the hotkey. 10 | 11 | In the Installed Plugins section, you’ll find the IDs for each plugin in the upper right corner. 12 | 13 | For actions, you can choose between `Open Plugin` (this simply opens the desired plugin) and `Open current selection in Plugin`, which will copy the current selection in any other app and load it into the search bar of Smartclip. 14 | 15 | To input hotkeys that are currently bound to system functions and would close Smartclip, simply just input the desired key without modifies like `Ctrl` or `Super` and activate the modifiers by clicking them. After that, you can submit the hotkey. 16 | 17 | ## Linux 18 | 19 | Please also note that key combinations work via setting custom gnome settings key combinations. If you want to override system behavior, you need to go to `Settings -> Keyboard -> View and Customize Shortcuts` and remove the default system behavior attached to the key combinations you want to -------------------------------------------------------------------------------- /docs/plugins/calc.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Calculator 3 | parent: Plugins 4 | nav_order: 7 5 | --- 6 | 7 | # Calculator Plugin Documentation 8 | 9 | The Calculator is a powerful tool built on [Math.js](https://mathjs.org/), offering quick and advanced mathematical computations. It supports a wide range of features, from simple arithmetic to unit conversions and variable handling. 10 | 11 | ## **Features** 12 | 13 | ### **1. Perform Advanced Calculations** 14 | Use the calculator to handle: 15 | - Basic arithmetic: `5 + 3`, `12 / 4` 16 | - Trigonometry: `sin(30°)`, `cos(pi/3)` 17 | - Statistics: `mean(5, 10, 15)`, `std(4, 7, 9)` 18 | - Complex numbers: `2 + 3i`, `abs(3 + 4i)` 19 | - And more advanced mathematical functions provided by Math.js. 20 | 21 | ### **2. Work with Variables** 22 | - Assign variables within calculations, e.g., `x = 5`, `y = x * 2`. 23 | - Refer to the **last result** using `ans`. For example: 24 | ``` 25 | 5 * 2 26 | ans + 3 27 | ``` 28 | - Access specific results using `$` notation, where `` corresponds to the calculation's position in the history. For example: 29 | ``` 30 | $3 * 2 31 | ``` 32 | (Fetches the result from the third calculation.) 33 | 34 | ### **3. Modify Previous Calculations** 35 | Easily revisit and adjust past calculations by clicking on them in the history. This allows you to refine inputs and recalculate effortlessly. 36 | 37 | ### **4. Convert Between Units** 38 | Seamlessly convert between various units of measurement. Examples include: 39 | - Length: `5 cm to inches` 40 | - Weight: `10 kg to pounds` 41 | - Time: `2 hours to minutes` 42 | - Temperature: `100 °C to °F` 43 | - Volume: `1 liter to gallons` 44 | 45 | ### **5. Interactive Interface** 46 | - Calculation history is preserved, making it easy to track and reuse results. 47 | - The plugin highlights errors and offers suggestions for corrections. -------------------------------------------------------------------------------- /docs/plugins/clip.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Clipboard Manager 3 | parent: Plugins 4 | nav_order: 1 5 | --- 6 | 7 | # Clipboard Manager 8 | 9 | 10 | The Clipboard Manager allows users to store and reuse copied content, enhancing productivity. It detects different types of text, such as URLs, email addresses, math expressions, and code. Select an entry and press `Enter` to paste it. 11 | 12 | 13 | 14 | ## Entry Types 15 | To try out the different types of entries, you can copy the following list items: 16 | 17 | - Plain text: Hello World 18 | - Email addresses: mailadress@provider.com 19 | - URLs: https://maps.app.goo.gl/qZRNZJkDTBcgfEd96 20 | - Math: f(x)=x^2, f:\mathbb{R}\mapsto\mathbb{R} 21 | - Code: `console.log('Hello World')` 22 | - Images: 23 | 24 | 25 | 26 | Different Entry types offer different actions after pressing the menu buttons. 27 | 28 | ### Actions by Entry Type 29 | #### URL Entries 30 | These actions are available for entries recognized as URLs. 31 | 32 | * **Paste as Scientific Reference** 33 | 34 | Generates a formatted scientific citation from the URL metadata and pastes it into the clipboard. Requires title, author, and publication date. 35 | 36 | * **Paste as BibTeX** 37 | 38 | Converts URL metadata into a BibTeX entry and pastes it into the clipboard. Requires title and author information. 39 | 40 | * **Open Link in Browser** 41 | 42 | Opens the URL in the system's default web browser. 43 | 44 | * **Insert with Link Text** 45 | 46 | Inserts the URL as an HTML anchor tag with alternative text. 47 | 48 | * **Paste as Markdown** 49 | 50 | Formats the URL with alternative text as a Markdown link and pastes it into the clipboard. 51 | 52 | #### Email Entries 53 | These actions are available for entries identified as email addresses. 54 | 55 | * **Send Mail to [email address]** 56 | 57 | Opens the default email client to compose a message to the email address. 58 | #### Math Entries 59 | These actions are for entries containing mathematical expressions. 60 | 61 | * **Paste as Unicode** 62 | 63 | Converts the math expression into a readable Unicode format and pastes it into the clipboard. 64 | #### Files and Images 65 | These actions are for entries that include file paths or image data. 66 | 67 | * **Open with Default Application** 68 | 69 | Opens the file or image using the system's default application. 70 | 71 | * **Open with ...** 72 | 73 | Prompts the user to select an application to open the file or image. 74 | 75 | * **Show in File Explorer** 76 | 77 | Opens the file's location in the system's file explorer. 78 | 79 | #### General Text Entries 80 | These actions apply to all text entries. 81 | 82 | * **Paste as Plain-text** 83 | 84 | Pastes the content as plain text without any formatting. 85 | 86 | * **Paste as Markdown** 87 | 88 | Converts HTML content into Markdown format and pastes it. 89 | 90 | ## Tips 91 | Use the star icon to favorite clipboard entries. Favorited entries will remain saved even after restarting your system. You can delete entries by pressing the trashcan icon. 92 | 93 | 94 | ## Keyboard Shortcuts 95 | You can quickly access the Clipboard Manager by pressing `Super` + `V` by default. You can adjust this hotkey in the Settings. 96 | 97 | Access the context menu by pressing `Shift`+`Enter` clicking the three dots, or right-clicking on the entries. The menu provides different actions based on the type of clipboard entry. 98 | 99 | Press `Alt` along with the numbers `1-9` to paste a specific entry. Indicators will appear while you hold `Alt`. -------------------------------------------------------------------------------- /docs/plugins/emoji.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Emoji Picker 3 | parent: Plugins 4 | nav_order: 4 5 | --- 6 | 7 | # Emoji Picker (`emoji`) 8 | 9 | The Emoji Picker Plugin enables users to effortlessly browse and select emojis, enhancing text input fields with a fun and expressive touch. Seamlessly integrated and easy to use, 10 | it enriches user interactions within your application. 11 | 12 | 13 | 14 | ## Features 15 | - use arrow keys to navigate 16 | - use mouse click or enter to paste selected emoji 17 | - use `Alt` + `Enter` or `Alt` + `Mouse Click` to show alternate versions (emojis with alternate versions have a gray border around them) 18 | - use `Shift` + `Enter` or `Shift` + `Mouse Click` to store multiple emojis, press `Delete` to remove one emoji from the stack, press `Enter` to paste all the stored emojis 19 | - search using german or english. The search function uses the suggested words from Whatsapp [that you can find here](https://web.whatsapp.com/emoji_suggestions/en.json) 20 | - Use the skin color and gender radio buttons to select the corresponding alternate of all emojis that have alternates -------------------------------------------------------------------------------- /docs/plugins/math.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Math Expression 3 | parent: Plugins 4 | nav_order: 6 5 | --- 6 | 7 | # Math Expression (`math`) 8 | 9 | 10 | Use this plugin to quickly paste math expressions as PNG, SVG, or even Unicode! This can come in handy when preparing slides or writing emails. 11 | 12 | 13 | 14 | Click on the `Options` slider below the math preview to access various quick settings. 15 | 16 | To use the `pdflatex` processing option, please make sure you have `pdflatex` installed and added to your path. 17 | 18 | The following options are available: 19 | 20 | - Input Type 21 | - LaTeX Math: `f(x)=x^2, f:\mathbb{R}\mapsto\mathbb{R}` 22 | - AsciiMath: `f(x)=x^2, f: RR |-> RR` 23 | - Processing Method 24 | - [MathJax](https://www.mathjax.org/) 25 | - [PdfLatex](https://miktex.org/download) 26 | - Output Type 27 | - PNG 28 | - SVG 29 | - Unicode 30 | - Font Size (important for resolution) 31 | - Resolution (% of pixels per pasted image height, relevant only for pixel graphic output) 32 | - Paste Color 33 | - Display Style 34 | 35 | AsciiMath is an easy-to-write markup language, that allows you to write math expressions more effortlessly in comparison to Latex math expressions. You can read up on it [on the official website](https://asciimath.org/). There is a custom implementation for the transformation of AsciiMath to latex when using it in combination with unicode as output. This implementation is based on the specification [on the official website](https://asciimath.org/). In the following, there is an overview of all symbols: 36 | 37 | Here are the grouped symbols with the LaTeX commands escaped so that the LaTeX code is visible. 38 | 39 | ### Greek Letters 40 | 41 | | AsciiMath Input | LaTeX Output | Unicode Character | 42 | |-----------------|---------------------|-------------------| 43 | | alpha | `\alpha` | α | 44 | | beta | `\beta` | β | 45 | | gamma | `\gamma` | γ | 46 | | delta | `\delta` | δ | 47 | | epsilon | `\epsilon` | ε | 48 | | zeta | `\zeta` | ζ | 49 | | theta | `\theta` | θ | 50 | | iota | `\iota` | ι | 51 | | kappa | `\kappa` | κ | 52 | | lambda | `\lambda` | λ | 53 | | mu | `\mu` | μ | 54 | | nu | `\nu` | ν | 55 | | xi | `\xi` | ξ | 56 | | pi | `\pi` | π | 57 | | rho | `\rho` | ρ | 58 | | sigma | `\sigma` | σ | 59 | | tau | `\tau` | τ | 60 | | upsilon | `\upsilon` | υ | 61 | | phi | `\phi` | φ | 62 | | chi | `\chi` | χ | 63 | | psi | `\psi` | ψ | 64 | | omega | `\omega` | ω | 65 | | Gamma | `\Gamma` | Γ | 66 | | Delta | `\Delta` | Δ | 67 | | Theta | `\Theta` | Θ | 68 | | Lambda | `\Lambda` | Λ | 69 | | Xi | `\Xi` | Ξ | 70 | | Pi | `\Pi` | Π | 71 | | Sigma | `\Sigma` | Σ | 72 | | Upsilon | `\Upsilon` | Υ | 73 | | Phi | `\Phi` | Φ | 74 | | Psi | `\Psi` | Ψ | 75 | | Omega | `\Omega` | Ω | 76 | 77 | ### Basic Operations and Relations 78 | 79 | | AsciiMath Input | LaTeX Output | Unicode Character | 80 | |-----------------|---------------------|-------------------| 81 | | <= | `\leq` | ≤ | 82 | | >= | `\geq` | ≥ | 83 | | != | `\neq` | ≠ | 84 | | === | `\equiv` | ≡ | 85 | | or | `\or` | ∨ | 86 | | not | `\neg` | ¬ | 87 | | implies | `\Rightarrow` | ⇒ | 88 | | iff | `\Leftrightarrow` | ⇔ | 89 | 90 | ### Functions 91 | 92 | | AsciiMath Input | LaTeX Output | Unicode Character | 93 | |-----------------|---------------------|-------------------| 94 | | sqrt | `\sqrt` | √ | 95 | | frac | `\frac` | ⅟ | 96 | | sin | `\sin` | sin | 97 | | cos | `\cos` | cos | 98 | | tan | `\tan` | tan | 99 | | log | `\log` | log | 100 | | ln | `\ln` | ln | 101 | | exp | `\exp` | exp | 102 | 103 | ### Sums and Products 104 | 105 | | AsciiMath Input | LaTeX Output | Unicode Character | 106 | |-----------------|---------------------|-------------------| 107 | | sum | `\sum` | ∑ | 108 | | prod | `\prod` | ∏ | 109 | | int | `\int` | ∫ | 110 | | oint | `\oint` | ∮ | 111 | 112 | ### Other Symbols 113 | 114 | | AsciiMath Input | LaTeX Output | Unicode Character | 115 | |-----------------|---------------------|-------------------| 116 | | infty | `\infty` | ∞ | 117 | | partial | `\partial` | ∂ | 118 | | nabla | `\nabla` | ∇ | 119 | | cdot | `\cdot` | ⋅ | 120 | | times | `\times` | × | 121 | | div | `\div` | ÷ | 122 | | mod | `\mod` | mod | 123 | | perp | `\perp` | ⊥ | 124 | | parallel | `\parallel` | ∥ | 125 | | angle | `\angle` | ∠ | 126 | | triangle | `\triangle` | △ | 127 | | degree | `^{\circ}` | ° | 128 | 129 | Here are the missing tables grouped by category: 130 | 131 | ### Superscripts and Subscripts 132 | 133 | | AsciiMath Input | LaTeX Output | Unicode Character | 134 | |-----------------|---------------------|-------------------| 135 | | `x^2` | `x^{2}` | ² | 136 | | `x_i` | `x_{i}` | x₁ | 137 | 138 | ### Arrows 139 | 140 | | AsciiMath Input | LaTeX Output | Unicode Character | 141 | |-----------------|---------------------|-------------------| 142 | | uarr | `\uparrow` | ↑ | 143 | | darr | `\downarrow` | ↓ | 144 | | rarr | `\rightarrow` | → | 145 | | larr | `\leftarrow` | ← | 146 | | harr | `\leftrightarrow` | ↔ | 147 | | rArr | `\Rightarrow` | ⇒ | 148 | | lArr | `\Leftarrow` | ⇐ | 149 | | hArr | `\Leftrightarrow` | ⇔ | 150 | | `|->` | `\mapsto` | ↦ | 151 | | -> | `\rightarrow` | → | 152 | | <- | `\leftarrow` | ← | 153 | | => | `\Rightarrow` | ⇒ | 154 | | <= | `\leq` | ≤ | 155 | 156 | ### Logical Operators 157 | 158 | | AsciiMath Input | LaTeX Output | Unicode Character | 159 | |-----------------|---------------------|-------------------| 160 | | and | `\land` | ∧ | 161 | | or | `\lor` | ∨ | 162 | | not | `\neg` | ¬ | 163 | | if | `\rightarrow` | → | 164 | | <=> | `\Leftrightarrow` | ⇔ | 165 | 166 | ### Sets 167 | 168 | | AsciiMath Input | LaTeX Output | Unicode Character | 169 | |-----------------|---------------------|-------------------| 170 | | in | `\in` | ∈ | 171 | | ni | `\ni` | ∋ | 172 | | subset | `\subset` | ⊂ | 173 | | supset | `\supset` | ⊃ | 174 | | subseteq | `\subseteq` | ⊆ | 175 | | supseteq | `\supseteq` | ⊇ | 176 | | emptyset | `\emptyset` | ∅ | 177 | | cup | `\cup` | ∪ | 178 | | cap | `\cap` | ∩ | 179 | | setminus | `\setminus` | ∖ | 180 | | Union | `\bigcup` | ⋃ | 181 | | Intersect | `\bigcap` | ⋂ | 182 | 183 | ### Accents 184 | 185 | | AsciiMath Input | LaTeX Output | Unicode Character | 186 | |-----------------|---------------------|-------------------| 187 | | hatx | `\hat{x}` | ẍ | 188 | | barx | `\overline{x}` | x̅ | 189 | | vecx | `\vec{x}` | x⃗ | 190 | | tildex | `\tilde{x}` | ẋ | 191 | | dotx | `\dot{x}` | ẋ | 192 | | ddotx | `\ddot{x}` | ẍ | 193 | 194 | ### Font Commands 195 | 196 | | AsciiMath Input | LaTeX Output | Unicode Character | 197 | |-----------------|---------------------|-------------------| 198 | | bb "ABC" | `\mathbb{ABC}` | 𝔸𝔹ℂ | 199 | | bf "ABC" | `\mathbf{ABC}` | 𝐀𝐁𝐂 | 200 | | it "ABC" | `\mathit{ABC}` | 𝑨𝑩𝑪 | 201 | | sf "ABC" | `\mathsf{ABC}` | 𝖠𝖡𝖢 | 202 | | tt "ABC" | `\mathtt{ABC}` | 𝚨𝚩𝚪 | 203 | | fr "ABC" | `\mathfrak{ABC}` | 𝔄𝔅ℭ | 204 | | cc "ABC" | `\mathcal{ABC}` | 𝒜ℬ𝒞 | 205 | 206 | ### Basic Arithmetic Operators 207 | 208 | | AsciiMath Input | LaTeX Output | Unicode Character | 209 | |-----------------|---------------------|-------------------| 210 | | + | `+` | + | 211 | | - | `-` | - | 212 | | *** | `\star` | ⋆ | 213 | | ** | `\ast` | ∗ | 214 | | * | `\cdot` | ⋅ | 215 | 216 | ### Special Symbols 217 | 218 | | AsciiMath Input | LaTeX Output | Unicode Character | 219 | |-----------------|---------------------|-------------------| 220 | | xx | `\times` | × | 221 | | -: | `\div` | ÷ | 222 | | : | `\colon` | : | 223 | | o+ | `\oplus` | ⊕ | 224 | | ox | `\otimes` | ⊗ | 225 | | o. | `\odot` | ⊙ | 226 | | ^^ | `\wedge` | ∧ | 227 | | ^^^ | `\bigwedge` | ⋀ | 228 | | vvv | `\bigvee` | ⋁ | 229 | | vv | `\vee` | ∨ | 230 | | nnn | `\bigcap` | ⋂ | 231 | | nn | `\cap` | ∩ | 232 | | uuu | `\bigcup` | ⋃ | 233 | | uu | `\cup` | ∪ | 234 | 235 | ### Comparison Operators 236 | 237 | | AsciiMath Input | LaTeX Output | Unicode Character | 238 | |-----------------|---------------------|-------------------| 239 | | != | `\neq` | ≠ | 240 | | <= | `\leq` | ≤ | 241 | | >= | `\geq` | ≥ | 242 | | ~= | `\approx` | ≈ | 243 | | ~~~ | `\approx` | ≈ | 244 | | prop | `\propto` | ∝ | 245 | 246 | ### Set Membership 247 | 248 | | AsciiMath Input | LaTeX Output | Unicode Character | 249 | |-----------------|---------------------|-------------------| 250 | | -<= | `\subset` | ⊂ | 251 | | -<> | `\subsetneq` | ⊊ | 252 | | >-= | `\supset` | ⊃ | 253 | | >-< | `\supsetneq` | ⊋ | 254 | | !in | `\notin` | ∉ | 255 | 256 | ### Ellipses 257 | 258 | | AsciiMath Input | LaTeX Output | Unicode Character | 259 | |-----------------|---------------------|-------------------| 260 | | ... | `\ldots` | … | 261 | | |cdots| | `\cdots` | ⋯ | 262 | | vdots | `\vdots` | ⋮ | 263 | | ddots | `\ddots` | ⋱ | 264 | 265 | ### Geometric Shapes 266 | 267 | | AsciiMath Input | LaTeX Output | Unicode Character | 268 | |-----------------|---------------------|-------------------| 269 | | diamond | `\diamond` | ◊ | 270 | | square | `\square` | □ | 271 | | \|__ __\| | `\parallel` | ∥ | 272 | | \|~ ~\| | `\sim` | ∼ | 273 | 274 | ### Set Symbols 275 | 276 | | AsciiMath Input | LaTeX Output | Unicode Character | 277 | |-----------------|---------------------|-------------------| 278 | | CC | `\mathbb{C}` | ℂ | 279 | | NN | `\mathbb{N}` | ℕ | 280 | | QQ | `\mathbb{Q}` | ℚ | 281 | | RR | `\mathbb{R}` | ℝ | 282 | | ZZ | `\mathbb{Z}` | ℤ | 283 | 284 | ### Quantifiers and Logical Symbols 285 | 286 | | AsciiMath Input | LaTeX Output | Unicode Character | 287 | |-----------------|---------------------|-------------------| 288 | | AA | `\forall` | ∀ | 289 | | forall | `\forall` | ∀ | 290 | | EE | `\exists` | ∃ | 291 | | exists | `\exists` | ∃ | 292 | | _\|_ | `\bot` | ⊥ | 293 | | TT | `\top` | ⊤ | 294 | | \|-- | `\vdash` | ⊢ | 295 | | \|== | `\models` | ⊨ | 296 | 297 | -------------------------------------------------------------------------------- /docs/plugins/plugins.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Plugins 3 | nav_order: 5 4 | has_children: true 5 | --- 6 | 7 | # Plugins 8 | 9 | Smartclip is an extensible Launcher that consists of a prompt or search input at the top and a plugin view at the bottom, that is occupied by the currently activated plugin. You 10 | can see which plugin is currently activated on the very left of the search bar. 11 | 12 | ## Access and Explore Plugins 13 | 14 | Open the Plugin Overview by pressing the plugin icon at the front of the searchbar (visible while the Clipboard Manager is active) or by typing plugins in the search bar. 15 | 16 | This lists all installed plugins along with their hotkeys and IDs. You can click on a plugin to activate it. Alternatively, to navigate to different plugins from the default 17 | plugin, simply type in the ID of the desired plugin followed by a `Space`. 18 | 19 | Click on the currently open plugin at the front of the searchbar to return to the default plugin. Alternatively, press Backspace when the cursor is at the start of the search bar. 20 | 21 | ## Currently available plugins 22 | 23 | - Clipboard Manager (default plugin) 24 | - `tl`: Translation Plugin 25 | - `start`: Application Launcher/ File Explorer 26 | - `emoji`: Emoji Picker 27 | - `math`: Math Expressions 28 | - `rm`: Reminder Plugin 29 | - `calc`: Calculator 30 | -------------------------------------------------------------------------------- /docs/plugins/remindme.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Reminder 3 | parent: Plugins 4 | nav_order: 5 5 | --- 6 | 7 | # Reminder (`rm` for remind me...) 8 | 9 | The RemindMe Plugin enables users to set reminders effortlessly by typing a date and/or time in natural language followed by a task. This intuitive yet minimalistic plugin 10 | simplifies task management, ensuring you never miss anything important. 11 | 12 | 13 | 14 | ## Setting Reminders 15 | To set a reminder using this plugin, start by specifying the date and time for the reminder using keywords such as "in," "on," and "at." Follow this with the task you want to be reminded of. You can also choose to separate the time and task with the word "to" for clarity. If you don't specify a time, the reminder will notify you at the next startup of the app. When reminders appear, you can choose to snooze them until the next startup or for a specific number of minutes as defined in the settings. 16 | 17 | ## Integrating Reminders with Your Calendar 18 | 19 | You can add reminders from Smartclip to your external calendar applications, such as those supporting iCalendar files or Google Calendar, using one of the following methods: 20 | 21 | 1. **Directly When Setting a Reminder** 22 | - After prompting a reminder, instead of `Enter` press `Shift` + `Enter` to add it to your external calendar . 23 | - You can set your preferred external calendar (iCalendar or Google Calendar) for this action in the **Settings**. 24 | 25 | 2. **From the Reminder Menu** 26 | - Open the **menu** (via the menu button or by right-clicking) on an existing reminder. 27 | - Select the option to export or add the reminder to your external calendar. 28 | 29 | This allows integration with popular calendar applications for better organization and task management. 30 | 31 | ## Supported Time Specifications 32 | - keyword `in` 33 | - `in 10 mins and 30 seconds` 34 | - `in an hour` 35 | - `in 4d 30m 20s` 36 | - keyword `at` 37 | - `at 20` 38 | - `at 20:30` 39 | - `at 8:30 pm` 40 | - time 41 | - `20:00` 42 | - `8pm` 43 | - `8:30pm` 44 | - does not detect just `20`, use `at 20` instead 45 | - keyword `next` 46 | - `next month` (first day of next month) 47 | - `next week` (next monday) 48 | - weekdays 49 | - `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`, 50 | - sets date to the next occurrence of that weekday in the future 51 | - tomorrow 52 | - `tomo` 53 | - `tomorrow` 54 | - special times (only when time is not provided in another way) 55 | - `morning`: 8:00 56 | - `lunch`: 12:00 57 | - `noon`: 12:00 58 | - `afternoon`: 14:00 59 | - `evening`: 17:00 60 | - `dinner`: 18:00 61 | - `night`: 20:00 62 | - dates 63 | - `01.01.1970` 64 | - `15.4.` 65 | - `15.4` 66 | - `15.4.25` 67 | - `15.4.2025` 68 | - `15-4-25` 69 | - `15/4/25` 70 | - currently not detected: `1 September 22`, `31 Dec 2023`, `2024/12/29` 71 | - task is anything after the keyword `to`, anything left of the time specification (query from start until first occurrence of `to`) after parsing will be prepended to the task 72 | 73 | ## Windows 74 | Reminders include a GIF to catch your attention. You can customize this by providing your own GIF as `~/.smartclip/plugins/rm/reminder.gif` (.smartclip is usually in your home folder). 75 | 76 | ## Linux 77 | Reminders won't get automatically snoozed when ignoring the notification, instead they will be removed after they pop up. To snooze the reminders, manually do so via the notification actions. -------------------------------------------------------------------------------- /docs/plugins/start.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Application Launcher 3 | parent: Plugins 4 | nav_order: 2 5 | --- 6 | 7 | # Application Launcher (`start`) 8 | 9 | The Application Launcher allows users to quickly search for and start installed applications, as well as locate files within predefined, indexed directories. This plugin streamlines workflow by providing fast and efficient access to essential programs and documents. 10 | 11 | 12 | 13 | Additionally, some key actions, like shutting down the computer, are available. You can also set directories to index in the settings to search for files within these directories using the Application Launcher. -------------------------------------------------------------------------------- /docs/plugins/translate.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Translator 3 | parent: Plugins 4 | nav_order: 3 5 | --- 6 | 7 | # Translator (`tl`) 8 | The Translation Plugin simplifies and accelerates translations with a single shortcut key, allowing users to instantly translate and paste words in various languages. This plugin 9 | enhances efficiency, making translation effortless and seamless. 10 | 11 | 12 | 13 | ## Features 14 | - default hotkey: `Ctrl`+`Shift`+`L` (pressing the hotkey while there is a selection in another application will copy that word to the Translator) 15 | - displays results sorted by categories (nouns, verbs, object) 16 | - use `Ctrl`+`Down/Up` to jump between categories 17 | - paste words instantly by pressing `Enter` on a selected word 18 | - "Did you mean..." for when typos happen 19 | - Select origin and target language via the select in the bottom right corner -------------------------------------------------------------------------------- /docs/settings.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Settings 3 | nav_order: 4 4 | has_toc: false 5 | has_children: true 6 | --- 7 | 8 | # Settings 9 | 10 | Access and adjust Smartclip’s behavior and appearance here. Settings are organized by plugin to help you customize the application to your preferences. 11 | 12 | Similar to the plugins, you can open the settings by typing `settings` followed by a `Space` while in the default plugin, or alternatively press the little wheel icon on the right side of the search bar. 13 | 14 | Settings that appear greyed out can only be modified directly in the `settings.json` file. You can open this file using the button provided in the settings. Changes made here will take effect the next time you start the application. 15 | 16 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Landing Page" 3 | layout: landing 4 | description: "Just the Docs is a responsive Jekyll theme with built-in search that is easily customizable and hosted on GitHub Pages." 5 | permalink: / 6 | nav_exclude: true 7 | --- --------------------------------------------------------------------------------