├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── .mvn
└── extensions.xml
├── .project
├── LICENSE.md
├── README.md
├── images
├── moon.png
├── neptune.png
├── planet.xcf
└── pluto.png
├── planet-themes-feature
├── .project
├── build.properties
└── feature.xml
├── planet-themes-plugin
├── .classpath
├── .gitignore
├── .project
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── css
│ ├── moon-unix.css
│ ├── moon-win.css
│ ├── moon.css
│ ├── neptune-unix.css
│ ├── neptune-win.css
│ ├── neptune.css
│ ├── planets-dark.css
│ ├── planets-unix.css
│ ├── planets-win.css
│ ├── planets.css
│ ├── pluto-unix.css
│ ├── pluto-win.css
│ └── pluto.css
├── fonts
│ ├── FiraCode-Bold.ttf
│ ├── FiraCode-Light.ttf
│ ├── FiraCode-Medium.ttf
│ ├── FiraCode-Regular.ttf
│ ├── FiraCode-SemiBold.ttf
│ ├── LICENSE.txt
│ └── README.txt
├── images
│ ├── handle-rotated.png
│ └── handle.png
├── plugin.xml
└── src
│ └── main
│ └── java
│ ├── com
│ └── codeaffine
│ │ └── eclipse
│ │ └── ui
│ │ └── swt
│ │ └── theme
│ │ ├── FontLoader.java
│ │ ├── FontOnStartupLoader.java
│ │ ├── FontRegistryUpdater.java
│ │ ├── LICENSE.txt
│ │ └── README.txt
│ └── io
│ └── github
│ └── pyvesb
│ └── eclipse_planet_themes
│ ├── CTabFolderPlanetsRenderer.java
│ ├── LICENSE.txt
│ └── README.txt
├── planet-themes-targetplatform
├── .project
└── planet-themes-targetplatform.target
├── planet-themes-updatesite
├── .project
└── category.xml
└── pom.xml
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish new plugin version
2 |
3 | on:
4 | release:
5 | types: [published]
6 |
7 | jobs:
8 | build:
9 |
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | - uses: actions/checkout@v1
14 | - name: Set up JDK 17
15 | uses: actions/setup-java@v1
16 | with:
17 | java-version: 17
18 | - name: Build with Maven
19 | run: mvn clean install
20 | - name: Commit files
21 | run: |
22 | echo "Checking out update site"
23 | git checkout updatesite
24 | echo "Cleaning up previous files"
25 | git rm -r .
26 | echo "Coping files over"
27 | mv -v planet-themes-updatesite/target/repository/* .
28 | echo "Setting up Git config"
29 | git config user.name '${{ github.actor}}'
30 | git config user.email '${{ github.actor}}@users.noreply.github.com'
31 | echo "Preparing commit"
32 | git add -A
33 | git commit -m "Added version $(curl --silent https://api.github.com/repos/PyvesB/eclipse-planet-themes/releases/latest | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\1/') to the update site"
34 | git remote add pages https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/PyvesB/eclipse-planet-themes.git
35 | echo "Pushing commit"
36 | git push pages updatesite -f
37 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | .polyglot.*
3 | *.prefs
4 | /.metadata/
5 | .DS_Store
6 |
--------------------------------------------------------------------------------
/.mvn/extensions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | org.eclipse.tycho
5 | tycho-build
6 | 2.7.5
7 |
8 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | planet-themes
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Eclipse Public License - v 2.0
2 |
3 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
4 | PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
5 | OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6 |
7 | 1. DEFINITIONS
8 |
9 | "Contribution" means:
10 |
11 | a) in the case of the initial Contributor, the initial content
12 | Distributed under this Agreement, and
13 |
14 | b) in the case of each subsequent Contributor:
15 | i) changes to the Program, and
16 | ii) additions to the Program;
17 | where such changes and/or additions to the Program originate from
18 | and are Distributed by that particular Contributor. A Contribution
19 | "originates" from a Contributor if it was added to the Program by
20 | such Contributor itself or anyone acting on such Contributor's behalf.
21 | Contributions do not include changes or additions to the Program that
22 | are not Modified Works.
23 |
24 | "Contributor" means any person or entity that Distributes the Program.
25 |
26 | "Licensed Patents" mean patent claims licensable by a Contributor which
27 | are necessarily infringed by the use or sale of its Contribution alone
28 | or when combined with the Program.
29 |
30 | "Program" means the Contributions Distributed in accordance with this
31 | Agreement.
32 |
33 | "Recipient" means anyone who receives the Program under this Agreement
34 | or any Secondary License (as applicable), including Contributors.
35 |
36 | "Derivative Works" shall mean any work, whether in Source Code or other
37 | form, that is based on (or derived from) the Program and for which the
38 | editorial revisions, annotations, elaborations, or other modifications
39 | represent, as a whole, an original work of authorship.
40 |
41 | "Modified Works" shall mean any work in Source Code or other form that
42 | results from an addition to, deletion from, or modification of the
43 | contents of the Program, including, for purposes of clarity any new file
44 | in Source Code form that contains any contents of the Program. Modified
45 | Works shall not include works that contain only declarations,
46 | interfaces, types, classes, structures, or files of the Program solely
47 | in each case in order to link to, bind by name, or subclass the Program
48 | or Modified Works thereof.
49 |
50 | "Distribute" means the acts of a) distributing or b) making available
51 | in any manner that enables the transfer of a copy.
52 |
53 | "Source Code" means the form of a Program preferred for making
54 | modifications, including but not limited to software source code,
55 | documentation source, and configuration files.
56 |
57 | "Secondary License" means either the GNU General Public License,
58 | Version 2.0, or any later versions of that license, including any
59 | exceptions or additional permissions as identified by the initial
60 | Contributor.
61 |
62 | 2. GRANT OF RIGHTS
63 |
64 | a) Subject to the terms of this Agreement, each Contributor hereby
65 | grants Recipient a non-exclusive, worldwide, royalty-free copyright
66 | license to reproduce, prepare Derivative Works of, publicly display,
67 | publicly perform, Distribute and sublicense the Contribution of such
68 | Contributor, if any, and such Derivative Works.
69 |
70 | b) Subject to the terms of this Agreement, each Contributor hereby
71 | grants Recipient a non-exclusive, worldwide, royalty-free patent
72 | license under Licensed Patents to make, use, sell, offer to sell,
73 | import and otherwise transfer the Contribution of such Contributor,
74 | if any, in Source Code or other form. This patent license shall
75 | apply to the combination of the Contribution and the Program if, at
76 | the time the Contribution is added by the Contributor, such addition
77 | of the Contribution causes such combination to be covered by the
78 | Licensed Patents. The patent license shall not apply to any other
79 | combinations which include the Contribution. No hardware per se is
80 | licensed hereunder.
81 |
82 | c) Recipient understands that although each Contributor grants the
83 | licenses to its Contributions set forth herein, no assurances are
84 | provided by any Contributor that the Program does not infringe the
85 | patent or other intellectual property rights of any other entity.
86 | Each Contributor disclaims any liability to Recipient for claims
87 | brought by any other entity based on infringement of intellectual
88 | property rights or otherwise. As a condition to exercising the
89 | rights and licenses granted hereunder, each Recipient hereby
90 | assumes sole responsibility to secure any other intellectual
91 | property rights needed, if any. For example, if a third party
92 | patent license is required to allow Recipient to Distribute the
93 | Program, it is Recipient's responsibility to acquire that license
94 | before distributing the Program.
95 |
96 | d) Each Contributor represents that to its knowledge it has
97 | sufficient copyright rights in its Contribution, if any, to grant
98 | the copyright license set forth in this Agreement.
99 |
100 | e) Notwithstanding the terms of any Secondary License, no
101 | Contributor makes additional grants to any Recipient (other than
102 | those set forth in this Agreement) as a result of such Recipient's
103 | receipt of the Program under the terms of a Secondary License
104 | (if permitted under the terms of Section 3).
105 |
106 | 3. REQUIREMENTS
107 |
108 | 3.1 If a Contributor Distributes the Program in any form, then:
109 |
110 | a) the Program must also be made available as Source Code, in
111 | accordance with section 3.2, and the Contributor must accompany
112 | the Program with a statement that the Source Code for the Program
113 | is available under this Agreement, and informs Recipients how to
114 | obtain it in a reasonable manner on or through a medium customarily
115 | used for software exchange; and
116 |
117 | b) the Contributor may Distribute the Program under a license
118 | different than this Agreement, provided that such license:
119 | i) effectively disclaims on behalf of all other Contributors all
120 | warranties and conditions, express and implied, including
121 | warranties or conditions of title and non-infringement, and
122 | implied warranties or conditions of merchantability and fitness
123 | for a particular purpose;
124 |
125 | ii) effectively excludes on behalf of all other Contributors all
126 | liability for damages, including direct, indirect, special,
127 | incidental and consequential damages, such as lost profits;
128 |
129 | iii) does not attempt to limit or alter the recipients' rights
130 | in the Source Code under section 3.2; and
131 |
132 | iv) requires any subsequent distribution of the Program by any
133 | party to be under a license that satisfies the requirements
134 | of this section 3.
135 |
136 | 3.2 When the Program is Distributed as Source Code:
137 |
138 | a) it must be made available under this Agreement, or if the
139 | Program (i) is combined with other material in a separate file or
140 | files made available under a Secondary License, and (ii) the initial
141 | Contributor attached to the Source Code the notice described in
142 | Exhibit A of this Agreement, then the Program may be made available
143 | under the terms of such Secondary Licenses, and
144 |
145 | b) a copy of this Agreement must be included with each copy of
146 | the Program.
147 |
148 | 3.3 Contributors may not remove or alter any copyright, patent,
149 | trademark, attribution notices, disclaimers of warranty, or limitations
150 | of liability ("notices") contained within the Program from any copy of
151 | the Program which they Distribute, provided that Contributors may add
152 | their own appropriate notices.
153 |
154 | 4. COMMERCIAL DISTRIBUTION
155 |
156 | Commercial distributors of software may accept certain responsibilities
157 | with respect to end users, business partners and the like. While this
158 | license is intended to facilitate the commercial use of the Program,
159 | the Contributor who includes the Program in a commercial product
160 | offering should do so in a manner which does not create potential
161 | liability for other Contributors. Therefore, if a Contributor includes
162 | the Program in a commercial product offering, such Contributor
163 | ("Commercial Contributor") hereby agrees to defend and indemnify every
164 | other Contributor ("Indemnified Contributor") against any losses,
165 | damages and costs (collectively "Losses") arising from claims, lawsuits
166 | and other legal actions brought by a third party against the Indemnified
167 | Contributor to the extent caused by the acts or omissions of such
168 | Commercial Contributor in connection with its distribution of the Program
169 | in a commercial product offering. The obligations in this section do not
170 | apply to any claims or Losses relating to any actual or alleged
171 | intellectual property infringement. In order to qualify, an Indemnified
172 | Contributor must: a) promptly notify the Commercial Contributor in
173 | writing of such claim, and b) allow the Commercial Contributor to control,
174 | and cooperate with the Commercial Contributor in, the defense and any
175 | related settlement negotiations. The Indemnified Contributor may
176 | participate in any such claim at its own expense.
177 |
178 | For example, a Contributor might include the Program in a commercial
179 | product offering, Product X. That Contributor is then a Commercial
180 | Contributor. If that Commercial Contributor then makes performance
181 | claims, or offers warranties related to Product X, those performance
182 | claims and warranties are such Commercial Contributor's responsibility
183 | alone. Under this section, the Commercial Contributor would have to
184 | defend claims against the other Contributors related to those performance
185 | claims and warranties, and if a court requires any other Contributor to
186 | pay any damages as a result, the Commercial Contributor must pay
187 | those damages.
188 |
189 | 5. NO WARRANTY
190 |
191 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
192 | PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
193 | BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
194 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
195 | TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
196 | PURPOSE. Each Recipient is solely responsible for determining the
197 | appropriateness of using and distributing the Program and assumes all
198 | risks associated with its exercise of rights under this Agreement,
199 | including but not limited to the risks and costs of program errors,
200 | compliance with applicable laws, damage to or loss of data, programs
201 | or equipment, and unavailability or interruption of operations.
202 |
203 | 6. DISCLAIMER OF LIABILITY
204 |
205 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
206 | PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
207 | SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
208 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
209 | PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
210 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
211 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
212 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
213 | POSSIBILITY OF SUCH DAMAGES.
214 |
215 | 7. GENERAL
216 |
217 | If any provision of this Agreement is invalid or unenforceable under
218 | applicable law, it shall not affect the validity or enforceability of
219 | the remainder of the terms of this Agreement, and without further
220 | action by the parties hereto, such provision shall be reformed to the
221 | minimum extent necessary to make such provision valid and enforceable.
222 |
223 | If Recipient institutes patent litigation against any entity
224 | (including a cross-claim or counterclaim in a lawsuit) alleging that the
225 | Program itself (excluding combinations of the Program with other software
226 | or hardware) infringes such Recipient's patent(s), then such Recipient's
227 | rights granted under Section 2(b) shall terminate as of the date such
228 | litigation is filed.
229 |
230 | All Recipient's rights under this Agreement shall terminate if it
231 | fails to comply with any of the material terms or conditions of this
232 | Agreement and does not cure such failure in a reasonable period of
233 | time after becoming aware of such noncompliance. If all Recipient's
234 | rights under this Agreement terminate, Recipient agrees to cease use
235 | and distribution of the Program as soon as reasonably practicable.
236 | However, Recipient's obligations under this Agreement and any licenses
237 | granted by Recipient relating to the Program shall continue and survive.
238 |
239 | Everyone is permitted to copy and distribute copies of this Agreement,
240 | but in order to avoid inconsistency the Agreement is copyrighted and
241 | may only be modified in the following manner. The Agreement Steward
242 | reserves the right to publish new versions (including revisions) of
243 | this Agreement from time to time. No one other than the Agreement
244 | Steward has the right to modify this Agreement. The Eclipse Foundation
245 | is the initial Agreement Steward. The Eclipse Foundation may assign the
246 | responsibility to serve as the Agreement Steward to a suitable separate
247 | entity. Each new version of the Agreement will be given a distinguishing
248 | version number. The Program (including Contributions) may always be
249 | Distributed subject to the version of the Agreement under which it was
250 | received. In addition, after a new version of the Agreement is published,
251 | Contributor may elect to Distribute the Program (including its
252 | Contributions) under the new version.
253 |
254 | Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
255 | receives no rights or licenses to the intellectual property of any
256 | Contributor under this Agreement, whether expressly, by implication,
257 | estoppel or otherwise. All rights in the Program not expressly granted
258 | under this Agreement are reserved. Nothing in this Agreement is intended
259 | to be enforceable by any entity that is not a Contributor or Recipient.
260 | No third-party beneficiary rights are created under this Agreement.
261 |
262 | Exhibit A - Form of Secondary Licenses Notice
263 |
264 | "This Source Code may also be made available under the following
265 | Secondary Licenses when the conditions for such availability set forth
266 | in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
267 | version(s), and exceptions or additional permissions here}."
268 |
269 | Simply including a copy of this Agreement, including this Exhibit A
270 | is not sufficient to license the Source Code under Secondary Licenses.
271 |
272 | If it is not possible or desirable to put the notice in a particular
273 | file, then You may include the notice in a location (such as a LICENSE
274 | file in a relevant directory) where a recipient would be likely to
275 | look for such a notice.
276 |
277 | You may add additional accurate notices of copyright ownership.
278 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Planet Themes
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | **Collection of light and dark Eclipse themes, inspired by planets of the Solar System!**
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Left to right: the Neptune, Pluto and Moon themes!
21 |
22 |
23 | ## :moon: Features at a glance
24 |
25 | Three themes are currently available:
26 | * Moon: familiar-looking but not an actual planet. Light-grey, by and large sticks to Eclipse's classic color scheme.
27 | * Neptune: dark blue theme with some red reflections from the distant sun.
28 | * Pluto: not much light reaches this distant dwarf planet, leading to a resolutely dark theme. The presence of purple has yet to be explained by astronomers.
29 |
30 | A few words to summarise the planetary ambitions:
31 | * compact: few borders, less visual artifacts, and hidden buttons.
32 | * readable: easy on the eyes with low glare, balanced contrasts and an integrated editor font with programming ligatures.
33 | * outstanding: not a revolution, but hopefully a nice twist to the traditional Eclipse look and feel.
34 |
35 | Check out what's new in the [latest releases](https://github.com/PyvesB/eclipse-planet-themes/releases)!
36 |
37 | ## :cd: Plugin installation
38 |
39 | Note that all themes require Eclipse Oxygen (4.7) or more recent.
40 |
41 | You can download and install the plugin via the [Eclipse Marketplace](https://marketplace.eclipse.org/content/planet-themes/), or simply drag the below button to your running Eclipse workspace:
42 |
43 |
44 |
45 |
46 |
47 | Alternatively, use the following update site: `https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/updatesite`. Note that this link will give an error when opened in a browser, but will be handled correctly by Eclipse.
48 |
49 | Once installed, open Eclipse's preferences, navigate to `General` -> `Appearance` and select the planet of your choice in the `Theme` dropdown. Restart Eclipse and enjoy your new theme!
50 |
51 | ## :star: Support and feedback
52 |
53 | Building themes is hard work. Something isn't to your taste? Thought of a cool idea? Found a problem or need some help? Simply open an [**issue**](https://github.com/PyvesB/eclipse-planet-themes/issues)!
54 |
55 | Find the project useful, fun or interesting? **Star** the repository by clicking on the icon on the top right of this page!
56 |
57 | ## :computer: Code contributions
58 |
59 | Want to improve the existing planets or add a new one? Contributions are more than welcome, open a **pull request** and share your CSS!
60 |
61 | Setting up your own working copy of the project is easy:
62 | * Download the [RCP and RAP Developers](https://eclipse.org/downloads/eclipse-packages/) version of Eclipse.
63 | * Fork the repository by clicking on the *Fork* icon on the top right of this page and clone it locally.
64 | * In Eclipse, go to `File` -> `Import...` -> `General` -> `Existing Projects into Workspace`.
65 | * In the `Select root directory` field, indicate the location where you checked out the planet-themes repository.
66 | * Ensure `Search for nested projects` is enabled, select all projects in the `Projects` field and click `Finish`.
67 | * Open `planet-themes-targetplatform.target` and click `Set as Active Target Platform`.
68 | * You're ready to go! You can now either launch an instance of Eclipse running the plugin by right-clicking on the plugin project and selecting `Run As` -> `Eclipse Application`, or you can export a plugin archive file by selecting `Export` -> `Deployable plug-ins and fragments`.
69 |
70 | ## :balance_scale: License and acknowledgements
71 |
72 | Planet Themes are licensed under Eclipse Public License - v 2.0.
73 |
74 | [Fira Code](https://github.com/tonsky/FiraCode) (Open Font License) is being used as the editor font, many thanks to [Nikita Prokopov](https://github.com/tonsky) and other contributors!
75 |
--------------------------------------------------------------------------------
/images/moon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/images/moon.png
--------------------------------------------------------------------------------
/images/neptune.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/images/neptune.png
--------------------------------------------------------------------------------
/images/planet.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/images/planet.xcf
--------------------------------------------------------------------------------
/images/pluto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/images/pluto.png
--------------------------------------------------------------------------------
/planet-themes-feature/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | planet-themes-feature
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.pde.FeatureBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.pde.FeatureNature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/planet-themes-feature/build.properties:
--------------------------------------------------------------------------------
1 | bin.includes = feature.xml
2 |
--------------------------------------------------------------------------------
/planet-themes-feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | Collection of light and dark Eclipse themes, inspired by planets of the Solar System!
10 |
11 |
12 |
13 | Eclipse Public License - v 2.0
14 |
15 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
16 | PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
17 | OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
18 |
19 | 1. DEFINITIONS
20 |
21 | "Contribution" means:
22 |
23 | a) in the case of the initial Contributor, the initial content
24 | Distributed under this Agreement, and
25 |
26 | b) in the case of each subsequent Contributor:
27 | i) changes to the Program, and
28 | ii) additions to the Program;
29 | where such changes and/or additions to the Program originate from
30 | and are Distributed by that particular Contributor. A Contribution
31 | "originates" from a Contributor if it was added to the Program by
32 | such Contributor itself or anyone acting on such Contributor's behalf.
33 | Contributions do not include changes or additions to the Program that
34 | are not Modified Works.
35 |
36 | "Contributor" means any person or entity that Distributes the Program.
37 |
38 | "Licensed Patents" mean patent claims licensable by a Contributor which
39 | are necessarily infringed by the use or sale of its Contribution alone
40 | or when combined with the Program.
41 |
42 | "Program" means the Contributions Distributed in accordance with this
43 | Agreement.
44 |
45 | "Recipient" means anyone who receives the Program under this Agreement
46 | or any Secondary License (as applicable), including Contributors.
47 |
48 | "Derivative Works" shall mean any work, whether in Source Code or other
49 | form, that is based on (or derived from) the Program and for which the
50 | editorial revisions, annotations, elaborations, or other modifications
51 | represent, as a whole, an original work of authorship.
52 |
53 | "Modified Works" shall mean any work in Source Code or other form that
54 | results from an addition to, deletion from, or modification of the
55 | contents of the Program, including, for purposes of clarity any new file
56 | in Source Code form that contains any contents of the Program. Modified
57 | Works shall not include works that contain only declarations,
58 | interfaces, types, classes, structures, or files of the Program solely
59 | in each case in order to link to, bind by name, or subclass the Program
60 | or Modified Works thereof.
61 |
62 | "Distribute" means the acts of a) distributing or b) making available
63 | in any manner that enables the transfer of a copy.
64 |
65 | "Source Code" means the form of a Program preferred for making
66 | modifications, including but not limited to software source code,
67 | documentation source, and configuration files.
68 |
69 | "Secondary License" means either the GNU General Public License,
70 | Version 2.0, or any later versions of that license, including any
71 | exceptions or additional permissions as identified by the initial
72 | Contributor.
73 |
74 | 2. GRANT OF RIGHTS
75 |
76 | a) Subject to the terms of this Agreement, each Contributor hereby
77 | grants Recipient a non-exclusive, worldwide, royalty-free copyright
78 | license to reproduce, prepare Derivative Works of, publicly display,
79 | publicly perform, Distribute and sublicense the Contribution of such
80 | Contributor, if any, and such Derivative Works.
81 |
82 | b) Subject to the terms of this Agreement, each Contributor hereby
83 | grants Recipient a non-exclusive, worldwide, royalty-free patent
84 | license under Licensed Patents to make, use, sell, offer to sell,
85 | import and otherwise transfer the Contribution of such Contributor,
86 | if any, in Source Code or other form. This patent license shall
87 | apply to the combination of the Contribution and the Program if, at
88 | the time the Contribution is added by the Contributor, such addition
89 | of the Contribution causes such combination to be covered by the
90 | Licensed Patents. The patent license shall not apply to any other
91 | combinations which include the Contribution. No hardware per se is
92 | licensed hereunder.
93 |
94 | c) Recipient understands that although each Contributor grants the
95 | licenses to its Contributions set forth herein, no assurances are
96 | provided by any Contributor that the Program does not infringe the
97 | patent or other intellectual property rights of any other entity.
98 | Each Contributor disclaims any liability to Recipient for claims
99 | brought by any other entity based on infringement of intellectual
100 | property rights or otherwise. As a condition to exercising the
101 | rights and licenses granted hereunder, each Recipient hereby
102 | assumes sole responsibility to secure any other intellectual
103 | property rights needed, if any. For example, if a third party
104 | patent license is required to allow Recipient to Distribute the
105 | Program, it is Recipient's responsibility to acquire that license
106 | before distributing the Program.
107 |
108 | d) Each Contributor represents that to its knowledge it has
109 | sufficient copyright rights in its Contribution, if any, to grant
110 | the copyright license set forth in this Agreement.
111 |
112 | e) Notwithstanding the terms of any Secondary License, no
113 | Contributor makes additional grants to any Recipient (other than
114 | those set forth in this Agreement) as a result of such Recipient's
115 | receipt of the Program under the terms of a Secondary License
116 | (if permitted under the terms of Section 3).
117 |
118 | 3. REQUIREMENTS
119 |
120 | 3.1 If a Contributor Distributes the Program in any form, then:
121 |
122 | a) the Program must also be made available as Source Code, in
123 | accordance with section 3.2, and the Contributor must accompany
124 | the Program with a statement that the Source Code for the Program
125 | is available under this Agreement, and informs Recipients how to
126 | obtain it in a reasonable manner on or through a medium customarily
127 | used for software exchange; and
128 |
129 | b) the Contributor may Distribute the Program under a license
130 | different than this Agreement, provided that such license:
131 | i) effectively disclaims on behalf of all other Contributors all
132 | warranties and conditions, express and implied, including
133 | warranties or conditions of title and non-infringement, and
134 | implied warranties or conditions of merchantability and fitness
135 | for a particular purpose;
136 |
137 | ii) effectively excludes on behalf of all other Contributors all
138 | liability for damages, including direct, indirect, special,
139 | incidental and consequential damages, such as lost profits;
140 |
141 | iii) does not attempt to limit or alter the recipients' rights
142 | in the Source Code under section 3.2; and
143 |
144 | iv) requires any subsequent distribution of the Program by any
145 | party to be under a license that satisfies the requirements
146 | of this section 3.
147 |
148 | 3.2 When the Program is Distributed as Source Code:
149 |
150 | a) it must be made available under this Agreement, or if the
151 | Program (i) is combined with other material in a separate file or
152 | files made available under a Secondary License, and (ii) the initial
153 | Contributor attached to the Source Code the notice described in
154 | Exhibit A of this Agreement, then the Program may be made available
155 | under the terms of such Secondary Licenses, and
156 |
157 | b) a copy of this Agreement must be included with each copy of
158 | the Program.
159 |
160 | 3.3 Contributors may not remove or alter any copyright, patent,
161 | trademark, attribution notices, disclaimers of warranty, or limitations
162 | of liability ("notices") contained within the Program from any copy of
163 | the Program which they Distribute, provided that Contributors may add
164 | their own appropriate notices.
165 |
166 | 4. COMMERCIAL DISTRIBUTION
167 |
168 | Commercial distributors of software may accept certain responsibilities
169 | with respect to end users, business partners and the like. While this
170 | license is intended to facilitate the commercial use of the Program,
171 | the Contributor who includes the Program in a commercial product
172 | offering should do so in a manner which does not create potential
173 | liability for other Contributors. Therefore, if a Contributor includes
174 | the Program in a commercial product offering, such Contributor
175 | ("Commercial Contributor") hereby agrees to defend and indemnify every
176 | other Contributor ("Indemnified Contributor") against any losses,
177 | damages and costs (collectively "Losses") arising from claims, lawsuits
178 | and other legal actions brought by a third party against the Indemnified
179 | Contributor to the extent caused by the acts or omissions of such
180 | Commercial Contributor in connection with its distribution of the Program
181 | in a commercial product offering. The obligations in this section do not
182 | apply to any claims or Losses relating to any actual or alleged
183 | intellectual property infringement. In order to qualify, an Indemnified
184 | Contributor must: a) promptly notify the Commercial Contributor in
185 | writing of such claim, and b) allow the Commercial Contributor to control,
186 | and cooperate with the Commercial Contributor in, the defense and any
187 | related settlement negotiations. The Indemnified Contributor may
188 | participate in any such claim at its own expense.
189 |
190 | For example, a Contributor might include the Program in a commercial
191 | product offering, Product X. That Contributor is then a Commercial
192 | Contributor. If that Commercial Contributor then makes performance
193 | claims, or offers warranties related to Product X, those performance
194 | claims and warranties are such Commercial Contributor's responsibility
195 | alone. Under this section, the Commercial Contributor would have to
196 | defend claims against the other Contributors related to those performance
197 | claims and warranties, and if a court requires any other Contributor to
198 | pay any damages as a result, the Commercial Contributor must pay
199 | those damages.
200 |
201 | 5. NO WARRANTY
202 |
203 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
204 | PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
205 | BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
206 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
207 | TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
208 | PURPOSE. Each Recipient is solely responsible for determining the
209 | appropriateness of using and distributing the Program and assumes all
210 | risks associated with its exercise of rights under this Agreement,
211 | including but not limited to the risks and costs of program errors,
212 | compliance with applicable laws, damage to or loss of data, programs
213 | or equipment, and unavailability or interruption of operations.
214 |
215 | 6. DISCLAIMER OF LIABILITY
216 |
217 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
218 | PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
219 | SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
220 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
221 | PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
222 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
223 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
224 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
225 | POSSIBILITY OF SUCH DAMAGES.
226 |
227 | 7. GENERAL
228 |
229 | If any provision of this Agreement is invalid or unenforceable under
230 | applicable law, it shall not affect the validity or enforceability of
231 | the remainder of the terms of this Agreement, and without further
232 | action by the parties hereto, such provision shall be reformed to the
233 | minimum extent necessary to make such provision valid and enforceable.
234 |
235 | If Recipient institutes patent litigation against any entity
236 | (including a cross-claim or counterclaim in a lawsuit) alleging that the
237 | Program itself (excluding combinations of the Program with other software
238 | or hardware) infringes such Recipient's patent(s), then such Recipient's
239 | rights granted under Section 2(b) shall terminate as of the date such
240 | litigation is filed.
241 |
242 | All Recipient's rights under this Agreement shall terminate if it
243 | fails to comply with any of the material terms or conditions of this
244 | Agreement and does not cure such failure in a reasonable period of
245 | time after becoming aware of such noncompliance. If all Recipient's
246 | rights under this Agreement terminate, Recipient agrees to cease use
247 | and distribution of the Program as soon as reasonably practicable.
248 | However, Recipient's obligations under this Agreement and any licenses
249 | granted by Recipient relating to the Program shall continue and survive.
250 |
251 | Everyone is permitted to copy and distribute copies of this Agreement,
252 | but in order to avoid inconsistency the Agreement is copyrighted and
253 | may only be modified in the following manner. The Agreement Steward
254 | reserves the right to publish new versions (including revisions) of
255 | this Agreement from time to time. No one other than the Agreement
256 | Steward has the right to modify this Agreement. The Eclipse Foundation
257 | is the initial Agreement Steward. The Eclipse Foundation may assign the
258 | responsibility to serve as the Agreement Steward to a suitable separate
259 | entity. Each new version of the Agreement will be given a distinguishing
260 | version number. The Program (including Contributions) may always be
261 | Distributed subject to the version of the Agreement under which it was
262 | received. In addition, after a new version of the Agreement is published,
263 | Contributor may elect to Distribute the Program (including its
264 | Contributions) under the new version.
265 |
266 | Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
267 | receives no rights or licenses to the intellectual property of any
268 | Contributor under this Agreement, whether expressly, by implication,
269 | estoppel or otherwise. All rights in the Program not expressly granted
270 | under this Agreement are reserved. Nothing in this Agreement is intended
271 | to be enforceable by any entity that is not a Contributor or Recipient.
272 | No third-party beneficiary rights are created under this Agreement.
273 |
274 | Exhibit A - Form of Secondary Licenses Notice
275 |
276 | "This Source Code may also be made available under the following
277 | Secondary Licenses when the conditions for such availability set forth
278 | in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
279 | version(s), and exceptions or additional permissions here}."
280 |
281 | Simply including a copy of this Agreement, including this Exhibit A
282 | is not sufficient to license the Source Code under Secondary Licenses.
283 |
284 | If it is not possible or desirable to put the notice in a particular
285 | file, then You may include the notice in a location (such as a LICENSE
286 | file in a relevant directory) where a recipient would be likely to
287 | look for such a notice.
288 |
289 | You may add additional accurate notices of copyright ownership.
290 |
291 |
292 |
293 |
294 |
295 |
296 |
302 |
303 |
--------------------------------------------------------------------------------
/planet-themes-plugin/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/planet-themes-plugin/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/planet-themes-plugin/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | planet-themes-plugin
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/planet-themes-plugin/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: Planet Themes
4 | Bundle-SymbolicName: io.github.pyvesb.eclipse_planet_themes;singleton:=true
5 | Bundle-Version: 1.0.0
6 | Automatic-Module-Name: io.github.pyvesb.eclipse_planet_themes
7 | Bundle-RequiredExecutionEnvironment: JavaSE-11
8 | Bundle-ActivationPolicy: lazy
9 | Bundle-ClassPath: .
10 | Require-Bundle: org.eclipse.core.runtime,
11 | org.eclipse.swt,
12 | org.eclipse.ui,
13 | org.eclipse.e4.ui.css.swt,
14 | org.eclipse.e4.ui.css.swt.theme,
15 | org.eclipse.osgi
16 | Export-Package: com.codeaffine.eclipse.ui.swt.theme
17 |
--------------------------------------------------------------------------------
/planet-themes-plugin/build.properties:
--------------------------------------------------------------------------------
1 | output.. = bin/
2 | jre.compilation.profile = JavaSE-11
3 | source.. = src/main/java/
4 | bin.includes = META-INF/,\
5 | .,\
6 | plugin.xml,\
7 | css/,\
8 | fonts/,\
9 | images/,\
10 | src/
11 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/moon-unix.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/moon.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-unix.css");
3 |
4 | Button[style~='SWT.PUSH'] {
5 | background-color: unset;
6 | color: unset;
7 | }
8 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/moon-win.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/moon.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-win.css");
3 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/moon.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets.css");
2 |
3 | Shell * {
4 | color: black;
5 | }
6 |
7 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR {
8 | color: #f1f1f1;
9 | }
10 |
11 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR {
12 | color: #c0c0c0;
13 | }
14 |
15 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR {
16 | color: white;
17 | }
18 |
19 | /* The backgrounds of some SashForms (e.g. Debug Variable view) are not styled unless this is specified again. */
20 | SashForm {
21 | background-color: #f1f1f1;
22 | }
23 |
24 | IEclipsePreferences#org-eclipse-ui-editors:io-github-pyvesb-eclipse_planet_themes-moon {
25 | preferences:
26 | 'AbstractTextEditor.Color.Background=241,241,241'
27 | 'AbstractTextEditor.Color.SelectionBackground=215,215,215'
28 | 'currentLineColor=225,225,225'
29 | 'searchResultIndicationColor=128,128,128';
30 | }
31 |
32 | IEclipsePreferences#org-eclipse-ui-workbench:io-github-pyvesb-eclipse_planet_themes-moon {
33 | preferences:
34 | 'CONTENT_ASSIST_BACKGROUND_COLOR=241,241,241'
35 | 'org.eclipse.egit.ui.UncommittedChangeBackgroundColor=255,255,255'
36 | 'org.eclipse.jdt.ui.Javadoc.backgroundColor=241,241,241'
37 | 'org.eclipse.ui.editors.rangeIndicatorColor=215,215,215'
38 | 'org.eclipse.ui.workbench.INFORMATION_BACKGROUND=241,241,241';
39 | }
40 |
41 | IEclipsePreferences#org-eclipse-debug-ui:io-github-pyvesb-eclipse_planet_themes-moon {
42 | preferences: 'org.eclipse.debug.ui.consoleBackground=241,241,241';
43 | }
44 |
45 | IEclipsePreferences#org-eclipse-jdt-ui:io-github-pyvesb-eclipse_planet_themes-moon {
46 | preferences: 'sourceHoverBackgroundColor=241,241,241';
47 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/css/neptune-unix.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/neptune.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-unix.css");
3 |
4 | Button[style~='SWT.PUSH'] {
5 | background-color: unset;
6 | }
7 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/neptune-win.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/neptune.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-win.css");
3 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/neptune.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-dark.css");
3 |
4 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR {
5 | color: #282e43;
6 | }
7 |
8 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR {
9 | color: #5275ed;
10 | }
11 |
12 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR {
13 | color: #202437;
14 | }
15 |
16 | /* The backgrounds of some SashForms (e.g. Debug Variable view) are not styled unless this is specified again. */
17 | SashForm {
18 | background-color: #282e43;
19 | }
20 |
21 | IEclipsePreferences#org-eclipse-ui-workbench:io-github-pyvesb-eclipse_planet_themes-neptune {
22 | preferences:
23 | 'ACTIVE_HYPERLINK_COLOR=38,144,219'
24 | 'CONTENT_ASSIST_BACKGROUND_COLOR=40,46,67'
25 | 'HYPERLINK_COLOR=38,144,219'
26 | 'org.eclipse.egit.ui.UncommittedChangeBackgroundColor=32,36,55'
27 | 'org.eclipse.egit.ui.DiffHeadlineBackgroundColor=32,36,55'
28 | 'org.eclipse.egit.ui.DiffHunkBackgroundColor=32,36,55'
29 | 'org.eclipse.jdt.ui.Javadoc.backgroundColor=40,46,67'
30 | 'org.eclipse.jface.REVISION_NEWEST_COLOR=30,80,160'
31 | 'org.eclipse.jface.REVISION_OLDEST_COLOR=3,25,70'
32 | 'org.eclipse.pde.genericeditor.extension.editor.color.attribute=105,159,213'
33 | 'org.eclipse.pde.genericeditor.extension.editor.color.comment=196,217,240'
34 | 'org.eclipse.pde.genericeditor.extension.editor.color.header=105,159,213'
35 | 'org.eclipse.pde.genericeditor.extension.editor.color.quote=207,9,51'
36 | 'org.eclipse.pde.genericeditor.extension.editor.color.tag=105,159,213'
37 | 'org.eclipse.search.ui.match.highlight=55,60,85'
38 | 'org.eclipse.ui.editors.rangeIndicatorColor=82,117,237'
39 | 'org.eclipse.ui.workbench.INFORMATION_BACKGROUND=40,46,67'
40 | 'cucumber.eclipse.editor.presentation.gherkin_comment_colour=196,217,240'
41 | 'cucumber.eclipse.editor.presentation.gherkin_keyword_colour=38,144,219'
42 | 'cucumber.eclipse.editor.presentation.gherkin_numeric_literal_colour=207,9,51'
43 | 'cucumber.eclipse.editor.presentation.gherkin_step_colour=105,159,213'
44 | 'cucumber.eclipse.editor.presentation.gherkin_string_colour=207,9,51'
45 | 'cucumber.eclipse.editor.presentation.gherkin_tag_colour=207,9,51';
46 | }
47 |
48 | IEclipsePreferences#org-eclipse-ui-editors:io-github-pyvesb-eclipse_planet_themes-neptune {
49 | preferences:
50 | 'AbstractTextEditor.Color.SelectionBackground=63,99,139'
51 | 'AbstractTextEditor.Color.Background=40,46,67'
52 | 'LSP4EReadOccurrenceIndicationColor=70,80,110'
53 | 'LSP4ETextOccurrenceIndicationColor=70,80,110'
54 | 'LSP4EWriteOccurrenceIndicationColor=80,80,120'
55 | 'TextOccurrenceIndicationColor=70,80,110'
56 | 'additionIndicationColor=0,0,255'
57 | 'currentIPColor=80,80,120'
58 | 'currentLineColor=55,60,85'
59 | 'deletionIndicationColor=82,117,237'
60 | 'infoIndicationColor=82,117,237'
61 | 'linked.focus.color=207,9,51'
62 | 'linked.target.color=207,9,51'
63 | 'linked.exit.color=196,217,240'
64 | 'matchingBracketsColor=38,144,219'
65 | 'occurrenceIndicationColor=70,80,110'
66 | 'pydevOccurrenceIndicationColor=70,80,110'
67 | 'searchResultIndicationColor=125,140,250'
68 | 'secondaryIPColor=80,80,120'
69 | 'writeOccurrenceIndicationColor=80,80,120';
70 | }
71 |
72 | IEclipsePreferences#org-eclipse-debug-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
73 | preferences:
74 | 'org.eclipse.debug.ui.consoleBackground=40,46,67'
75 | 'org.eclipse.debug.ui.errorColor=207,9,51'
76 | 'org.eclipse.debug.ui.inColor=130,97,239'
77 | 'org.eclipse.debug.ui.outColor=255,255,255';
78 | }
79 |
80 | IEclipsePreferences#org-eclipse-jdt-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
81 | preferences:
82 | 'java_bracket=38,144,219'
83 | 'java_comment_task_tag=38,144,219'
84 | 'java_doc_default=38,144,219'
85 | 'java_doc_keyword=38,144,219'
86 | 'java_doc_link=38,144,219'
87 | 'java_doc_tag=38,144,219'
88 | 'java_keyword=105,159,213'
89 | 'java_keyword_return=105,159,213'
90 | 'java_multi_line_comment=196,217,240'
91 | 'java_operator=38,144,219'
92 | 'java_single_line_comment=196,217,240'
93 | 'java_string=207,9,51'
94 | 'pf_coloring_argument=207,9,51'
95 | 'pf_coloring_comment=196,217,240'
96 | 'pf_coloring_key=105,159,213'
97 | 'semanticHighlighting.annotation.color=207,9,51'
98 | 'semanticHighlighting.field.color=82,117,237'
99 | 'semanticHighlighting.number.color=207,9,51'
100 | 'semanticHighlighting.recordKeyword.color=105,159,213'
101 | 'semanticHighlighting.restrictedKeywords.color=105,159,213'
102 | 'semanticHighlighting.staticField.color=82,117,237'
103 | 'semanticHighlighting.staticFinalField.color=82,117,237'
104 | 'semanticHighlighting.varKeyword.color=105,159,213'
105 | 'semanticHighlighting.yieldKeyword.color=105,159,213'
106 | 'sourceHoverBackgroundColor=40,46,67';
107 | }
108 |
109 | IEclipsePreferences#org-eclipse-wst-xml-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
110 | preferences:
111 | 'cdataBorder=#7454e9 | null | false | false | false | false'
112 | 'commentBorder=#c4d9f0 | null | false | false | false | false'
113 | 'commentText=#c4d9f0 | null | false | false | false | false'
114 | 'declBorder=#2690db | null | false | false | false | false'
115 | 'doctypeExternalId=#5275ed | null | false | false | false | false'
116 | 'doctypeExternalPubref=#5275ed | null | false | false | false | false'
117 | 'doctypeExtrenalSysref=#5275ed | null | false | false | false | false'
118 | 'doctypeName=#cf0933 | null | false | false | false | false'
119 | 'piBorder=#2690db | null | false | false | false | false'
120 | 'tagAttributeName=#699fd5 | null | false | false | false | false'
121 | 'tagAttributeValue=#5275ed | null | false | true | false | false'
122 | 'tagBorder=#2690db | null | false | false | false | false'
123 | 'tagName=#699fd5 | null | true | false | false | false';
124 | }
125 |
126 | IEclipsePreferences#org-python-pydev:io-github-pyvesb-eclipse_planet_themes-neptune {
127 | preferences:
128 | 'BACKQUOTES_COLOR=105,159,213'
129 | 'CLASS_NAME_COLOR=130,97,239'
130 | 'COMMENT_COLOR=196,217,240'
131 | 'DECORATOR_COLOR=207,9,51'
132 | 'DOCSTRING_MARKUP_COLOR=38,144,219'
133 | 'EDITOR_MATCHING_BRACKETS_COLOR=38,144,219'
134 | 'KEYWORD_COLOR=105,159,213'
135 | 'NUMBER_COLOR=207,9,51'
136 | 'OPERATORS_COLOR=38,144,219'
137 | 'PARENS_COLOR=38,144,219'
138 | 'SELF_COLOR=82,117,237'
139 | 'STRING_COLOR=207,9,51'
140 | 'UNICODE_COLOR=207,9,51';
141 | }
142 |
143 | IEclipsePreferences#org-eclipse-mylyn-wikitext-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
144 | preferences:
145 | 'block-h1=font-size: 120%; font-weight: bold; color: #699fd5;'
146 | 'block-h2=font-size: 110%; font-weight: bold; color: #699fd5;'
147 | 'block-h3=font-size: 105%; font-weight: bold; color: #699fd5;'
148 | 'block-h4=font-weight: bold; color: #699fd5;'
149 | 'block-h5=font-size: 90%; font-weight: bold; color: #699fd5;'
150 | 'block-h6=font-size: 80%; font-weight: bold; color: #699fd5;'
151 | 'phrase-code=font-family: monospace; color: #2690db;'
152 | 'block-bc=font-family: monospace; color: #2690db;'
153 | }
154 |
155 | IEclipsePreferences#org-eclipse-pde-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
156 | preferences:
157 | 'editor.color.externalized_string=196,217,240'
158 | 'editor.color.header_attributes=105,159,213'
159 | 'editor.color.header_key=105,159,213'
160 | 'editor.color.header_osgi=105,159,213'
161 | 'editor.color.instr=207,9,51'
162 | 'editor.color.string=207,9,51'
163 | 'editor.color.tag=105,159,213'
164 | 'editor.color.xml_comment=196,217,240';
165 | }
166 |
167 | IEclipsePreferences#org-eclipse-cdt-ui:io-github-pyvesb-eclipse_planet_themes-neptune {
168 | preferences:
169 | 'asm_directive = 8, 144, 219' /* DEFAULT */
170 | 'asm_label = 38, 144, 219' /* DEFAULT */
171 | 'c_braces = 38, 144, 219' /* DEFAULT */
172 | 'c_comment_task_tag = 196, 217, 240' /* COMMENT */
173 | 'c_default = 146, 121, 255' /* DEFAULT2 */
174 | 'c_keyword = 105, 159, 213' /* KEYWORD */
175 | 'c_multi_line_comment = 196, 217, 240' /* COMMENT */
176 | 'c_numbers = 104, 151, 187' /* NUMBERS */
177 | 'c_operators = 38, 144, 219' /* DEFAULT */
178 | 'c_single_line_comment = 196, 217, 240' /* COMMENT */
179 | 'c_string = 84, 120, 234' /* STRING */
180 | 'c_type = 105, 159, 213' /* KEYWORD */
181 | 'pp_default = 38, 144, 219' /* DEFAULT */
182 | 'pp_directive = 105, 125, 213' /* PREPROC */
183 | 'pp_header = 84, 120, 234' /* STRING */
184 | 'semanticHighlighting.class.color = 71, 96, 181' /* STRUCT */
185 | 'semanticHighlighting.enum.color = 129, 155, 204' /* ENUM */
186 | 'semanticHighlighting.enumerator.color = 82, 117, 237' /* STRUCT_FIELD */
187 | 'semanticHighlighting.externalSDK.color = 63, 236, 193'
188 | 'semanticHighlighting.field.color = 82, 117, 237' /* STRUCT_FIELD */
189 | 'semanticHighlighting.function.color = 104, 151, 187' /* FUNCTION */
190 | 'semanticHighlighting.functionDeclaration.color = 62, 106, 229' /* FUNCTION */
191 | 'semanticHighlighting.globalVariable.color = 68, 164, 159'
192 | 'semanticHighlighting.localVariable.color = 67, 223, 247' /* LOCAL VARS */
193 | 'semanticHighlighting.localVariableDeclaration.color = 67, 223, 247' /* LOCAL VARS */
194 | 'semanticHighlighting.macroDefinition.color = 46, 62, 177' /* MACRO */
195 | 'semanticHighlighting.method.color = 62, 106, 229' /* FUNCTION */
196 | 'semanticHighlighting.methodDeclaration.color = 104, 151, 187' /* FUNCTION */
197 | 'semanticHighlighting.namespace.color = 121, 171, 255' /* TYPEDEF */
198 | 'semanticHighlighting.parameterVariable.color = 67, 223, 247' /* LOCAL VARS */
199 | 'semanticHighlighting.staticField.color = 67, 223, 247' /* LOCAL VARS */
200 | 'semanticHighlighting.staticMethod.color = 67, 223, 247' /* LOCAL VARS */
201 | 'semanticHighlighting.typedef.color = 121, 171, 255' /* TYPEDEF */
202 | 'semanticHighlighting.typeParameter.color = 67, 223, 247' /* LOCAL VARS */
203 | 'buildConsoleInfoStreamColor = 18, 144, 195'
204 | 'buildConsoleOutputStreamColor = 200, 200, 200'
205 | 'buildConsoleErrorStreamColor = 163, 5, 5'
206 | 'buildConsoleBackgroundColor = 40, 46, 67'
207 | 'buildConsoleProblemBackgroundColor = 130, 6, 12'
208 | 'buildConsoleProblemWarningBackgroundColor = 150, 88, 11'
209 | 'buildConsoleProblemInfoBackgroundColor = 122, 131, 235'
210 | 'buildConsoleProblemHighlightedColor = 255, 0, 0'
211 | 'sourceHoverBackgroundColor = 40, 46, 67'
212 | 'inactiveCodeColor = 30, 30, 30'
213 | 'org.eclipse.cdt.internal.ui.text.doctools.multi = 196, 217, 240' /* COMMENT */
214 | 'org.eclipse.cdt.internal.ui.text.doctools.recognizedTag = 30, 120, 155'
215 | 'org.eclipse.cdt.internal.ui.text.doctools.single = 196, 217, 240' /* COMMENT */
216 | }
217 |
218 | IEclipsePreferences#org-eclipse-ui-editors:org-eclipse-cdt-ui {
219 | preferences:
220 | 'org.eclipse.cdt.ui.occurrenceIndicationColor = 70, 80, 110'
221 | 'org.eclipse.cdt.ui.writeOccurrenceIndicationColor = 80, 80, 120'
222 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/css/planets-dark.css:
--------------------------------------------------------------------------------
1 | Shell * {
2 | color: #cacaca;
3 | }
4 |
5 | Tree, Table {
6 | swt-header-color: #cacaca;
7 | }
8 |
9 | ExpandableComposite, Section {
10 | swt-titlebar-color: #cacaca;
11 | }
12 |
13 | CTabItem {
14 | color: white;
15 | }
16 |
17 | HeapStatus {
18 | color: none;
19 | }
20 |
21 | IEclipsePreferences#org-eclipse-ui-workbench:io-github-pyvesb-eclipse_planet_themes-planets-dark {
22 | preferences:
23 | 'ADDITION_COLOR=60,228,60'
24 | 'CONFLICTING_COLOR=240,15,66'
25 | 'CONTENT_ASSIST_FOREGROUND_COLOR=202,202,202'
26 | 'EDITION_COLOR=228,228,228'
27 | 'DELETION_COLOR=228,60,60'
28 | 'INCOMING_COLOR=31,179,235'
29 | 'OUTGOING_COLOR=238,238,238'
30 | 'RESOLVED_COLOR=108,210,17'
31 | 'cucumber.eclipse.editor.presentation.gherkin_text_colour=202,202,202'
32 | 'org.eclipse.egit.ui.DiffAddBackgroundColor=30,70,30'
33 | 'org.eclipse.egit.ui.DiffAddForegroundColor=236,236,236'
34 | 'org.eclipse.egit.ui.DiffHeadlineForegroundColor=236,236,236'
35 | 'org.eclipse.egit.ui.DiffHunkForegroundColor=236,236,236'
36 | 'org.eclipse.egit.ui.DiffRemoveBackgroundColor=100,20,20'
37 | 'org.eclipse.egit.ui.DiffRemoveForegroundColor=236,236,236'
38 | 'org.eclipse.egit.ui.IgnoredResourceForegroundColor=202,202,202'
39 | 'org.eclipse.egit.ui.UncommittedChangeForegroundColor=202,202,202'
40 | 'org.eclipse.jdt.ui.Javadoc.foregroundColor=202,202,202'
41 | 'org.eclipse.pde.genericeditor.extension.editor.color.text=202,202,202'
42 | 'org.eclipse.ui.workbench.INFORMATION_FOREGROUND=202,202,202';
43 | }
44 |
45 | IEclipsePreferences#org-eclipse-jdt-ui:io-github-pyvesb-eclipse_planet_themes-planets-dark {
46 | preferences:
47 | 'java_default=202,202,202'
48 | 'pf_coloring_value=202,202,202'
49 | 'pf_coloring_assignment=155,155,155'
50 | 'semanticHighlighting.abstractMethodInvocation.color=202,202,202'
51 | 'semanticHighlighting.annotation.enabled=true'
52 | 'semanticHighlighting.deprecatedMember.color=155,155,155'
53 | 'semanticHighlighting.inheritedMethodInvocation.color=202,202,202'
54 | 'semanticHighlighting.localVariable.color=155,155,155'
55 | 'semanticHighlighting.methodDeclarationName.color=202,202,202'
56 | 'semanticHighlighting.number.enabled=true'
57 | 'semanticHighlighting.staticMethodInvocation.color=202,202,202';
58 | }
59 |
60 | IEclipsePreferences#org-eclipse-ui-editors:io-github-pyvesb-eclipse_planet_themes-planets-dark {
61 | preferences:
62 | 'AbstractTextEditor.Color.Foreground=202,202,202'
63 | 'changeIndicationColor=0,0,0'
64 | 'hyperlinkColor.SystemDefault=false'
65 | 'fullcoverage_color=30,70,30'
66 | 'nocoverage_color=100,20,20'
67 | 'partialcoverage_color=90,90,0';
68 | }
69 |
70 | IEclipsePreferences#org-eclipse-debug-ui:io-github-pyvesb-eclipse_planet_themes-planets-dark {
71 | preferences:
72 | 'org.eclipse.debug.ui.MemoryHistoryKnownColor=235,235,235'
73 | 'org.eclipse.debug.ui.MemoryHistoryUnknownColor=170,175,185'
74 | 'org.eclipse.debug.ui.PREF_CHANGED_VALUE_BACKGROUND=95,5,5'
75 | 'org.eclipse.debug.ui.changedDebugElement=255,128,128'
76 | 'org.eclipse.debug.ui.outColor=202,202,202';
77 | }
78 |
79 | IEclipsePreferences#org-eclipse-wst-xml-ui:io-github-pyvesb-eclipse_planet_themes-planets-dark {
80 | preferences: 'cdataText=#9b9b9b | null | false | false | false | false';
81 | }
82 |
83 | IEclipsePreferences#org-python-pydev:io-github-pyvesb-eclipse_planet_themes-planets-dark {
84 | preferences:
85 | 'CODE_COLOR=202,202,202'
86 | 'FUNC_NAME_COLOR=202,202,202'
87 | 'FUNC_NAME_STYLE=1'
88 | 'KEYWORD_STYLE=1';
89 | }
90 |
91 | IEclipsePreferences#org-eclipse-pde-ui:io-github-pyvesb-eclipse_planet_themes-planets-dark {
92 | preferences:
93 | 'editor.color.default=202,202,202'
94 | 'editor.color.externalized_string_italic=true'
95 | 'editor.color.header_assignment=155,155,155'
96 | 'editor.color.header_assignment_bold=true'
97 | 'editor.color.header_key_bold=true'
98 | 'editor.color.header_value=202,202,202'
99 | 'editor.color.header_value_italic=false'
100 | 'editor.color.instr_bold=true'
101 | 'editor.color.string_italic=false'
102 | 'editor.color.tag_bold=true';
103 | }
104 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/planets-unix.css:
--------------------------------------------------------------------------------
1 | FontDefinition#org-eclipse-jface-textfont,
2 | FontDefinition#org-eclipse-ui-workbench-texteditor-blockSelectionModeFont,
3 | FontDefinition#org-eclipse-jdt-ui-editors-textfont {
4 | font-family: 'Fira Code';
5 | font-size: 12px;
6 | }
7 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/planets-win.css:
--------------------------------------------------------------------------------
1 | Tree, Table {
2 | swt-lines-visible: false;
3 | }
4 |
5 | FontDefinition#org-eclipse-jface-textfont,
6 | FontDefinition#org-eclipse-ui-workbench-texteditor-blockSelectionModeFont,
7 | FontDefinition#org-eclipse-jdt-ui-editors-textfont {
8 | font-family: 'Fira Code';
9 | font-size: 9px;
10 | }
11 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/planets.css:
--------------------------------------------------------------------------------
1 | CTabFolder {
2 | padding: 0px 0px 1px 0px;
3 | swt-tab-renderer: url('bundleclass://io.github.pyvesb.eclipse_planet_themes/io.github.pyvesb.eclipse_planet_themes.CTabFolderPlanetsRenderer');
4 | swt-tab-outline: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
5 | swt-selected-tab-fill: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
6 | swt-outer-keyline-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
7 | swt-maximize-visible: false;
8 | swt-selected-tab-highlight: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
9 | swt-selected-highlight-top: true;
10 | }
11 |
12 | CTabFolder.active {
13 | swt-selected-tab-highlight: none;
14 | swt-tab-outline: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
15 | swt-selected-tab-fill: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
16 | }
17 |
18 | /* CTabFolders within dialogs do not support the active pseudo CSS class. */
19 | Shell[swt-data-class ~= 'org.eclipse.jface.dialogs.Dialog'] * CTabFolder {
20 | padding: 0px ;
21 | swt-selected-tab-highlight: none;
22 | swt-tab-outline: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
23 | swt-selected-tab-fill: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
24 | }
25 |
26 | CTabFolder#org-eclipse-ui-editorss,
27 | Composite#org-eclipse-ui-editorss * CTabFolder {
28 | swt-minimize-visible: false;
29 | }
30 |
31 | .MToolBar.Draggable,
32 | .MToolControl.TrimStack,
33 | .MToolControl.Draggable {
34 | handle-image: url('platform:/plugin/io.github.pyvesb.eclipse_planet_themes/images/handle.png');
35 | handle-image-rotated: url('platform:/plugin/io.github.pyvesb.eclipse_planet_themes/images/handle-rotated.png');
36 | }
37 |
38 | .DragFeedback,
39 | .ModifiedDragFeedback {
40 | background-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
41 | }
42 |
43 | CTabItem {
44 | swt-show-close: false;
45 | }
46 |
47 | Shell, Shell * {
48 | background-color:'#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
49 | }
50 |
51 | Shell[swt-data-class ~= 'org.eclipse.jface.dialogs.PopupDialog'] *,
52 | StagingView-18 > StyledText,
53 | Button[style~='SWT.PUSH'],
54 | Text[style~='SWT.BORDER'],
55 | Combo,
56 | CCombo,
57 | List,
58 | Spinner,
59 | TreeAdapter,
60 | TableAdapter {
61 | background-color: '#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR';
62 | }
63 |
64 | Tree, Table {
65 | background-color: '#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR';
66 | swt-header-background-color: '#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR';
67 | }
68 |
69 | Form, Section, ExpandableComposite {
70 | tb-toggle-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
71 | tb-toggle-hover-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
72 | }
73 |
74 | Form {
75 | h-hover-full-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
76 | h-hover-light-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
77 | h-bottom-keyline-2-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
78 | h-bottom-keyline-1-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
79 | swt-background-mode: 'force';
80 | text-background-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
81 | }
82 |
83 | TabbedPropertyTitle {
84 | swt-backgroundgradientstart-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
85 | swt-backgroundgradientend-color: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
86 | swt-backgroundbottomkeyline1-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
87 | swt-backgroundbottomkeyline2-color: '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR';
88 | }
89 |
90 | Section {
91 | background-color-gradient-titlebar: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
92 | background-color-titlebar: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
93 | border-color-titlebar: '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR';
94 | }
95 |
96 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR {
97 | category: '#io-github-pyvesb-eclipse_planet_themes-themeElementCategory';
98 | label: 'Background Color';
99 | description: 'The background color of most visual elements.';
100 | }
101 |
102 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR {
103 | category: '#io-github-pyvesb-eclipse_planet_themes-themeElementCategory';
104 | label: 'Accent Color';
105 | description: 'The color for tab highlights and keylines.';
106 | }
107 |
108 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR {
109 | category: '#io-github-pyvesb-eclipse_planet_themes-themeElementCategory';
110 | label: 'Interaction Color';
111 | description: 'The background color for buttons, various selectable elements, trees and tables.';
112 | }
113 |
114 | ThemesExtension {
115 | color-definition:
116 | '#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR',
117 | '#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR',
118 | '#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR';
119 | }
120 |
121 | IEclipsePreferences#org-eclipse-ui-editors:io-github-pyvesb-eclipse_planet_themes-planets {
122 | preferences:
123 | 'AbstractTextEditor.Color.Background.SystemDefault=false'
124 | 'AbstractTextEditor.Color.Foreground.SystemDefault=false'
125 | 'AbstractTextEditor.Color.SelectionBackground.SystemDefault=false'
126 | 'AbstractTextEditor.Color.SelectionForeground.SystemDefault=false'
127 | 'AbstractTextEditor.Color.SelectionForeground=0,0,0'
128 | 'searchResultIndication=true'
129 | 'searchResultHighlighting=false'
130 | 'searchResultTextStyle=DASHED_BOX';
131 | }
132 |
133 | /* recordKeyword, varKeyword, yieldKeyword are for Eclipse 2020-09 and older, but were replaced by restrictedKeywords in 2020-12. */
134 | IEclipsePreferences#org-eclipse-jdt-ui:io-github-pyvesb-eclipse_planet_themes-planets {
135 | preferences:
136 | 'java_keyword_bold=true'
137 | 'java_keyword_return_bold=true'
138 | 'semanticHighlighting.methodDeclarationName.enabled=true'
139 | 'semanticHighlighting.methodDeclarationName.bold=true'
140 | 'semanticHighlighting.restrictedKeywords.bold=true'
141 | 'semanticHighlighting.recordKeyword.bold=true'
142 | 'semanticHighlighting.varKeyword.bold=true'
143 | 'semanticHighlighting.yieldKeyword.bold=true';
144 | }
145 |
146 | IEclipsePreferences#org-eclipse-cdt-ui:io-github-pyvesb-eclipse_planet_themes-planets {
147 | preferences:
148 | 'semanticHighlighting.class.enabled=true'
149 | 'semanticHighlighting.class.bold=true'
150 | 'semanticHighlighting.enum.enabled=true'
151 | 'semanticHighlighting.enumerator.enabled=true'
152 | 'semanticHighlighting.enum.italic=true'
153 | 'semanticHighlighting.externalSDK.enabled=true'
154 | 'semanticHighlighting.field.enabled=true'
155 | 'semanticHighlighting.function.enabled=true'
156 | 'semanticHighlighting.functionDeclaration.enabled=true'
157 | 'semanticHighlighting.functionDeclaration.bold=true'
158 | 'semanticHighlighting.globalVariable.enabled=true'
159 | 'semanticHighlighting.globalVariable.italic=false'
160 | 'semanticHighlighting.localVariable.enabled=true'
161 | 'semanticHighlighting.localVariableDeclaration.enabled=true'
162 | 'semanticHighlighting.macroDefinition.enabled=true'
163 | 'semanticHighlighting.macroDefinition.bold=true'
164 | 'semanticHighlighting.method.enabled=true'
165 | 'semanticHighlighting.methodDeclaration.enabled=true'
166 | 'semanticHighlighting.methodDeclaration.bold=true'
167 | 'semanticHighlighting.namespace.enabled=true'
168 | 'semanticHighlighting.parameterVariable.enabled=true'
169 | 'semanticHighlighting.staticField.enabled=true'
170 | 'semanticHighlighting.staticMethod.enabled=true'
171 | 'semanticHighlighting.typedef.enabled=true'
172 | 'semanticHighlighting.typedef.bold=true'
173 | 'semanticHighlighting.typeParameter.enabled=true'
174 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/css/pluto-unix.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/pluto.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-unix.css");
3 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/pluto-win.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/pluto.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-win.css");
3 |
--------------------------------------------------------------------------------
/planet-themes-plugin/css/pluto.css:
--------------------------------------------------------------------------------
1 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets.css");
2 | @import url("platform:/plugin/io.github.pyvesb.eclipse_planet_themes/css/planets-dark.css");
3 |
4 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-BACKGROUND_COLOR {
5 | color: #221f23;
6 | }
7 |
8 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-ACCENT_COLOR {
9 | color: #7454e1;
10 | }
11 |
12 | ColorDefinition#io-github-pyvesb-eclipse_planet_themes-INTERACTION_COLOR {
13 | color: #1e1b1e;
14 | }
15 |
16 | /* The backgrounds of some SashForms (e.g. Debug Variable view) are not styled unless this is specified again. */
17 | SashForm {
18 | background-color: #221f23;
19 | }
20 |
21 | IEclipsePreferences#org-eclipse-ui-workbench:io-github-pyvesb-eclipse_planet_themes-pluto {
22 | preferences:
23 | 'ACTIVE_HYPERLINK_COLOR=236,154,24'
24 | 'CONTENT_ASSIST_BACKGROUND_COLOR=34,31,35'
25 | 'HYPERLINK_COLOR=236,154,24'
26 | 'org.eclipse.egit.ui.UncommittedChangeBackgroundColor=30,27,30'
27 | 'org.eclipse.egit.ui.DiffHeadlineBackgroundColor=30,27,30'
28 | 'org.eclipse.egit.ui.DiffHunkBackgroundColor=30,27,30'
29 | 'org.eclipse.jdt.ui.Javadoc.backgroundColor=34,31,35'
30 | 'org.eclipse.jface.REVISION_NEWEST_COLOR=160,120,40'
31 | 'org.eclipse.jface.REVISION_OLDEST_COLOR=70,45,3'
32 | 'org.eclipse.pde.genericeditor.extension.editor.color.attribute=116,84,225'
33 | 'org.eclipse.pde.genericeditor.extension.editor.color.comment=240,218,196'
34 | 'org.eclipse.pde.genericeditor.extension.editor.color.header=116,84,225'
35 | 'org.eclipse.pde.genericeditor.extension.editor.color.quote=236,154,24'
36 | 'org.eclipse.pde.genericeditor.extension.editor.color.tag=116,84,225'
37 | 'org.eclipse.search.ui.match.highlight=66,50,84'
38 | 'org.eclipse.ui.editors.rangeIndicatorColor=116,84,225'
39 | 'org.eclipse.ui.workbench.INFORMATION_BACKGROUND=34,31,35'
40 | 'cucumber.eclipse.editor.presentation.gherkin_comment_colour=240,218,196'
41 | 'cucumber.eclipse.editor.presentation.gherkin_keyword_colour=236,154,24'
42 | 'cucumber.eclipse.editor.presentation.gherkin_numeric_literal_colour=189,51,30'
43 | 'cucumber.eclipse.editor.presentation.gherkin_step_colour=116,84,225'
44 | 'cucumber.eclipse.editor.presentation.gherkin_string_colour=189,51,30'
45 | 'cucumber.eclipse.editor.presentation.gherkin_tag_colour=189,51,30';
46 | }
47 |
48 | IEclipsePreferences#org-eclipse-ui-editors:io-github-pyvesb-eclipse_planet_themes-pluto {
49 | preferences:
50 | 'AbstractTextEditor.Color.SelectionBackground=99,63,139'
51 | 'AbstractTextEditor.Color.Background=34,31,35'
52 | 'LSP4EReadOccurrenceIndicationColor=80,70,85'
53 | 'LSP4ETextOccurrenceIndicationColor=80,70,85'
54 | 'LSP4EWriteOccurrenceIndicationColor=100,90,110'
55 | 'TextOccurrenceIndicationColor=80,70,85'
56 | 'additionIndicationColor=128,0,255'
57 | 'currentIPColor=100,90,110'
58 | 'currentLineColor=64,57,66'
59 | 'deletionIndicationColor=116,84,225'
60 | 'infoIndicationColor=116,84,225'
61 | 'linked.focus.color=189,51,30'
62 | 'linked.target.color=189,51,30'
63 | 'linked.exit.color=240,218,196'
64 | 'matchingBracketsColor=236,154,24'
65 | 'occurrenceIndicationColor=80,70,85'
66 | 'pydevOccurrenceIndicationColor=80,70,85'
67 | 'searchResultIndicationColor=133,51,234'
68 | 'secondaryIPColor=100,90,110'
69 | 'writeOccurrenceIndicationColor=100,90,110';
70 | }
71 |
72 | IEclipsePreferences#org-eclipse-debug-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
73 | preferences:
74 | 'org.eclipse.debug.ui.consoleBackground=34,31,35'
75 | 'org.eclipse.debug.ui.errorColor=189,51,30'
76 | 'org.eclipse.debug.ui.inColor=223,153,84';
77 | }
78 |
79 | IEclipsePreferences#org-eclipse-jdt-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
80 | preferences:
81 | 'java_bracket=236,154,24'
82 | 'java_comment_task_tag=236,154,24'
83 | 'java_doc_default=236,154,24'
84 | 'java_doc_keyword=236,154,24'
85 | 'java_doc_link=236,154,24'
86 | 'java_doc_tag=236,154,24'
87 | 'java_keyword=116,84,225'
88 | 'java_keyword_return=116,84,225'
89 | 'java_multi_line_comment=240,218,196'
90 | 'java_operator=236,154,24'
91 | 'java_single_line_comment=240,218,196'
92 | 'java_string=189,51,30'
93 | 'pf_coloring_argument=189,51,30'
94 | 'pf_coloring_comment=240,218,196'
95 | 'pf_coloring_key=116,84,225'
96 | 'semanticHighlighting.annotation.color=189,51,30'
97 | 'semanticHighlighting.field.color=219,162,38'
98 | 'semanticHighlighting.number.color=189,51,30'
99 | 'semanticHighlighting.recordKeyword.color=116,84,225'
100 | 'semanticHighlighting.restrictedKeywords.color=116,84,225'
101 | 'semanticHighlighting.staticField.color=219,162,38'
102 | 'semanticHighlighting.staticFinalField.color=219,162,38'
103 | 'semanticHighlighting.varKeyword.color=116,84,225'
104 | 'semanticHighlighting.yieldKeyword.color=116,84,225'
105 | 'sourceHoverBackgroundColor=34,31,35';
106 | }
107 |
108 | IEclipsePreferences#org-eclipse-wst-xml-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
109 | preferences:
110 | 'cdataBorder=#7454e9 | null | false | false | false | false'
111 | 'commentBorder=#f0dac4 | null | false | false | false | false'
112 | 'commentText=#f0dac4 | null | false | false | false | false'
113 | 'declBorder=#ec9a18 | null | false | false | false | false'
114 | 'doctypeExternalId=#7454e1 | null | false | false | false | false'
115 | 'doctypeExternalPubref=#7454e1 | null | false | false | false | false'
116 | 'doctypeExtrenalSysref=#7454e1 | null | false | false | false | false'
117 | 'doctypeName=#bd331e | null | false | false | false | false'
118 | 'piBorder=#ec9a18 | null | false | false | false | false'
119 | 'tagAttributeName=#7454e1 | null | false | false | false | false'
120 | 'tagAttributeValue=#7454e1 | null | false | true | false | false'
121 | 'tagBorder=#ec9a18 | null | false | false | false | false'
122 | 'tagName=#7454e1 | null | true | false | false | false';
123 | }
124 |
125 | IEclipsePreferences#org-python-pydev:io-github-pyvesb-eclipse_planet_themes-pluto {
126 | preferences:
127 | 'BACKQUOTES_COLOR=116,84,225'
128 | 'CLASS_NAME_COLOR=223,153,84'
129 | 'COMMENT_COLOR=240,218,196'
130 | 'DECORATOR_COLOR=189,51,30'
131 | 'DOCSTRING_MARKUP_COLOR=236,154,24'
132 | 'EDITOR_MATCHING_BRACKETS_COLOR=236,154,24'
133 | 'KEYWORD_COLOR=116,84,225'
134 | 'NUMBER_COLOR=189,51,30'
135 | 'OPERATORS_COLOR=236,154,24'
136 | 'PARENS_COLOR=236,154,24'
137 | 'SELF_COLOR=219,162,38'
138 | 'STRING_COLOR=189,51,30'
139 | 'UNICODE_COLOR=189,51,30';
140 | }
141 |
142 | IEclipsePreferences#org-eclipse-mylyn-wikitext-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
143 | preferences:
144 | 'block-h1=font-size: 120%; font-weight: bold; color: #7454e1;'
145 | 'block-h2=font-size: 110%; font-weight: bold; color: #7454e1;'
146 | 'block-h3=font-size: 105%; font-weight: bold; color: #7454e1;'
147 | 'block-h4=font-weight: bold; color: #7454e1;'
148 | 'block-h5=font-size: 90%; font-weight: bold; color: #7454e1;'
149 | 'block-h6=font-size: 80%; font-weight: bold; color: #7454e1;'
150 | 'phrase-code=font-family: monospace; color: #ec9a18;'
151 | 'block-bc=font-family: monospace; color: #ec9a18;'
152 | }
153 |
154 | IEclipsePreferences#org-eclipse-pde-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
155 | preferences:
156 | 'editor.color.externalized_string=240,218,196'
157 | 'editor.color.header_attributes=116,84,225'
158 | 'editor.color.header_key=116,84,225'
159 | 'editor.color.header_osgi=116,84,225'
160 | 'editor.color.instr=236,154,24'
161 | 'editor.color.string=236,154,24'
162 | 'editor.color.tag=116,84,225'
163 | 'editor.color.xml_comment=240,218,196';
164 | }
165 |
166 | IEclipsePreferences#org-eclipse-cdt-ui:io-github-pyvesb-eclipse_planet_themes-pluto {
167 | preferences:
168 | 'asm_directive = 236, 154, 24'
169 | 'asm_label = 236, 154, 24'
170 | 'c_braces = 236, 154, 24'
171 | 'c_comment_task_tag = 236, 154, 24'
172 | 'c_default = 236, 154, 24'
173 | 'c_keyword = 116, 84, 225'
174 | 'c_multi_line_comment = 240, 218, 196'
175 | 'c_numbers = 189, 51, 30'
176 | 'c_operators = 236, 154, 24'
177 | 'c_single_line_comment = 240, 218, 196'
178 | 'c_string = 189, 51, 30'
179 | 'c_type = 116, 84, 225'
180 | 'pp_default = 189, 51, 30'
181 | 'pp_directive = 189, 51, 30'
182 | 'pp_header = 189, 51, 30'
183 | 'semanticHighlighting.class.color = 219, 162, 38'
184 | 'semanticHighlighting.enum.color = 219, 116, 38'
185 | 'semanticHighlighting.enumerator.color = 219, 116, 38'
186 | 'semanticHighlighting.externalSDK.color = 116, 84, 225'
187 | 'semanticHighlighting.field.color = 219, 162, 38'
188 | 'semanticHighlighting.function.color = 202, 202, 202'
189 | 'semanticHighlighting.functionDeclaration.color = 202, 202, 202'
190 | 'semanticHighlighting.globalVariable.color = 189, 51, 30'
191 | 'semanticHighlighting.localVariable.color = 219, 162, 38'
192 | 'semanticHighlighting.localVariableDeclaration.color = 219, 162, 38'
193 | 'semanticHighlighting.macroDefinition.color = 156, 73, 61'
194 | 'semanticHighlighting.method.color = 202, 202, 202'
195 | 'semanticHighlighting.methodDeclaration.color = 202, 202, 202'
196 | 'semanticHighlighting.namespace.color = 219, 162, 38'
197 | 'semanticHighlighting.parameterVariable.color = 153, 121, 52'
198 | 'semanticHighlighting.staticField.color = 219, 162, 38'
199 | 'semanticHighlighting.staticMethod.color = 219, 162, 38'
200 | 'semanticHighlighting.typedef.color = 219, 162, 38'
201 | 'semanticHighlighting.typeParameter.color = 219, 162, 38'
202 | 'buildConsoleInfoStreamColor = 18, 144, 195'
203 | 'buildConsoleOutputStreamColor = 200, 200, 200'
204 | 'buildConsoleErrorStreamColor = 163, 5, 5'
205 | 'buildConsoleBackgroundColor = 40, 46, 67'
206 | 'buildConsoleProblemBackgroundColor = 130, 6, 12'
207 | 'buildConsoleProblemWarningBackgroundColor = 150, 88, 11'
208 | 'buildConsoleProblemInfoBackgroundColor = 122, 131, 235'
209 | 'buildConsoleProblemHighlightedColor = 255, 0, 0'
210 | 'sourceHoverBackgroundColor = 34, 31, 35'
211 | 'inactiveCodeColor = 30, 30, 30'
212 | 'org.eclipse.cdt.internal.ui.text.doctools.multi = 240, 218, 196'
213 | 'org.eclipse.cdt.internal.ui.text.doctools.recognizedTag = 30, 120, 155'
214 | 'org.eclipse.cdt.internal.ui.text.doctools.single = 240, 218, 196'
215 |
216 | }
217 |
218 | IEclipsePreferences#org-eclipse-ui-editors:org-eclipse-cdt-ui {
219 | preferences:
220 | 'org.eclipse.cdt.ui.occurrenceIndicationColor = 80, 70, 85'
221 | 'org.eclipse.cdt.ui.writeOccurrenceIndicationColor = 100, 90, 110'
222 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/FiraCode-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/fonts/FiraCode-Bold.ttf
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/FiraCode-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/fonts/FiraCode-Light.ttf
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/FiraCode-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/fonts/FiraCode-Medium.ttf
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/FiraCode-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/fonts/FiraCode-Regular.ttf
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/FiraCode-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/fonts/FiraCode-SemiBold.ttf
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014, The Fira Code Project Authors (https://github.com/tonsky/FiraCode)
2 |
3 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
4 | This license is copied below, and is also available with a FAQ at:
5 | http://scripts.sil.org/OFL
6 |
7 |
8 | -----------------------------------------------------------
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | -----------------------------------------------------------
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide
14 | development of collaborative font projects, to support the font creation
15 | efforts of academic and linguistic communities, and to provide a free and
16 | open framework in which fonts may be shared and improved in partnership
17 | with others.
18 |
19 | The OFL allows the licensed fonts to be used, studied, modified and
20 | redistributed freely as long as they are not sold by themselves. The
21 | fonts, including any derivative works, can be bundled, embedded,
22 | redistributed and/or sold with any software provided that any reserved
23 | names are not used by derivative works. The fonts and derivatives,
24 | however, cannot be released under any other type of license. The
25 | requirement for fonts to remain under this license does not apply
26 | to any document created using the fonts or their derivatives.
27 |
28 | DEFINITIONS
29 | "Font Software" refers to the set of files released by the Copyright
30 | Holder(s) under this license and clearly marked as such. This may
31 | include source files, build scripts and documentation.
32 |
33 | "Reserved Font Name" refers to any names specified as such after the
34 | copyright statement(s).
35 |
36 | "Original Version" refers to the collection of Font Software components as
37 | distributed by the Copyright Holder(s).
38 |
39 | "Modified Version" refers to any derivative made by adding to, deleting,
40 | or substituting -- in part or in whole -- any of the components of the
41 | Original Version, by changing formats or by porting the Font Software to a
42 | new environment.
43 |
44 | "Author" refers to any designer, engineer, programmer, technical
45 | writer or other person who contributed to the Font Software.
46 |
47 | PERMISSION & CONDITIONS
48 | Permission is hereby granted, free of charge, to any person obtaining
49 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
50 | redistribute, and sell modified and unmodified copies of the Font
51 | Software, subject to the following conditions:
52 |
53 | 1) Neither the Font Software nor any of its individual components,
54 | in Original or Modified Versions, may be sold by itself.
55 |
56 | 2) Original or Modified Versions of the Font Software may be bundled,
57 | redistributed and/or sold with any software, provided that each copy
58 | contains the above copyright notice and this license. These can be
59 | included either as stand-alone text files, human-readable headers or
60 | in the appropriate machine-readable metadata fields within text or
61 | binary files as long as those fields can be easily viewed by the user.
62 |
63 | 3) No Modified Version of the Font Software may use the Reserved Font
64 | Name(s) unless explicit written permission is granted by the corresponding
65 | Copyright Holder. This restriction only applies to the primary font name as
66 | presented to the users.
67 |
68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69 | Software shall not be used to promote, endorse or advertise any
70 | Modified Version, except to acknowledge the contribution(s) of the
71 | Copyright Holder(s) and the Author(s) or with their explicit written
72 | permission.
73 |
74 | 5) The Font Software, modified or unmodified, in part or in whole,
75 | must be distributed entirely under this license, and must not be
76 | distributed under any other license. The requirement for fonts to
77 | remain under this license does not apply to any document created
78 | using the Font Software.
79 |
80 | TERMINATION
81 | This license becomes null and void if any of the above conditions are
82 | not met.
83 |
84 | DISCLAIMER
85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93 | OTHER DEALINGS IN THE FONT SOFTWARE.
94 |
--------------------------------------------------------------------------------
/planet-themes-plugin/fonts/README.txt:
--------------------------------------------------------------------------------
1 | The font files in this package are from the FiraCode 6.2 release. The font's license is included in the LICENSE.txt file.
2 |
--------------------------------------------------------------------------------
/planet-themes-plugin/images/handle-rotated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/images/handle-rotated.png
--------------------------------------------------------------------------------
/planet-themes-plugin/images/handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PyvesB/eclipse-planet-themes/f0c6f52761cd4400083f868ce2428a6afec5c02a/planet-themes-plugin/images/handle.png
--------------------------------------------------------------------------------
/planet-themes-plugin/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
11 |
12 |
17 |
18 |
23 |
24 |
29 |
30 |
35 |
36 |
41 |
42 |
47 |
48 |
53 |
54 |
59 |
60 |
61 |
63 |
66 |
67 |
68 |
70 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/com/codeaffine/eclipse/ui/swt/theme/FontLoader.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2014 - 2021 Frank Appel
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * Frank Appel - initial API and implementation
10 | * Pierre-Yves B. - switch to Fira Code and use ILog instead of LogService
11 | */
12 | package com.codeaffine.eclipse.ui.swt.theme;
13 |
14 | import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
15 | import static java.util.Collections.emptyMap;
16 | import static java.util.Collections.list;
17 | import static org.eclipse.core.runtime.FileLocator.find;
18 |
19 | import java.io.File;
20 | import java.io.IOException;
21 | import java.io.InputStream;
22 | import java.net.URL;
23 | import java.nio.file.Files;
24 | import java.util.Enumeration;
25 |
26 | import org.eclipse.core.runtime.FileLocator;
27 | import org.eclipse.core.runtime.IStatus;
28 | import org.eclipse.core.runtime.Path;
29 | import org.eclipse.core.runtime.Platform;
30 | import org.eclipse.core.runtime.Status;
31 | import org.eclipse.swt.widgets.Display;
32 | import org.osgi.framework.Bundle;
33 | import org.osgi.framework.FrameworkUtil;
34 | import static java.nio.file.Files.copy;
35 |
36 | class FontLoader {
37 |
38 | static final String FONT_FACE = "Fira Code";
39 | static final String FONTS_DIRECTORY = "/fonts";
40 |
41 | private final String fontDirectory;
42 |
43 | FontLoader( String fontDirectory ) {
44 | this.fontDirectory = fontDirectory;
45 | }
46 |
47 | void load( Bundle bundle, Display display ) {
48 | try {
49 | doLoad( bundle, display );
50 | } catch( RuntimeException rte ) {
51 | Platform.getLog( bundle ).log( new Status( IStatus.ERROR, bundle.getSymbolicName(), "Unable to load fonts.", rte ) );
52 | }
53 | }
54 |
55 | private void doLoad( Bundle bundle, Display display ) {
56 | list( getFontPaths( bundle, fontDirectory ) )
57 | .forEach( fontPath -> loadFont( bundle, fontPath, display ) );
58 | }
59 |
60 | private static Enumeration getFontPaths( Bundle bundle, String fontDirectory ) {
61 | return bundle.getEntryPaths( fontDirectory );
62 | }
63 |
64 | private static void loadFont( Bundle bundle, String fontPath, Display display ) {
65 | if( fontPath.endsWith( ".ttf" ) ) {
66 | URL url = computeFontUrl( find( bundle, new Path( fontPath ), emptyMap() ) );
67 | File diskLocation = getDiskLocation( fontPath );
68 | copyToDisk( url, diskLocation );
69 | display.asyncExec( () -> display.loadFont( diskLocation.toString() ) );
70 | }
71 | }
72 |
73 | private static File getDiskLocation( String fontPath ) {
74 | try {
75 | return Platform.getStateLocation(FrameworkUtil.getBundle(FontLoader.class)).append( fontPath ).toFile().getCanonicalFile();
76 | } catch( IOException shouldNotHappen ) {
77 | throw new IllegalStateException( shouldNotHappen );
78 | }
79 | }
80 |
81 | private static URL computeFontUrl( URL url ) {
82 | try {
83 | return FileLocator.toFileURL( url );
84 | } catch( IOException shouldNotHappen ) {
85 | throw new IllegalStateException( shouldNotHappen );
86 | }
87 | }
88 |
89 | private static void copyToDisk( URL url, File diskLocation ) {
90 | try( InputStream input = url.openStream() ) {
91 | ensureDirectoryExists( diskLocation.toPath() );
92 | copy( input, diskLocation.toPath(), REPLACE_EXISTING );
93 | } catch (IOException shouldNotHappen ) {
94 | throw new IllegalStateException( shouldNotHappen );
95 | }
96 | }
97 |
98 | private static void ensureDirectoryExists( java.nio.file.Path path ) throws IOException {
99 | if( !Files.exists( path.getParent() ) ) {
100 | Files.createDirectories( path.getParent() );
101 | }
102 | }
103 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/com/codeaffine/eclipse/ui/swt/theme/FontOnStartupLoader.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2014 - 2020 Frank Appel
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * Frank Appel - initial API and implementation
10 | * Pierre-Yves B. - remove isPlatformSupported check
11 | */
12 | package com.codeaffine.eclipse.ui.swt.theme;
13 |
14 | import org.eclipse.swt.widgets.Shell;
15 | import org.eclipse.ui.IStartup;
16 | import org.eclipse.ui.PlatformUI;
17 | import org.osgi.framework.Bundle;
18 | import org.osgi.framework.FrameworkUtil;
19 |
20 | public class FontOnStartupLoader implements IStartup {
21 |
22 | private final FontRegistryUpdater fontRegistryUpdater;
23 | private final FontLoader fontLoader;
24 |
25 | public FontOnStartupLoader() {
26 | fontLoader = new FontLoader( FontLoader.FONTS_DIRECTORY );
27 | fontRegistryUpdater = new FontRegistryUpdater();
28 | }
29 |
30 | @Override
31 | public void earlyStartup() {
32 | waitTillWorkbenchWindowExists();
33 | loadFont( getShell() );
34 | }
35 |
36 | private static void waitTillWorkbenchWindowExists() {
37 | long timeout = System.currentTimeMillis() + 1000;
38 | while( PlatformUI.getWorkbench().getWorkbenchWindows().length == 0 && timeout > System.currentTimeMillis() ) {
39 | try {
40 | Thread.sleep( 50 );
41 | } catch( InterruptedException shouldNotHappen ) {
42 | throw new IllegalStateException( shouldNotHappen );
43 | }
44 | }
45 | }
46 |
47 | private static Shell getShell() {
48 | return PlatformUI.getWorkbench().getWorkbenchWindows()[ 0 ].getShell();
49 | }
50 |
51 | private void loadFont( Shell shell ) {
52 | Bundle bundle = FrameworkUtil.getBundle( FontOnStartupLoader.class );
53 | fontLoader.load( bundle, shell.getDisplay() );
54 | fontRegistryUpdater.update( shell );
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/com/codeaffine/eclipse/ui/swt/theme/FontRegistryUpdater.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2014 - 2017 Frank Appel
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * Frank Appel - initial API and implementation
10 | */
11 | package com.codeaffine.eclipse.ui.swt.theme;
12 |
13 | import org.eclipse.jface.resource.FontRegistry;
14 | import org.eclipse.swt.graphics.Font;
15 | import org.eclipse.swt.widgets.Display;
16 | import org.eclipse.swt.widgets.Shell;
17 | import org.eclipse.ui.PlatformUI;
18 |
19 | /*
20 | * Note that this is a highly experimental workaround. It tries to solve timing
21 | * issues when applying the font-face in case that there are open editors on workbench
22 | * startup. Without this code undetermined font faces would be applied, and only
23 | * manually resetting the appropriate font preferences would fix the problem.
24 | */
25 | class FontRegistryUpdater {
26 |
27 | public void update( Shell shell ) {
28 | shell.getDisplay().asyncExec( () -> {
29 | shell.setRedraw( false );
30 | try {
31 | updateFontEntries( shell.getDisplay() );
32 | } finally {
33 | shell.setRedraw( true );
34 | }
35 | } );
36 | }
37 |
38 | private static void updateFontEntries( Display display ) {
39 | FontRegistry fontRegistry = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry();
40 | if( FontLoader.FONT_FACE.equals( fontRegistry.getFontData( "org.eclipse.jface.textfont" )[ 0 ].getName() ) ) {
41 | updateFontEntry( display, fontRegistry, "org.eclipse.ui.workbench.texteditor.blockSelectionModeFont" );
42 | updateFontEntry( display, fontRegistry, "org.eclipse.jface.textfont" );
43 | updateFontEntry( display, fontRegistry, "org.eclipse.jdt.ui.editors.textfont" );
44 | }
45 | }
46 |
47 | private static void updateFontEntry( Display display, FontRegistry fontRegistry, String symbolicName ) {
48 | Font textFont = fontRegistry.get( symbolicName );
49 | fontRegistry.put( symbolicName, display.getSystemFont().getFontData() );
50 | display.readAndDispatch();
51 | fontRegistry.put( symbolicName, textFont.getFontData() );
52 | display.readAndDispatch();
53 | }
54 | }
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/com/codeaffine/eclipse/ui/swt/theme/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Eclipse Public License - v 1.0
2 |
3 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
4 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
5 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6 |
7 | 1. DEFINITIONS
8 |
9 | "Contribution" means:
10 |
11 | a) in the case of the initial Contributor, the initial code and documentation
12 | distributed under this Agreement, and
13 | b) in the case of each subsequent Contributor:
14 | i) changes to the Program, and
15 | ii) additions to the Program;
16 |
17 | where such changes and/or additions to the Program originate from and are
18 | distributed by that particular Contributor. A Contribution 'originates'
19 | from a Contributor if it was added to the Program by such Contributor
20 | itself or anyone acting on such Contributor's behalf. Contributions do not
21 | include additions to the Program which: (i) are separate modules of
22 | software distributed in conjunction with the Program under their own
23 | license agreement, and (ii) are not derivative works of the Program.
24 |
25 | "Contributor" means any person or entity that distributes the Program.
26 |
27 | "Licensed Patents" mean patent claims licensable by a Contributor which are
28 | necessarily infringed by the use or sale of its Contribution alone or when
29 | combined with the Program.
30 |
31 | "Program" means the Contributions distributed in accordance with this
32 | Agreement.
33 |
34 | "Recipient" means anyone who receives the Program under this Agreement,
35 | including all Contributors.
36 |
37 | 2. GRANT OF RIGHTS
38 | a) Subject to the terms of this Agreement, each Contributor hereby grants
39 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
40 | reproduce, prepare derivative works of, publicly display, publicly
41 | perform, distribute and sublicense the Contribution of such Contributor,
42 | if any, and such derivative works, in source code and object code form.
43 | b) Subject to the terms of this Agreement, each Contributor hereby grants
44 | Recipient a non-exclusive, worldwide, royalty-free patent license under
45 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
46 | transfer the Contribution of such Contributor, if any, in source code and
47 | object code form. This patent license shall apply to the combination of
48 | the Contribution and the Program if, at the time the Contribution is
49 | added by the Contributor, such addition of the Contribution causes such
50 | combination to be covered by the Licensed Patents. The patent license
51 | shall not apply to any other combinations which include the Contribution.
52 | No hardware per se is licensed hereunder.
53 | c) Recipient understands that although each Contributor grants the licenses
54 | to its Contributions set forth herein, no assurances are provided by any
55 | Contributor that the Program does not infringe the patent or other
56 | intellectual property rights of any other entity. Each Contributor
57 | disclaims any liability to Recipient for claims brought by any other
58 | entity based on infringement of intellectual property rights or
59 | otherwise. As a condition to exercising the rights and licenses granted
60 | hereunder, each Recipient hereby assumes sole responsibility to secure
61 | any other intellectual property rights needed, if any. For example, if a
62 | third party patent license is required to allow Recipient to distribute
63 | the Program, it is Recipient's responsibility to acquire that license
64 | before distributing the Program.
65 | d) Each Contributor represents that to its knowledge it has sufficient
66 | copyright rights in its Contribution, if any, to grant the copyright
67 | license set forth in this Agreement.
68 |
69 | 3. REQUIREMENTS
70 |
71 | A Contributor may choose to distribute the Program in object code form under
72 | its own license agreement, provided that:
73 |
74 | a) it complies with the terms and conditions of this Agreement; and
75 | b) its license agreement:
76 | i) effectively disclaims on behalf of all Contributors all warranties
77 | and conditions, express and implied, including warranties or
78 | conditions of title and non-infringement, and implied warranties or
79 | conditions of merchantability and fitness for a particular purpose;
80 | ii) effectively excludes on behalf of all Contributors all liability for
81 | damages, including direct, indirect, special, incidental and
82 | consequential damages, such as lost profits;
83 | iii) states that any provisions which differ from this Agreement are
84 | offered by that Contributor alone and not by any other party; and
85 | iv) states that source code for the Program is available from such
86 | Contributor, and informs licensees how to obtain it in a reasonable
87 | manner on or through a medium customarily used for software exchange.
88 |
89 | When the Program is made available in source code form:
90 |
91 | a) it must be made available under this Agreement; and
92 | b) a copy of this Agreement must be included with each copy of the Program.
93 | Contributors may not remove or alter any copyright notices contained
94 | within the Program.
95 |
96 | Each Contributor must identify itself as the originator of its Contribution,
97 | if
98 | any, in a manner that reasonably allows subsequent Recipients to identify the
99 | originator of the Contribution.
100 |
101 | 4. COMMERCIAL DISTRIBUTION
102 |
103 | Commercial distributors of software may accept certain responsibilities with
104 | respect to end users, business partners and the like. While this license is
105 | intended to facilitate the commercial use of the Program, the Contributor who
106 | includes the Program in a commercial product offering should do so in a manner
107 | which does not create potential liability for other Contributors. Therefore,
108 | if a Contributor includes the Program in a commercial product offering, such
109 | Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
110 | every other Contributor ("Indemnified Contributor") against any losses,
111 | damages and costs (collectively "Losses") arising from claims, lawsuits and
112 | other legal actions brought by a third party against the Indemnified
113 | Contributor to the extent caused by the acts or omissions of such Commercial
114 | Contributor in connection with its distribution of the Program in a commercial
115 | product offering. The obligations in this section do not apply to any claims
116 | or Losses relating to any actual or alleged intellectual property
117 | infringement. In order to qualify, an Indemnified Contributor must:
118 | a) promptly notify the Commercial Contributor in writing of such claim, and
119 | b) allow the Commercial Contributor to control, and cooperate with the
120 | Commercial Contributor in, the defense and any related settlement
121 | negotiations. The Indemnified Contributor may participate in any such claim at
122 | its own expense.
123 |
124 | For example, a Contributor might include the Program in a commercial product
125 | offering, Product X. That Contributor is then a Commercial Contributor. If
126 | that Commercial Contributor then makes performance claims, or offers
127 | warranties related to Product X, those performance claims and warranties are
128 | such Commercial Contributor's responsibility alone. Under this section, the
129 | Commercial Contributor would have to defend claims against the other
130 | Contributors related to those performance claims and warranties, and if a
131 | court requires any other Contributor to pay any damages as a result, the
132 | Commercial Contributor must pay those damages.
133 |
134 | 5. NO WARRANTY
135 |
136 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
137 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
138 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
139 | NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
140 | Recipient is solely responsible for determining the appropriateness of using
141 | and distributing the Program and assumes all risks associated with its
142 | exercise of rights under this Agreement , including but not limited to the
143 | risks and costs of program errors, compliance with applicable laws, damage to
144 | or loss of data, programs or equipment, and unavailability or interruption of
145 | operations.
146 |
147 | 6. DISCLAIMER OF LIABILITY
148 |
149 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
150 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
151 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
152 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
153 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
154 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
155 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
156 | OF SUCH DAMAGES.
157 |
158 | 7. GENERAL
159 |
160 | If any provision of this Agreement is invalid or unenforceable under
161 | applicable law, it shall not affect the validity or enforceability of the
162 | remainder of the terms of this Agreement, and without further action by the
163 | parties hereto, such provision shall be reformed to the minimum extent
164 | necessary to make such provision valid and enforceable.
165 |
166 | If Recipient institutes patent litigation against any entity (including a
167 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
168 | (excluding combinations of the Program with other software or hardware)
169 | infringes such Recipient's patent(s), then such Recipient's rights granted
170 | under Section 2(b) shall terminate as of the date such litigation is filed.
171 |
172 | All Recipient's rights under this Agreement shall terminate if it fails to
173 | comply with any of the material terms or conditions of this Agreement and does
174 | not cure such failure in a reasonable period of time after becoming aware of
175 | such noncompliance. If all Recipient's rights under this Agreement terminate,
176 | Recipient agrees to cease use and distribution of the Program as soon as
177 | reasonably practicable. However, Recipient's obligations under this Agreement
178 | and any licenses granted by Recipient relating to the Program shall continue
179 | and survive.
180 |
181 | Everyone is permitted to copy and distribute copies of this Agreement, but in
182 | order to avoid inconsistency the Agreement is copyrighted and may only be
183 | modified in the following manner. The Agreement Steward reserves the right to
184 | publish new versions (including revisions) of this Agreement from time to
185 | time. No one other than the Agreement Steward has the right to modify this
186 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
187 | Eclipse Foundation may assign the responsibility to serve as the Agreement
188 | Steward to a suitable separate entity. Each new version of the Agreement will
189 | be given a distinguishing version number. The Program (including
190 | Contributions) may always be distributed subject to the version of the
191 | Agreement under which it was received. In addition, after a new version of the
192 | Agreement is published, Contributor may elect to distribute the Program
193 | (including its Contributions) under the new version. Except as expressly
194 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
195 | licenses to the intellectual property of any Contributor under this Agreement,
196 | whether expressly, by implication, estoppel or otherwise. All rights in the
197 | Program not expressly granted under this Agreement are reserved.
198 |
199 | This Agreement is governed by the laws of the State of New York and the
200 | intellectual property laws of the United States of America. No party to this
201 | Agreement will bring a legal action under this Agreement more than one year
202 | after the cause of action arose. Each party waives its rights to a jury trial in
203 | any resulting litigation.
204 |
205 |
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/com/codeaffine/eclipse/ui/swt/theme/README.txt:
--------------------------------------------------------------------------------
1 | The classes in this package are extracted from Frank Appel's Xiliary project (https://github.com/fappel/xiliary). Its license is included in the LICENSE.txt file.
2 |
3 | All significant changes to the original source code are outlined in the headers of the individual files.
4 |
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/io/github/pyvesb/eclipse_planet_themes/CTabFolderPlanetsRenderer.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2010, 2021 IBM Corporation and others.
3 | *
4 | * This program and the accompanying materials
5 | * are made available under the terms of the Eclipse Public License 2.0
6 | * which accompanies this distribution, and is available at
7 | * https://www.eclipse.org/legal/epl-2.0/
8 | *
9 | * SPDX-License-Identifier: EPL-2.0
10 | *
11 | * Contributors:
12 | * IBM Corporation - initial API and implementation
13 | * Fabio Zadrozny - Bug 465711
14 | * Simon Scholz - Bug 497586
15 | * Simon Scholz - Bug 506540
16 | * Mike Marchand - Bug 538740
17 | * Pierre-Yves B. - Revert breaking changes to tab outline behaviour.
18 | * Pierre-Yves B. - Fix active tab logic.
19 | * Pierre-Yves B. - Simplify implementation, remove dead code and drop support for unused CSS properties.
20 | *******************************************************************************/
21 | package io.github.pyvesb.eclipse_planet_themes;
22 |
23 | import org.eclipse.e4.ui.internal.css.swt.ICTabRendering;
24 | import org.eclipse.swt.SWT;
25 | import org.eclipse.swt.custom.CTabFolder;
26 | import org.eclipse.swt.custom.CTabFolderRenderer;
27 | import org.eclipse.swt.graphics.Color;
28 | import org.eclipse.swt.graphics.GC;
29 | import org.eclipse.swt.graphics.Point;
30 | import org.eclipse.swt.graphics.Rectangle;
31 |
32 | @SuppressWarnings("restriction")
33 | public class CTabFolderPlanetsRenderer extends CTabFolderRenderer implements ICTabRendering {
34 |
35 | // keylines
36 | static final int OUTER_KEYLINE = 1;
37 | static final int INNER_KEYLINE = 0;
38 | static final int TOP_KEYLINE = 0;
39 |
40 | // The tab has an outline, it contributes to the trim. See Bug 562183.
41 | static final int TAB_OUTLINE = 1;
42 |
43 | // Item Constants
44 | static final int ITEM_TOP_MARGIN = 2;
45 | static final int ITEM_BOTTOM_MARGIN = 6;
46 | static final int ITEM_LEFT_MARGIN = 4;
47 | static final int ITEM_RIGHT_MARGIN = 4;
48 |
49 | Rectangle rectShape;
50 |
51 | Color outerKeyline, selectedTabFillColor, tabOutlineColor, selectedTabHighlightColor;
52 |
53 | int paddingLeft = 0, paddingRight = 0, paddingTop = 0, paddingBottom = 0;
54 |
55 | private boolean drawTabHighlightOnTop = true;
56 |
57 | public CTabFolderPlanetsRenderer(CTabFolder parent) {
58 | super(parent);
59 | }
60 |
61 | @Override
62 | protected Rectangle computeTrim(int part, int state, int x, int y, int width, int height) {
63 | boolean onBottom = parent.getTabPosition() == SWT.BOTTOM;
64 | int borderTop = onBottom ? INNER_KEYLINE + OUTER_KEYLINE : TOP_KEYLINE + OUTER_KEYLINE;
65 | int borderBottom = onBottom ? TOP_KEYLINE + OUTER_KEYLINE : INNER_KEYLINE + OUTER_KEYLINE;
66 | int marginWidth = parent.marginWidth;
67 | int marginHeight = parent.marginHeight;
68 |
69 | // Trim is not affected by the corner size.
70 | switch (part) {
71 | case PART_BODY:
72 | if (state == SWT.FILL) {
73 | x = -1 - paddingLeft;
74 | int tabHeight = parent.getTabHeight() + 1;
75 | y = onBottom ? y - paddingTop - marginHeight - borderTop - TAB_OUTLINE
76 | : y - paddingTop - marginHeight - tabHeight - borderTop - TAB_OUTLINE;
77 | width = 2 + paddingLeft + paddingRight;
78 | height += paddingTop + paddingBottom + TAB_OUTLINE;
79 | height += tabHeight + borderBottom + borderTop;
80 | } else {
81 | x = x - marginWidth - OUTER_KEYLINE - INNER_KEYLINE;
82 | width = width + 2 * OUTER_KEYLINE + 2 * INNER_KEYLINE + 2 * marginWidth;
83 | int tabHeight = parent.getTabHeight() + 1;
84 | if (parent.getMinimized()) {
85 | y = onBottom ? y - borderTop - 5 : y - tabHeight - borderTop - 5;
86 | height = borderTop + borderBottom + tabHeight;
87 | } else {
88 | y = onBottom ? y - marginHeight - borderTop
89 | : y - marginHeight - tabHeight - borderTop - TAB_OUTLINE;
90 | height = height + borderBottom + borderTop + 2 * marginHeight + tabHeight + TAB_OUTLINE;
91 | }
92 | }
93 | break;
94 | case PART_HEADER:
95 | x = x - (INNER_KEYLINE + OUTER_KEYLINE);
96 | width = width + 2 * (INNER_KEYLINE + OUTER_KEYLINE);
97 | break;
98 | case PART_BORDER:
99 | x = x - INNER_KEYLINE - OUTER_KEYLINE - ITEM_LEFT_MARGIN;
100 | width = width + 2 * (INNER_KEYLINE + OUTER_KEYLINE) + ITEM_RIGHT_MARGIN;
101 | height += borderTop + borderBottom;
102 | y -= borderTop;
103 |
104 | break;
105 | default:
106 | if (0 <= part && part < parent.getItemCount()) {
107 | x -= ITEM_LEFT_MARGIN;
108 | width += ITEM_LEFT_MARGIN + ITEM_RIGHT_MARGIN + 1;
109 | y -= ITEM_TOP_MARGIN;
110 | height += ITEM_TOP_MARGIN + ITEM_BOTTOM_MARGIN;
111 | }
112 | break;
113 | }
114 | return new Rectangle(x, y, width, height);
115 | }
116 |
117 | @Override
118 | protected Point computeSize(int part, int state, GC gc, int wHint, int hHint) {
119 | wHint += paddingLeft + paddingRight;
120 | hHint += paddingTop + paddingBottom;
121 | if (0 <= part && part < parent.getItemCount()) {
122 | gc.setAdvanced(true);
123 | }
124 | return super.computeSize(part, state, gc, wHint, hHint);
125 | }
126 |
127 | @Override
128 | protected void draw(int part, int state, Rectangle bounds, GC gc) {
129 | switch (part) {
130 | case PART_BACKGROUND:
131 | this.drawCustomBackground(gc, bounds, state);
132 | return;
133 | case PART_BODY:
134 | this.drawTabBody(gc, bounds);
135 | return;
136 | case PART_HEADER:
137 | this.drawTabHeader(gc, bounds, state);
138 | return;
139 | default:
140 | if (0 <= part && part < parent.getItemCount()) {
141 | // Sometimes the clipping is incorrect, see Bug 428697 and Bug 563345
142 | // Resetting it before draw the tabs prevents draw issues.
143 | gc.setClipping((Rectangle) null);
144 | gc.setAdvanced(true);
145 | if (bounds.width == 0 || bounds.height == 0)
146 | return;
147 | if ((state & SWT.SELECTED) != 0) {
148 | drawSelectedTab(part, gc, bounds);
149 | state &= ~SWT.BACKGROUND;
150 | super.draw(part, state, bounds, gc);
151 | } else if ((state & SWT.HOT) == 0 && !parent.isFocusControl()) {
152 | gc.setAlpha(0xcf);
153 | state &= ~SWT.BACKGROUND;
154 | super.draw(part, state, bounds, gc);
155 | gc.setAlpha(0xff);
156 | } else {
157 | state &= ~SWT.BACKGROUND;
158 | super.draw(part, state, bounds, gc);
159 | }
160 | return;
161 | }
162 | }
163 | super.draw(part, state, bounds, gc);
164 | }
165 |
166 | void drawTabHeader(GC gc, Rectangle bounds, int state) {
167 | boolean onBottom = parent.getTabPosition() == SWT.BOTTOM;
168 | Rectangle trim = computeTrim(PART_HEADER, state, 0, 0, 0, 0);
169 | trim.width = bounds.width - trim.width;
170 |
171 | // XXX: The magic numbers need to be cleaned up. See
172 | // https://bugs.eclipse.org/425777 for details.
173 | trim.height = (parent.getTabHeight() + (onBottom ? 7 : 4)) - trim.height;
174 |
175 | trim.x = -trim.x;
176 | trim.y = onBottom ? bounds.height - parent.getTabHeight() - 2 : -trim.y;
177 | draw(PART_BACKGROUND, SWT.NONE, trim, gc);
178 |
179 | gc.setForeground(outerKeyline);
180 |
181 | gc.drawRectangle(rectShape);
182 | }
183 |
184 | void drawTabBody(GC gc, Rectangle bounds) {
185 | int marginWidth = parent.marginWidth;
186 | int marginHeight = parent.marginHeight;
187 | int delta = INNER_KEYLINE + OUTER_KEYLINE + 2 * marginWidth;
188 | int width = bounds.width - delta;
189 | int height = Math.max(
190 | parent.getTabHeight() + INNER_KEYLINE + OUTER_KEYLINE,
191 | bounds.height - INNER_KEYLINE - OUTER_KEYLINE - 2 * marginHeight);
192 |
193 | // Remember for use in header drawing
194 | Rectangle rect = new Rectangle(bounds.x, bounds.y, width, height);
195 | gc.fillRectangle(rect);
196 | rectShape = rect;
197 | }
198 |
199 | private int[] computeSquareTabOutline(int itemIndex, boolean onBottom, int startX, int endX, int bottomY,
200 | Rectangle bounds, Point parentSize) {
201 | int index = 0;
202 | int outlineY = onBottom ? bottomY + bounds.height : bottomY - bounds.height - 1;
203 | int[] points = new int[12];
204 |
205 | if (itemIndex != 0 || bounds.x != -computeTrim(CTabFolderRenderer.PART_HEADER, SWT.NONE, 0, 0, 0, 0).x) {
206 | points[index++] = INNER_KEYLINE + OUTER_KEYLINE;
207 | points[index++] = bottomY;
208 | }
209 | points[index++] = startX;
210 | points[index++] = bottomY;
211 |
212 | points[index++] = startX;
213 | points[index++] = outlineY;
214 |
215 | points[index++] = endX;
216 | points[index++] = outlineY;
217 |
218 | points[index++] = endX;
219 | points[index++] = bottomY;
220 |
221 | points[index++] = parentSize.x - INNER_KEYLINE - OUTER_KEYLINE;
222 | points[index++] = bottomY;
223 |
224 | int[] tmpPoints = new int[index];
225 | System.arraycopy(points, 0, tmpPoints, 0, index);
226 |
227 | return tmpPoints;
228 | }
229 |
230 | void drawSelectedTab(int itemIndex, GC gc, Rectangle bounds) {
231 | if (parent.getSingle() && parent.getItem(itemIndex).isShowing())
232 | return;
233 |
234 | boolean onBottom = parent.getTabPosition() == SWT.BOTTOM;
235 | int bottomY = onBottom ? bounds.y : bounds.y + bounds.height;
236 | int selectionX1, selectionY1, selectionX2, selectionY2;
237 | int startX, endX;
238 | Point parentSize = parent.getSize();
239 |
240 | gc.setClipping(0, onBottom ? bounds.y : bounds.y, parentSize.x - INNER_KEYLINE - OUTER_KEYLINE,
241 | bounds.y + bounds.height);// bounds.height
242 |
243 | gc.setBackground(selectedTabFillColor);
244 | gc.setForeground(selectedTabFillColor);
245 |
246 | startX = bounds.x - 1;
247 | endX = bounds.x + bounds.width;
248 | selectionX1 = startX + 1;
249 | selectionY1 = bottomY;
250 | selectionX2 = endX - 1;
251 | selectionY2 = bottomY;
252 |
253 | int[] tmpPoints = computeSquareTabOutline(itemIndex, onBottom, startX, endX, bottomY, bounds, parentSize);
254 | bounds.height++; // increase area to fill by outline thickness
255 | gc.fillRectangle(bounds);
256 |
257 | gc.drawLine(selectionX1, selectionY1, selectionX2, selectionY2);
258 |
259 | gc.setForeground(tabOutlineColor);
260 |
261 | gc.drawPolyline(tmpPoints);
262 |
263 | gc.setClipping((Rectangle) null);
264 |
265 | gc.setForeground(outerKeyline);
266 | gc.drawRectangle(rectShape);
267 |
268 | if (selectedTabHighlightColor != null) {
269 | gc.setBackground(selectedTabHighlightColor);
270 | boolean highlightOnTop = drawTabHighlightOnTop;
271 | if (onBottom) {
272 | highlightOnTop = !highlightOnTop;
273 | }
274 | int verticalOffset = highlightOnTop ? 0 : bounds.height - 2;
275 | int horizontalOffset = itemIndex == 0 ? 0 : 1;
276 | int widthAdjustment = 0;
277 | gc.fillRectangle(bounds.x + horizontalOffset, bounds.y + verticalOffset, bounds.width - widthAdjustment, 3);
278 | }
279 | }
280 |
281 | private void drawCustomBackground(GC gc, Rectangle bounds, int state) {
282 | Rectangle partHeaderBounds = computeTrim(PART_HEADER, state, bounds.x, bounds.y, bounds.width, bounds.height);
283 |
284 | boolean onBottom = parent.getTabPosition() == SWT.BOTTOM;
285 | int borderTop = onBottom ? INNER_KEYLINE + OUTER_KEYLINE : TOP_KEYLINE + OUTER_KEYLINE;
286 | Rectangle parentBounds = parent.getBounds();
287 | int y = (onBottom) ? 0 : partHeaderBounds.y + partHeaderBounds.height - 1;
288 | int height = (onBottom) ? parentBounds.height - partHeaderBounds.height + 2 * paddingTop + 2 * borderTop
289 | : parentBounds.height - partHeaderBounds.height;
290 |
291 | gc.setBackground(selectedTabFillColor);
292 | gc.fillRectangle(partHeaderBounds.x, y, partHeaderBounds.width, height);
293 | }
294 |
295 | public Rectangle getPadding() {
296 | return new Rectangle(paddingTop, paddingRight, paddingBottom, paddingLeft);
297 | }
298 |
299 | public void setPadding(int paddingLeft, int paddingRight, int paddingTop, int paddingBottom) {
300 | this.paddingLeft = paddingLeft;
301 | this.paddingRight = paddingRight;
302 | this.paddingTop = paddingTop;
303 | this.paddingBottom = paddingBottom;
304 | parent.redraw();
305 | }
306 |
307 | @Override
308 | public void setOuterKeyline(Color color) {
309 | this.outerKeyline = color;
310 | parent.redraw();
311 | }
312 |
313 | @Override
314 | public void setSelectedTabHighlight(Color color) {
315 | this.selectedTabHighlightColor = color;
316 | parent.redraw();
317 | }
318 |
319 | @Override
320 | public void setSelectedTabFill(Color color) {
321 | selectedTabFillColor = color;
322 | parent.redraw();
323 | }
324 |
325 | @Override
326 | public void setTabOutline(Color color) {
327 | this.tabOutlineColor = color;
328 | parent.redraw();
329 | }
330 |
331 | @Override
332 | public void setSelectedTabHighlightTop(boolean drawTabHiglightOnTop) {
333 | this.drawTabHighlightOnTop = drawTabHiglightOnTop;
334 | parent.redraw();
335 | }
336 |
337 | @Override
338 | public void setSelectedTabFill(Color[] colors, int[] percents) {
339 | setSelectedTabFill(colors[0]);
340 | }
341 |
342 | @Override
343 | public void setUnselectedHotTabsColorBackground(Color color) {}
344 |
345 | @Override
346 | public void setUnselectedTabsColor(Color color) {}
347 |
348 | @Override
349 | public void setUnselectedTabsColor(Color[] colors, int[] percents) {}
350 |
351 | @Override
352 | public void setCornerRadius(int radius) {}
353 |
354 | @Override
355 | public void setShadowVisible(boolean visible) {}
356 |
357 | @Override
358 | public void setShadowColor(Color color) {}
359 |
360 | @Override
361 | public void setInnerKeyline(Color color) {}
362 |
363 | @Override
364 | public void setDrawCustomTabContentBackground(boolean drawCustomTabContentBackground) {}
365 |
366 | }
367 |
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/io/github/pyvesb/eclipse_planet_themes/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Eclipse Public License - v 2.0
2 |
3 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
4 | PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
5 | OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
6 |
7 | 1. DEFINITIONS
8 |
9 | "Contribution" means:
10 |
11 | a) in the case of the initial Contributor, the initial content
12 | Distributed under this Agreement, and
13 |
14 | b) in the case of each subsequent Contributor:
15 | i) changes to the Program, and
16 | ii) additions to the Program;
17 | where such changes and/or additions to the Program originate from
18 | and are Distributed by that particular Contributor. A Contribution
19 | "originates" from a Contributor if it was added to the Program by
20 | such Contributor itself or anyone acting on such Contributor's behalf.
21 | Contributions do not include changes or additions to the Program that
22 | are not Modified Works.
23 |
24 | "Contributor" means any person or entity that Distributes the Program.
25 |
26 | "Licensed Patents" mean patent claims licensable by a Contributor which
27 | are necessarily infringed by the use or sale of its Contribution alone
28 | or when combined with the Program.
29 |
30 | "Program" means the Contributions Distributed in accordance with this
31 | Agreement.
32 |
33 | "Recipient" means anyone who receives the Program under this Agreement
34 | or any Secondary License (as applicable), including Contributors.
35 |
36 | "Derivative Works" shall mean any work, whether in Source Code or other
37 | form, that is based on (or derived from) the Program and for which the
38 | editorial revisions, annotations, elaborations, or other modifications
39 | represent, as a whole, an original work of authorship.
40 |
41 | "Modified Works" shall mean any work in Source Code or other form that
42 | results from an addition to, deletion from, or modification of the
43 | contents of the Program, including, for purposes of clarity any new file
44 | in Source Code form that contains any contents of the Program. Modified
45 | Works shall not include works that contain only declarations,
46 | interfaces, types, classes, structures, or files of the Program solely
47 | in each case in order to link to, bind by name, or subclass the Program
48 | or Modified Works thereof.
49 |
50 | "Distribute" means the acts of a) distributing or b) making available
51 | in any manner that enables the transfer of a copy.
52 |
53 | "Source Code" means the form of a Program preferred for making
54 | modifications, including but not limited to software source code,
55 | documentation source, and configuration files.
56 |
57 | "Secondary License" means either the GNU General Public License,
58 | Version 2.0, or any later versions of that license, including any
59 | exceptions or additional permissions as identified by the initial
60 | Contributor.
61 |
62 | 2. GRANT OF RIGHTS
63 |
64 | a) Subject to the terms of this Agreement, each Contributor hereby
65 | grants Recipient a non-exclusive, worldwide, royalty-free copyright
66 | license to reproduce, prepare Derivative Works of, publicly display,
67 | publicly perform, Distribute and sublicense the Contribution of such
68 | Contributor, if any, and such Derivative Works.
69 |
70 | b) Subject to the terms of this Agreement, each Contributor hereby
71 | grants Recipient a non-exclusive, worldwide, royalty-free patent
72 | license under Licensed Patents to make, use, sell, offer to sell,
73 | import and otherwise transfer the Contribution of such Contributor,
74 | if any, in Source Code or other form. This patent license shall
75 | apply to the combination of the Contribution and the Program if, at
76 | the time the Contribution is added by the Contributor, such addition
77 | of the Contribution causes such combination to be covered by the
78 | Licensed Patents. The patent license shall not apply to any other
79 | combinations which include the Contribution. No hardware per se is
80 | licensed hereunder.
81 |
82 | c) Recipient understands that although each Contributor grants the
83 | licenses to its Contributions set forth herein, no assurances are
84 | provided by any Contributor that the Program does not infringe the
85 | patent or other intellectual property rights of any other entity.
86 | Each Contributor disclaims any liability to Recipient for claims
87 | brought by any other entity based on infringement of intellectual
88 | property rights or otherwise. As a condition to exercising the
89 | rights and licenses granted hereunder, each Recipient hereby
90 | assumes sole responsibility to secure any other intellectual
91 | property rights needed, if any. For example, if a third party
92 | patent license is required to allow Recipient to Distribute the
93 | Program, it is Recipient's responsibility to acquire that license
94 | before distributing the Program.
95 |
96 | d) Each Contributor represents that to its knowledge it has
97 | sufficient copyright rights in its Contribution, if any, to grant
98 | the copyright license set forth in this Agreement.
99 |
100 | e) Notwithstanding the terms of any Secondary License, no
101 | Contributor makes additional grants to any Recipient (other than
102 | those set forth in this Agreement) as a result of such Recipient's
103 | receipt of the Program under the terms of a Secondary License
104 | (if permitted under the terms of Section 3).
105 |
106 | 3. REQUIREMENTS
107 |
108 | 3.1 If a Contributor Distributes the Program in any form, then:
109 |
110 | a) the Program must also be made available as Source Code, in
111 | accordance with section 3.2, and the Contributor must accompany
112 | the Program with a statement that the Source Code for the Program
113 | is available under this Agreement, and informs Recipients how to
114 | obtain it in a reasonable manner on or through a medium customarily
115 | used for software exchange; and
116 |
117 | b) the Contributor may Distribute the Program under a license
118 | different than this Agreement, provided that such license:
119 | i) effectively disclaims on behalf of all other Contributors all
120 | warranties and conditions, express and implied, including
121 | warranties or conditions of title and non-infringement, and
122 | implied warranties or conditions of merchantability and fitness
123 | for a particular purpose;
124 |
125 | ii) effectively excludes on behalf of all other Contributors all
126 | liability for damages, including direct, indirect, special,
127 | incidental and consequential damages, such as lost profits;
128 |
129 | iii) does not attempt to limit or alter the recipients' rights
130 | in the Source Code under section 3.2; and
131 |
132 | iv) requires any subsequent distribution of the Program by any
133 | party to be under a license that satisfies the requirements
134 | of this section 3.
135 |
136 | 3.2 When the Program is Distributed as Source Code:
137 |
138 | a) it must be made available under this Agreement, or if the
139 | Program (i) is combined with other material in a separate file or
140 | files made available under a Secondary License, and (ii) the initial
141 | Contributor attached to the Source Code the notice described in
142 | Exhibit A of this Agreement, then the Program may be made available
143 | under the terms of such Secondary Licenses, and
144 |
145 | b) a copy of this Agreement must be included with each copy of
146 | the Program.
147 |
148 | 3.3 Contributors may not remove or alter any copyright, patent,
149 | trademark, attribution notices, disclaimers of warranty, or limitations
150 | of liability ("notices") contained within the Program from any copy of
151 | the Program which they Distribute, provided that Contributors may add
152 | their own appropriate notices.
153 |
154 | 4. COMMERCIAL DISTRIBUTION
155 |
156 | Commercial distributors of software may accept certain responsibilities
157 | with respect to end users, business partners and the like. While this
158 | license is intended to facilitate the commercial use of the Program,
159 | the Contributor who includes the Program in a commercial product
160 | offering should do so in a manner which does not create potential
161 | liability for other Contributors. Therefore, if a Contributor includes
162 | the Program in a commercial product offering, such Contributor
163 | ("Commercial Contributor") hereby agrees to defend and indemnify every
164 | other Contributor ("Indemnified Contributor") against any losses,
165 | damages and costs (collectively "Losses") arising from claims, lawsuits
166 | and other legal actions brought by a third party against the Indemnified
167 | Contributor to the extent caused by the acts or omissions of such
168 | Commercial Contributor in connection with its distribution of the Program
169 | in a commercial product offering. The obligations in this section do not
170 | apply to any claims or Losses relating to any actual or alleged
171 | intellectual property infringement. In order to qualify, an Indemnified
172 | Contributor must: a) promptly notify the Commercial Contributor in
173 | writing of such claim, and b) allow the Commercial Contributor to control,
174 | and cooperate with the Commercial Contributor in, the defense and any
175 | related settlement negotiations. The Indemnified Contributor may
176 | participate in any such claim at its own expense.
177 |
178 | For example, a Contributor might include the Program in a commercial
179 | product offering, Product X. That Contributor is then a Commercial
180 | Contributor. If that Commercial Contributor then makes performance
181 | claims, or offers warranties related to Product X, those performance
182 | claims and warranties are such Commercial Contributor's responsibility
183 | alone. Under this section, the Commercial Contributor would have to
184 | defend claims against the other Contributors related to those performance
185 | claims and warranties, and if a court requires any other Contributor to
186 | pay any damages as a result, the Commercial Contributor must pay
187 | those damages.
188 |
189 | 5. NO WARRANTY
190 |
191 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
192 | PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
193 | BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
194 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
195 | TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
196 | PURPOSE. Each Recipient is solely responsible for determining the
197 | appropriateness of using and distributing the Program and assumes all
198 | risks associated with its exercise of rights under this Agreement,
199 | including but not limited to the risks and costs of program errors,
200 | compliance with applicable laws, damage to or loss of data, programs
201 | or equipment, and unavailability or interruption of operations.
202 |
203 | 6. DISCLAIMER OF LIABILITY
204 |
205 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
206 | PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
207 | SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
208 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
209 | PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
210 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
211 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
212 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
213 | POSSIBILITY OF SUCH DAMAGES.
214 |
215 | 7. GENERAL
216 |
217 | If any provision of this Agreement is invalid or unenforceable under
218 | applicable law, it shall not affect the validity or enforceability of
219 | the remainder of the terms of this Agreement, and without further
220 | action by the parties hereto, such provision shall be reformed to the
221 | minimum extent necessary to make such provision valid and enforceable.
222 |
223 | If Recipient institutes patent litigation against any entity
224 | (including a cross-claim or counterclaim in a lawsuit) alleging that the
225 | Program itself (excluding combinations of the Program with other software
226 | or hardware) infringes such Recipient's patent(s), then such Recipient's
227 | rights granted under Section 2(b) shall terminate as of the date such
228 | litigation is filed.
229 |
230 | All Recipient's rights under this Agreement shall terminate if it
231 | fails to comply with any of the material terms or conditions of this
232 | Agreement and does not cure such failure in a reasonable period of
233 | time after becoming aware of such noncompliance. If all Recipient's
234 | rights under this Agreement terminate, Recipient agrees to cease use
235 | and distribution of the Program as soon as reasonably practicable.
236 | However, Recipient's obligations under this Agreement and any licenses
237 | granted by Recipient relating to the Program shall continue and survive.
238 |
239 | Everyone is permitted to copy and distribute copies of this Agreement,
240 | but in order to avoid inconsistency the Agreement is copyrighted and
241 | may only be modified in the following manner. The Agreement Steward
242 | reserves the right to publish new versions (including revisions) of
243 | this Agreement from time to time. No one other than the Agreement
244 | Steward has the right to modify this Agreement. The Eclipse Foundation
245 | is the initial Agreement Steward. The Eclipse Foundation may assign the
246 | responsibility to serve as the Agreement Steward to a suitable separate
247 | entity. Each new version of the Agreement will be given a distinguishing
248 | version number. The Program (including Contributions) may always be
249 | Distributed subject to the version of the Agreement under which it was
250 | received. In addition, after a new version of the Agreement is published,
251 | Contributor may elect to Distribute the Program (including its
252 | Contributions) under the new version.
253 |
254 | Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
255 | receives no rights or licenses to the intellectual property of any
256 | Contributor under this Agreement, whether expressly, by implication,
257 | estoppel or otherwise. All rights in the Program not expressly granted
258 | under this Agreement are reserved. Nothing in this Agreement is intended
259 | to be enforceable by any entity that is not a Contributor or Recipient.
260 | No third-party beneficiary rights are created under this Agreement.
261 |
262 | Exhibit A - Form of Secondary Licenses Notice
263 |
264 | "This Source Code may also be made available under the following
265 | Secondary Licenses when the conditions for such availability set forth
266 | in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
267 | version(s), and exceptions or additional permissions here}."
268 |
269 | Simply including a copy of this Agreement, including this Exhibit A
270 | is not sufficient to license the Source Code under Secondary Licenses.
271 |
272 | If it is not possible or desirable to put the notice in a particular
273 | file, then You may include the notice in a location (such as a LICENSE
274 | file in a relevant directory) where a recipient would be likely to
275 | look for such a notice.
276 |
277 | You may add additional accurate notices of copyright ownership.
--------------------------------------------------------------------------------
/planet-themes-plugin/src/main/java/io/github/pyvesb/eclipse_planet_themes/README.txt:
--------------------------------------------------------------------------------
1 | The class in this package is extracted from Eclipse's Platform project (https://projects.eclipse.org/projects/eclipse.platform). Its license is included in the LICENSE.txt file.
2 |
3 | All significant changes to the original source code are outlined in the headers of the file.
4 |
--------------------------------------------------------------------------------
/planet-themes-targetplatform/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | planet-themes-targetplatform
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.m2e.core.maven2Builder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.m2e.core.maven2Nature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/planet-themes-targetplatform/planet-themes-targetplatform.target:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/planet-themes-updatesite/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | planet-themes-updatesite
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.pde.UpdateSiteBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.pde.UpdateSiteNature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/planet-themes-updatesite/category.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The Planet Themes plugin update site.
5 |
6 |
7 |
8 |
9 |
10 |
11 | Collection of light and dark Eclipse themes, inspired by planets of the Solar System.
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 | 4.0.0
7 | io.github.pyvesb.eclipse_planet_themes
8 | planet-themes
9 | 1.0.0-SNAPSHOT
10 | pom
11 |
12 | planet-themes-feature
13 | planet-themes-plugin
14 | planet-themes-targetplatform
15 | planet-themes-updatesite
16 |
17 |
18 | JavaSE-11
19 | 11
20 | UTF-8
21 | 2.7.5
22 |
23 |
24 |
25 |
26 | org.eclipse.tycho
27 | tycho-maven-plugin
28 | ${tycho.version}
29 | true
30 |
31 |
32 | org.eclipse.tycho
33 | target-platform-configuration
34 | ${tycho.version}
35 |
36 | ${javase.version}
37 | true
38 |
39 |
40 | io.github.pyvesb.eclipse_planet_themes
41 | planet-themes-targetplatform
42 | 1.0.0-SNAPSHOT
43 |
44 |
45 |
46 |
47 | win32
48 | win32
49 | x86_64
50 |
51 |
52 | linux
53 | gtk
54 | x86_64
55 |
56 |
57 | macosx
58 | cocoa
59 | x86_64
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------