├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets ├── app-icon │ ├── mac │ │ └── icon.icns │ ├── png │ │ ├── 128x128.png │ │ ├── 16x16.png │ │ ├── 24x24.png │ │ ├── 256x256.png │ │ ├── 32x32.png │ │ ├── 512x512.png │ │ └── 64x64.png │ └── win │ │ └── icon.ico ├── css │ ├── materialize.css │ └── styles.css ├── fonts │ └── material-fonts.woff2 ├── icon.png ├── icon@2x.png ├── icon@4x.png ├── js │ ├── babel.js │ ├── materialize.js │ ├── react-dom.js │ └── react.js ├── no_data.svg └── sound │ ├── error.mp3 │ ├── success.mp3 │ └── trash.mp3 ├── demos ├── list.png ├── main.png └── settings.png ├── electron-builder.yml ├── index.html ├── main.js ├── package-lock.json ├── package.json ├── preload.js └── renderer.js /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://paypal.me/RajpurohitAkash', 'https://www.buymeacoffee.com/akashrajpurohit'] 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - "*" 7 | 8 | jobs: 9 | linux_build: 10 | name: Linux Build 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v1 16 | 17 | - name: Cache node modules 18 | uses: actions/cache@v1 19 | with: 20 | path: node_modules 21 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 22 | restore-keys: | 23 | ${{ runner.os }}-node- 24 | - name: Install Dependencies 25 | run: npm install 26 | 27 | - name: Package 28 | run: npm run deploy:linux 29 | env: 30 | GH_TOKEN: '${{ secrets.GH_TOKEN }}' 31 | EP_PRE_RELEASE: true 32 | 33 | win_build: 34 | name: Windows Build 35 | runs-on: windows-latest 36 | 37 | steps: 38 | - name: Checkout 39 | uses: actions/checkout@v1 40 | 41 | - name: Cache node modules 42 | uses: actions/cache@v1 43 | with: 44 | path: node_modules 45 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 46 | restore-keys: | 47 | ${{ runner.os }}-node- 48 | - name: Install Dependencies 49 | run: npm install 50 | 51 | - name: Package 52 | run: npm run deploy:win 53 | env: 54 | GH_TOKEN: '${{ secrets.GH_TOKEN }}' 55 | EP_PRE_RELEASE: true 56 | 57 | # mac_build: 58 | # name: MacOS Build 59 | # runs-on: macos-latest 60 | 61 | # steps: 62 | # - name: Checkout 63 | # uses: actions/checkout@v1 64 | 65 | # - name: Cache node modules 66 | # uses: actions/cache@v1 67 | # with: 68 | # path: node_modules 69 | # key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 70 | # restore-keys: | 71 | # ${{ runner.os }}-node- 72 | # - name: Install Dependencies 73 | # run: npm install 74 | 75 | # - name: Package 76 | # run: npm run deploy:mac 77 | # env: 78 | # GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}' 79 | # EP_PRE_RELEASE: true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | release -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 1.0.4 (13/05/2020) 2 | * Added close and minimize app buttons on the main window itself. 3 | * Currently not building macOS app due to signinig application issues. 4 | * Allowing only a single instance of clipper to be running at a time in release mode. 5 | 6 | # 1.0.3 (09/03/2020) 7 | * AppImage distribution for Linux 8 | 9 | # 1.0.2 (08/03/2020) 10 | * Linux Debian Bug fixes 11 | * Install [AppIndicator](https://extensions.gnome.org/extension/615/appindicator-support/) with Gnome tweak tools to ensure that the tray icon shows up 12 | 13 | # 1.0.1 (07/03/2020) 14 | * Support for MacOS Platform as well 15 | * Generated MacOS files on Github Actions for Release 16 | 17 | # 1.0.0 (06/03/2020) 18 | * First Release of application -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Akash Rajpurohit 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
5 | Save history of all information you copy and use them whenever with a solitary snap. 6 |
7 | 8 |        9 | 10 | ## 🙌 Features 11 | * Save history of any text copied on the system clipboard. 12 | * Click on the any text from history to write it to the system clipboard. 13 | * Clear a single text 14 | * Trash all copied text at once 15 | * Limit on storage 16 | * Audio for events 17 | * When text gets copied 18 | * Any error triggered like storage limit exceeded 19 | * Clearing storage 20 | * Settings Tab 21 | * Disable/Enable Sound 22 | * Disable/Enable Clipboard Copying (Just in case you want to copy everything all the time) 23 | 24 | ## Screenshots 25 | Main Screen | List of copied text | Settings 26 | :-----------------------------:|:-----------------------:|:--------------: 27 |  |  |  28 | 29 | ## 📥 Download 30 | Clipper is available for Windows & Linux and can be downloaded from Github releases. 31 | 32 | [https://github.com/AkashRajpurohit/clipper/releases](https://github.com/AkashRajpurohit/clipper/releases) 33 | 34 | ## ❓ FAQs 35 | 1. Tray icon does not show up in linux? 36 | 37 | > Install [App Indicator](https://extensions.gnome.org/extension/615/appindicator-support/) for Gnome Tweak tools. 38 | 39 | ## 💵 Support 40 | > If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of :coffee: 41 | 42 | [](https://www.paypal.me/RajpurohitAkash) 43 | 44 | ## 🐛 Bugs or Requests 45 | 46 | If you encounter any problems feel free to open an [issue](https://github.com/AkashRajpurohit/clipper/issues/new?template=bug_report.md). If you feel the library is missing a feature, please raise a [ticket](https://github.com/AkashRajpurohit/clipper/issues/new?template=feature_request.md) on GitHub and I'll look into it. Pull request are also welcome. 47 | 48 | ## 👥 Clones 49 | * [clipper-sciter](https://github.com/GirkovArpa/clipper-sciter) - A sciter based clone of Clipper 50 | 51 | > Contact me@akashrajpurohit.com if you have cloned this project and want it to be listed here :) 52 | 53 | ## Where to find me? 54 | * [Website](https://akashrajpurohit.com/) 55 | * [Linkedin](https://www.linkedin.com/in/AkashRajpurohit) 56 | * [Instagram](https://www.instagram.com/akashwho.codes) 57 | * [Twitter](https://www.twitter.com/AkashWhoCodes) 58 | -------------------------------------------------------------------------------- /assets/app-icon/mac/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/mac/icon.icns -------------------------------------------------------------------------------- /assets/app-icon/png/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/128x128.png -------------------------------------------------------------------------------- /assets/app-icon/png/16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/16x16.png -------------------------------------------------------------------------------- /assets/app-icon/png/24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/24x24.png -------------------------------------------------------------------------------- /assets/app-icon/png/256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/256x256.png -------------------------------------------------------------------------------- /assets/app-icon/png/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/32x32.png -------------------------------------------------------------------------------- /assets/app-icon/png/512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/512x512.png -------------------------------------------------------------------------------- /assets/app-icon/png/64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/png/64x64.png -------------------------------------------------------------------------------- /assets/app-icon/win/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/app-icon/win/icon.ico -------------------------------------------------------------------------------- /assets/css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: rgb(231, 230, 230); 3 | } 4 | 5 | *::-webkit-scrollbar { 6 | width: 0.5em; 7 | } 8 | 9 | *::-webkit-scrollbar-track { 10 | box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); 11 | } 12 | 13 | *::-webkit-scrollbar-thumb { 14 | background-color: #4db6ac; 15 | outline: 1px solid #009688; 16 | } 17 | 18 | .m-tb { 19 | margin: 10px auto !important; 20 | } 21 | 22 | .m-tb30 { 23 | margin: 40px auto !important; 24 | } 25 | 26 | .p-tb { 27 | padding: 10px auto !important; 28 | } 29 | 30 | .no-border { 31 | border: none !important; 32 | } 33 | 34 | .clickable { 35 | cursor: pointer; 36 | } 37 | 38 | .information { 39 | display: flex; 40 | justify-content: space-between; 41 | } 42 | 43 | .collection-item__div { 44 | display: flex; 45 | justify-content: flex-end; 46 | flex-wrap: wrap; 47 | } 48 | 49 | .collection-item__div li { 50 | width: 100%; 51 | } 52 | 53 | .collection-item__options { 54 | display: block; 55 | } 56 | 57 | /* Load Material Fonts */ 58 | @font-face { 59 | font-family: 'Material Icons'; 60 | font-style: normal; 61 | font-weight: 400; 62 | src: url('../fonts/material-fonts.woff2') format('woff2'); 63 | } 64 | 65 | .material-icons { 66 | font-family: 'Material Icons'; 67 | font-weight: normal; 68 | font-style: normal; 69 | font-size: 24px; 70 | line-height: 1; 71 | letter-spacing: normal; 72 | text-transform: none; 73 | display: inline-block; 74 | white-space: nowrap; 75 | word-wrap: normal; 76 | direction: ltr; 77 | -webkit-font-feature-settings: 'liga'; 78 | -webkit-font-smoothing: antialiased; 79 | } -------------------------------------------------------------------------------- /assets/fonts/material-fonts.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/fonts/material-fonts.woff2 -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/icon.png -------------------------------------------------------------------------------- /assets/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/icon@2x.png -------------------------------------------------------------------------------- /assets/icon@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AkashRajpurohit/clipper/efa1eb5c8d2c23d714dcfa51ec8b5175775664fd/assets/icon@4x.png -------------------------------------------------------------------------------- /assets/js/react.js: -------------------------------------------------------------------------------- 1 | /** @license React v16.12.0 2 | * react.production.min.js 3 | * 4 | * Copyright (c) Facebook, Inc. and its affiliates. 5 | * 6 | * This source code is licensed under the MIT license found in the 7 | * LICENSE file in the root directory of this source tree. 8 | */ 9 | 'use strict';(function(v,m){"object"===typeof exports&&"undefined"!==typeof module?module.exports=m():"function"===typeof define&&define.amd?define(m):v.React=m()})(this,function(){function v(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;cNote: You can save text of maximum {maxCharsThatCanBeCopied} characters only.
301 |