├── .gitignore ├── Flatron.sublime-theme ├── Flatron.tmTheme ├── Flatron ├── Widget - Flatron.stTheme ├── Widget - Flatron.sublime-settings ├── btn-hover.png ├── btn.png ├── casesens.png ├── circle.png ├── close.png ├── fold.png ├── folder-closed.png ├── folder-open.png ├── folder.png ├── highlight.png ├── lock.png ├── regex.png ├── reverse.png ├── selection.png ├── text-field.png ├── unfold.png ├── wholeword.png └── wrap.png ├── LICENSE ├── README.md ├── Screenshots └── Flatron.png └── install-sl3.sh /.gitignore: -------------------------------------------------------------------------------- 1 | Thumbs.db 2 | -------------------------------------------------------------------------------- /Flatron.sublime-theme: -------------------------------------------------------------------------------- 1 | [ 2 | 3 | // 4 | // TABS (REGULAR) 5 | // 6 | 7 | // Tab set 8 | { 9 | "class": "tabset_control", 10 | "layer0.texture": "", 11 | "layer0.tint": [53, 49, 60], 12 | "layer0.inner_margin": [10, 10, 10, 10], 13 | "layer0.opacity": 1, 14 | "content_margin": 0, 15 | "tab_overlap": 0, 16 | "tab_width": 160, 17 | "tab_min_width": 160, 18 | "tab_height": 48, 19 | "mouse_wheel_switch": false 20 | }, 21 | { 22 | "class": "tabset_control", 23 | "settings": ["mouse_wheel_switches_tabs"], 24 | "mouse_wheel_switch": true 25 | }, 26 | // Tab element 27 | { 28 | "class": "tab_control", 29 | "content_margin": [8, 0], 30 | "max_margin_trim": 0, 31 | "hit_test_level": 0, 32 | "layer0.texture": "", 33 | "layer0.tint": [53, 49, 60], 34 | "layer0.inner_margin": [5, 5], 35 | "layer0.opacity": 1 36 | }, 37 | // Tab close state 38 | { 39 | "class": "tab_control", 40 | "settings": ["show_tab_close_buttons"], 41 | "content_margin": [8, 0] 42 | }, 43 | // Tab hover state 44 | { 45 | "class": "tab_control", 46 | "attributes": ["hover"] 47 | }, 48 | // Tab active state 49 | { 50 | "class": "tab_control", 51 | "attributes": ["selected"], 52 | "layer0.texture": "", 53 | "layer0.tint": [113, 110, 117] 54 | }, 55 | // Tab dirty state (close button hidden) 56 | { 57 | "class": "tab_control", 58 | "settings": ["!show_tab_close_buttons"], 59 | "content_margin": [12, 3, 7, 3] 60 | }, 61 | 62 | // 63 | // TAB BUTTONS 64 | // 65 | 66 | // Tab close button 67 | { 68 | "class": "tab_close_button", 69 | "layer0.texture": "Flatron/Flatron/close.png", 70 | "layer0.opacity": 0 71 | }, 72 | { 73 | "class": "tab_close_button", 74 | "settings": ["show_tab_close_buttons"], 75 | "content_margin": [8, 8] 76 | }, 77 | { 78 | "class": "tab_close_button", 79 | "parents": [{"class": "tab_control","attributes": ["hover"]}], 80 | "layer0.texture": "Flatron/Flatron/close.png", 81 | "layer0.opacity": 1 82 | }, 83 | { 84 | "class": "tab_close_button", 85 | "parents": [{"class": "tab_control"}], 86 | "attributes": ["hover"], 87 | "layer0.opacity": 1 88 | }, 89 | { 90 | "class": "tab_close_button", 91 | "parents": [{"class": "tab_control","attributes": ["selected"]}], 92 | "layer0.opacity": 1 93 | }, 94 | // Tab dirty button 95 | { 96 | "class": "tab_close_button", 97 | "parents": [{"class": "tab_control","attributes": ["dirty"]}], 98 | "layer0.texture": "Flatron/Flatron/circle.png", 99 | "layer0.opacity": 1 100 | }, 101 | { 102 | "class": "tab_close_button", 103 | "settings": ["!show_tab_close_buttons"], 104 | "parents": [{"class": "tab_control","attributes": ["dirty"]}], 105 | "content_margin": [8, 8], 106 | "layer0.opacity": 1 107 | }, 108 | { 109 | "class": "tab_close_button", 110 | "parents": [{"class": "tab_control","attributes": ["dirty","hover"]}], 111 | "layer0.texture": "Flatron/Flatron/close.png", 112 | "attributes": ["hover"], 113 | "layer0.opacity": 1, 114 | "layer0.tint": [191, 97, 106] 115 | }, 116 | { 117 | "class": "tab_close_button", 118 | "parents": [{"class": "tab_control","attributes": ["dirty","selected"]}] 119 | }, 120 | // Tab highlight button 121 | { 122 | "class": "tab_close_button", 123 | "settings": ["highlight_modified_tabs"], 124 | "parents": [{"class": "tab_control","attributes": ["dirty"]}] 125 | }, 126 | { 127 | "class": "tab_close_button", 128 | "settings": ["highlight_modified_tabs"], 129 | "parents": [{"class": "tab_control","attributes": ["dirty","selected"]}] 130 | }, 131 | // Tab close button hover 132 | { 133 | "class": "tab_close_button", 134 | "settings": ["show_tab_close_buttons"], 135 | "attributes": ["hover"] 136 | }, 137 | // Tab close button pressed 138 | { 139 | "class": "tab_close_button", 140 | "settings": ["show_tab_close_buttons"], 141 | "attributes": ["pressed"], 142 | "layer0.opacity": 0.5 143 | }, 144 | 145 | // 146 | // TAB LABELS 147 | // 148 | 149 | { 150 | "class": "tab_label", 151 | "fade": true, 152 | "fg": [137, 131, 149] 153 | }, 154 | { 155 | "class": "tab_label", 156 | "parents": [{"class": "tab_control","attributes": ["hover"]}], 157 | "fg": [192, 197, 206] 158 | }, 159 | { 160 | "class": "tab_label", 161 | "parents": [{"class": "tab_control","attributes": ["selected"]}], 162 | "fg": [192, 197, 206] 163 | }, 164 | { 165 | "class": "tab_label", 166 | "attributes": ["transient"], 167 | "font.italic": false 168 | }, 169 | 170 | // Tab Labels font size 171 | { 172 | "class": "tab_label", 173 | "settings": ["flatron_tabs_font_small"], 174 | "font.size": 10.0 175 | }, 176 | { 177 | "class": "tab_label", 178 | "settings": ["flatron_tabs_font_normal"], 179 | "font.size": 11.0 180 | }, 181 | { 182 | "class": "tab_label", 183 | "settings": ["flatron_tabs_font_large"], 184 | "font.size": 12.0 185 | }, 186 | { 187 | "class": "tab_label", 188 | "settings": ["flatron_tabs_font_xlarge"], 189 | "font.size": 14.0 190 | }, 191 | 192 | // 193 | // FOLD BUTTONS 194 | // 195 | 196 | { 197 | "class": "fold_button_control", 198 | "layer0.texture": "Flatron/Flatron/unfold.png", 199 | "layer0.inner_margin": [5, 5, 5, 5], 200 | "layer0.opacity": 0.5, 201 | "content_margin": [8, 8] 202 | }, 203 | { 204 | "class": "fold_button_control", 205 | "attributes": ["hover"], 206 | "layer0.opacity": 1 207 | }, 208 | { 209 | "class": "fold_button_control", 210 | "attributes": ["expanded"], 211 | "layer0.texture": "Flatron/Flatron/fold.png" 212 | }, 213 | { 214 | "class": "fold_button_control", 215 | "attributes": ["expanded","hover"] 216 | }, 217 | 218 | // 219 | // STANDARD SCROLLBARS 220 | // 221 | 222 | // Standard vertical scroll bar 223 | { 224 | "class": "scroll_bar_control", 225 | "layer0.texture": "", 226 | "layer0.tint": [37, 34, 42], 227 | "layer0.opacity": 1, 228 | "layer0.inner_margin": 0, 229 | "blur": true 230 | }, 231 | // Standard horizontal scroll bar 232 | { 233 | "class": "scroll_bar_control", 234 | "attributes": ["horizontal"], 235 | "layer0.texture": "", 236 | "layer0.tint": [37, 34, 42], 237 | "layer0.inner_margin": 0, 238 | "blur": true 239 | }, 240 | // Standard scroll bar corner 241 | { 242 | "class": "scroll_corner_control", 243 | "layer0.texture": "", 244 | "layer0.tint": [37, 34, 42], 245 | "layer0.inner_margin": [0, 0], 246 | "layer0.opacity": 1 247 | }, 248 | // Standard vertical scroll puck 249 | { 250 | "class": "puck_control", 251 | "layer0.texture": "", 252 | "layer0.tint": [52, 48, 59], 253 | "layer0.opacity": 1, 254 | "layer0.inner_margin": 0, 255 | "content_margin": [6, 0], 256 | "blur": false 257 | }, 258 | // Standard horizontal scroll puck 259 | { 260 | "class": "puck_control", 261 | "attributes": ["horizontal"], 262 | // "layer0.texture": "", 263 | "layer0.tint": [52, 48, 59], 264 | "layer0.inner_margin": [0, 0], 265 | "content_margin": [12, 6], 266 | "blur": false 267 | }, 268 | 269 | // 270 | // OVERLAY SCROLLBARS 271 | // 272 | 273 | // Overlay toggle scroll bar 274 | { 275 | "class": "scroll_area_control", 276 | "settings": ["overlay_scroll_bars"], 277 | "overlay": true 278 | }, 279 | { 280 | "class": "scroll_area_control", 281 | "settings": ["!overlay_scroll_bars"], 282 | "overlay": false 283 | }, 284 | // Overlay vertical scroll bar 285 | { 286 | "class": "scroll_bar_control", 287 | "settings": ["overlay_scroll_bars"], 288 | "layer0.tint": [37, 34, 42], 289 | "layer0.inner_margin": [0, 5], 290 | "layer0.opacity": 0, 291 | "blur": false 292 | }, 293 | // Overlay horizontal scroll bar 294 | { 295 | "class": "scroll_bar_control", 296 | "settings": ["overlay_scroll_bars"], 297 | "attributes": ["horizontal"], 298 | "layer0.inner_margin": [5, 0], 299 | "layer0.opacity": 0, 300 | "blur": true 301 | }, 302 | // Overlay vertical puck 303 | { 304 | "class": "puck_control", 305 | "settings": ["overlay_scroll_bars"], 306 | "layer0.texture": "", 307 | "layer0.inner_margin": [0, 5], 308 | "content_margin": [2, 32], 309 | "blur": true 310 | }, 311 | // Overlay horizontal puck 312 | { 313 | "class": "puck_control", 314 | "settings": ["overlay_scroll_bars"], 315 | "attributes": ["horizontal"], 316 | "layer0.inner_margin": [5, 0], 317 | "content_margin": [16, 2], 318 | "blur": true 319 | }, 320 | // Overlay light puck (for dark content) 321 | { 322 | "class": "puck_control", 323 | "settings": ["overlay_scroll_bars"], 324 | "attributes": ["dark"], 325 | "layer0.tint": [79, 91, 102] 326 | 327 | }, 328 | // Overlay light horizontal puck (for dark content) 329 | { 330 | "class": "puck_control", 331 | "settings": ["overlay_scroll_bars"], 332 | "attributes": ["horizontal","dark"], 333 | "layer0.tint": [79, 91, 102] 334 | }, 335 | 336 | // 337 | // EMPTY WINDOW BACKGROUND 338 | // 339 | 340 | { 341 | "class": "sheet_container_control", 342 | "layer0.tint": [37, 34, 42], 343 | "layer0.opacity": 1 344 | }, 345 | 346 | // 347 | // GRID LAYOUT 348 | // 349 | 350 | { 351 | "class": "grid_layout_control", 352 | "border_size": 1, 353 | "border_color": [28, 31, 38] 354 | }, 355 | 356 | // 357 | // MINI MAP 358 | // 359 | 360 | { 361 | "class": "minimap_control", 362 | "viewport_color": [255, 255, 255, 15] 363 | }, 364 | 365 | // 366 | // LABELS 367 | // 368 | 369 | // General labels 370 | { 371 | "class": "label_control", 372 | "color": [101, 115, 126] 373 | }, 374 | // Text field labels 375 | { 376 | "class": "label_control", 377 | "parents": [{"class": "panel_control"}] 378 | }, 379 | // Button labels 380 | { 381 | "class": "label_control", 382 | "parents": [{"class": "button_control"}], 383 | "font.bold": true, 384 | "color": [150, 181, 180] 385 | }, 386 | 387 | // 388 | // TOOLTIP 389 | // 390 | 391 | // Tooltip container 392 | { 393 | "class": "tool_tip_control", 394 | // "layer0.texture": "", 395 | "layer0.tint": [87, 84, 92], 396 | "layer0.inner_margin": [1, 1], 397 | "layer0.opacity": 1, 398 | "content_margin": [4, 4] 399 | }, 400 | // Tooltip content 401 | { 402 | "class": "tool_tip_label_control", 403 | "color": [239, 241, 245] 404 | }, 405 | 406 | // 407 | // STATUS BAR 408 | // 409 | 410 | // Status bar container 411 | { 412 | "class": "status_bar", 413 | "layer0.texture": "", 414 | "layer0.tint": [53, 49, 60], 415 | "layer0.opacity": 1, 416 | "content_margin": 4 417 | }, 418 | // Status bar button 419 | { 420 | "class": "status_button", 421 | "min_size": [92, 0] 422 | }, 423 | // Status bar label 424 | { 425 | "class": "label_control", 426 | "parents": [{"class": "status_bar"}], 427 | "color": [113, 127, 124] 428 | }, 429 | 430 | // 431 | // SIDEBAR 432 | // 433 | 434 | // Sidebar container 435 | { 436 | "class": "sidebar_container", 437 | "layer0.opacity": 1, 438 | "layer0.tint": [25, 22, 27], 439 | "layer0.inner_margin": 0, 440 | "content_margin": [0, 40, 0 ,0] 441 | }, 442 | // Sidebar tree 443 | { 444 | "class": "sidebar_tree", 445 | "row_padding": [8, 9], 446 | "indent": 12, 447 | "indent_offset": 28, 448 | "indent_top_level": false, 449 | "dark_content": true 450 | }, 451 | // Sidebar rows 452 | { 453 | "class": "tree_row", 454 | "layer0.tint": [102, 45, 145], 455 | "layer0.opacity": 0, 456 | "layer0.inner_margin": [1, 1, 1, 1] 457 | }, 458 | // Sidebar row selected 459 | { 460 | "class": "tree_row", 461 | "attributes": ["selected"], 462 | "layer0.opacity": 1 463 | }, 464 | // Sidebar heading 465 | { 466 | "class": "sidebar_heading", 467 | "color": [101, 96, 109], 468 | "font.bold": true 469 | }, 470 | // Sidebar heading selected 471 | { 472 | "class": "sidebar_heading", 473 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 474 | "shadow_offset": 0 475 | }, 476 | // Sidebar entry 477 | { 478 | "class": "sidebar_label", 479 | "color": [101, 96, 109] 480 | }, 481 | // Sidebar folder entry 482 | { 483 | "class": "sidebar_label", 484 | "parents": [{"class": "tree_row","attributes": ["expandable"]}], 485 | "color": [101, 96, 109] 486 | }, 487 | { 488 | "class": "sidebar_label", 489 | "parents": [{"class": "tree_row","attributes": ["hover"]}], 490 | "color": [192, 197, 206] 491 | }, 492 | { 493 | "class": "sidebar_label", 494 | "parents": [{"class": "tree_row","attributes": ["expandable"]}], 495 | "settings": ["bold_folder_labels"], 496 | "font.bold": true 497 | }, 498 | // Sidebar entry selected 499 | { 500 | "class": "sidebar_label", 501 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 502 | "color": [223, 225, 232] 503 | }, 504 | 505 | // 506 | // SIDEBAR - OPEN FILE ICONS 507 | // 508 | 509 | // Sidebar file close 510 | { 511 | "class": "close_button", 512 | "layer0.texture": "Flatron/Flatron/close.png", 513 | "layer0.opacity": 0, 514 | "layer0.inner_margin": 0, 515 | "layer0.tint": [101, 115, 126], 516 | "content_margin": [8, 8] 517 | }, 518 | { 519 | "class": "close_button", 520 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 521 | "layer0.opacity": 1 522 | }, 523 | { 524 | "class": "close_button", 525 | "parents": [{"class": "tree_row","attributes": ["hover"]}], 526 | "layer0.opacity": 1 527 | }, 528 | // Sidebar file dirty 529 | { 530 | "class": "close_button", 531 | "layer0.texture": "Flatron/Flatron/circle.png", 532 | "layer0.opacity": 1 533 | }, 534 | { 535 | "class": "close_button", 536 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 537 | "layer0.texture": "Flatron/Flatron/circle.png" 538 | }, 539 | // Sidebar file close hover 540 | { 541 | "class": "close_button", 542 | "attributes": ["hover"] 543 | }, 544 | { 545 | "class": "close_button", 546 | "attributes": ["dirty", "hover"], 547 | "parents": [{"class": "tree_row","attributes": ["hover"]}], 548 | "layer0.texture": "Flatron/Flatron/close.png" 549 | }, 550 | 551 | // 552 | // SIDEBAR - GENERAL FILE ICONS 553 | // 554 | 555 | // Sidebar group closed 556 | { 557 | "class": "disclosure_button_control", 558 | "content_margin": [12, 12], 559 | "layer0.texture": "Flatron/Flatron/folder-closed.png", 560 | "layer0.opacity": 1, 561 | "layer0.inner_margin": [3, 3] 562 | }, 563 | { 564 | "class": "disclosure_button_control", 565 | "parents": [{"class": "tree_row","attributes": ["hover"]}] 566 | }, 567 | { 568 | "class": "disclosure_button_control", 569 | "parents": [{"class": "tree_row","attributes": ["selected"]}] 570 | }, 571 | // Sidebar folder closed 572 | { 573 | "class": "disclosure_button_control", 574 | "settings": ["soda_folder_icons"], 575 | "layer0.texture": "Flatron/Flatron/folder-closed.png" 576 | }, 577 | { 578 | "class": "disclosure_button_control", 579 | "settings": ["soda_folder_icons"], 580 | "parents": [{"class": "tree_row","attributes": ["hover"]}] 581 | }, 582 | { 583 | "class": "disclosure_button_control", 584 | "settings": ["soda_folder_icons"], 585 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 586 | "layer0.texture": "Flatron/Flatron/folder-closed.png" 587 | }, 588 | // Sidebar group open 589 | { 590 | "class": "disclosure_button_control", 591 | "attributes": ["expanded"], 592 | "layer0.texture": "Flatron/Flatron/folder-open.png" 593 | }, 594 | { 595 | "class": "disclosure_button_control", 596 | "attributes": ["expanded"], 597 | "parents": [{"class": "tree_row","attributes": ["hover"]}] 598 | }, 599 | { 600 | "class": "disclosure_button_control", 601 | "attributes": ["expanded"], 602 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 603 | "layer0.texture": "Flatron/Flatron/folder-open.png" 604 | }, 605 | // Sidebar folder open 606 | { 607 | "class": "disclosure_button_control", 608 | "settings": ["soda_folder_icons"], 609 | "attributes": ["expanded"], 610 | "layer0.texture": "Flatron/Flatron/folder-open.png" 611 | }, 612 | { 613 | "class": "disclosure_button_control", 614 | "settings": ["soda_folder_icons"], 615 | "attributes": ["expanded"], 616 | "parents": [{"class": "tree_row","attributes": ["hover"]}], 617 | "layer0.texture": "Flatron/Flatron/folder-open.png" 618 | }, 619 | { 620 | "class": "disclosure_button_control", 621 | "settings": ["soda_folder_icons"], 622 | "attributes": ["expanded"], 623 | "parents": [{"class": "tree_row","attributes": ["selected"]}], 624 | "layer0.texture": "Flatron/Flatron/folder-open.png" 625 | }, 626 | { 627 | "class": "icon_file_type", 628 | "content_margin": [0,0] 629 | }, 630 | { 631 | "class": "icon_folder", 632 | "content_margin": [0,0] 633 | }, 634 | { 635 | "class": "icon_folder_loading", 636 | "content_margin": [0,0] 637 | }, 638 | 639 | // 640 | // STANDARD TEXT BUTTONS 641 | // 642 | 643 | // Default button state 644 | { 645 | "class": "button_control", 646 | "content_margin": [4, 5, 4, 8], 647 | "min_size": [60, 0], 648 | "layer0.opacity": 1, 649 | "layer0.texture": "Flatron/Flatron/btn.png", 650 | "layer0.inner_margin": [8, 8] 651 | }, 652 | // Hover button state 653 | { 654 | "class": "button_control", 655 | "attributes": ["hover"], 656 | "layer0.texture": "Flatron/Flatron/btn-hover.png" 657 | }, 658 | // Pressed button state 659 | { 660 | "class": "button_control", 661 | "attributes": ["pressed"], 662 | "layer0.texture": "Flatron/Flatron/btn-hover.png" 663 | }, 664 | 665 | // 666 | // TEXT INPUT FIELD 667 | // 668 | 669 | // Text input field item 670 | { 671 | "class": "text_line_control", 672 | "layer0.texture": "Flatron/Flatron/text-field.png", 673 | "layer0.opacity": 1.0, 674 | "content_margin": [5, 3, 0, 0] 675 | }, 676 | 677 | // 678 | // PANEL BACKGROUNDS 679 | // 680 | 681 | // Bottom panel background 682 | { 683 | "class": "panel_control", 684 | "layer0.inner_margin": 0, 685 | "layer0.opacity": 1, 686 | "layer0.tint": [72, 67, 81], 687 | "content_margin": 0, 688 | "layer0.inner_margin": [10, 10] 689 | }, 690 | // Quick panel background 691 | { 692 | "class": "overlay_control", 693 | "layer0.opacity": 1, 694 | "layer1.tint": [72, 67, 81], 695 | "layer1.inner_margin": 0, 696 | "layer1.opacity": 1, 697 | "content_margin": 0 698 | }, 699 | 700 | // 701 | // QUICK PANEL 702 | // 703 | 704 | { 705 | "class": "quick_panel", 706 | "row_padding": 8, 707 | "layer0.tint": [72, 67, 81], 708 | "layer0.opacity": 1, 709 | "dark_content": true 710 | }, 711 | { 712 | "class": "quick_panel_row", 713 | "layer0.tint": [51, 61, 70], 714 | "layer0.inner_margin": 8 715 | }, 716 | { 717 | "class": "quick_panel_row", 718 | "attributes": ["selected"], 719 | "layer0.tint": [34, 40, 48] 720 | }, 721 | { 722 | "class": "quick_panel_label", 723 | "fg": [167, 173, 186, 255], 724 | "match_fg": [192, 197, 206, 255], 725 | "selected_fg": [255, 255, 255, 255], 726 | "selected_match_fg": [239, 241, 245, 255] 727 | }, 728 | { 729 | "class": "quick_panel_path_label", 730 | "fg": [101, 115, 126, 255], 731 | "match_fg": [167, 173, 186, 255], 732 | "selected_fg": [101, 115, 126, 255], 733 | "selected_match_fg": [167, 173, 186, 255] 734 | }, 735 | { 736 | "class": "quick_panel_score_label", 737 | "fg": [101, 115, 126, 255], 738 | "selected_fg": [101, 115, 126, 255] 739 | }, 740 | 741 | // 742 | // MINI QUICK PANEL 743 | // 744 | 745 | { 746 | "class": "mini_quick_panel_row", 747 | "layer0.tint": [72, 67, 81], 748 | "layer0.opacity": 1 749 | }, 750 | { 751 | "class": "mini_quick_panel_row", 752 | "attributes": ["selected"], 753 | "layer0.tint": [53, 49, 60] 754 | }, 755 | 756 | // 757 | // CODE COMPLETION DROPDOWN 758 | // 759 | 760 | { 761 | "class": "popup_control", 762 | "content_margin": 0, 763 | "layer0.tint": [72, 67, 81], 764 | "layer0.opacity": 1 765 | }, 766 | { 767 | "class": "auto_complete", 768 | "row_padding": [4,4] 769 | }, 770 | { 771 | "class": "auto_complete_label", 772 | "fg": [101, 115, 126, 255], 773 | "match_fg": [192, 197, 206, 255], 774 | "selected_fg": [167, 173, 186, 255], 775 | "selected_match_fg": [192, 197, 206, 255] 776 | }, 777 | { 778 | "class": "table_row", 779 | "layer0.tint": [53, 49, 60], 780 | "layer0.opacity": 0, 781 | "layer0.inner_margin": [3, 1] 782 | }, 783 | { 784 | "class": "table_row", 785 | "attributes": ["selected"], 786 | "layer0.opacity": 1 787 | }, 788 | 789 | // 790 | // BOTTOM PANEL BUTTONS 791 | // 792 | 793 | // Button group middle 794 | { 795 | "class": "icon_button_control", 796 | "layer1.opacity": 0, 797 | "content_margin": 1 798 | }, 799 | { 800 | "class": "icon_button_control", 801 | "attributes": ["selected"], 802 | "layer0.opacity": 0 803 | }, 804 | // Button group left 805 | { 806 | "class": "icon_button_control", 807 | "attributes": ["left"] 808 | }, 809 | // Button group left 810 | { 811 | "class": "icon_button_control", 812 | "attributes": ["left"] 813 | }, 814 | { 815 | "class": "icon_button_control", 816 | "attributes": ["left","selected"] 817 | }, 818 | // Button group right 819 | { 820 | "class": "icon_button_control", 821 | "attributes": ["right"] 822 | }, 823 | { 824 | "class": "icon_button_control", 825 | "attributes": ["right","selected"] 826 | }, 827 | // Button single 828 | { 829 | "class": "icon_button_control", 830 | "attributes": ["left","right"] 831 | }, 832 | { 833 | "class": "icon_button_control", 834 | "attributes": ["left","right","selected"] 835 | }, 836 | 837 | // 838 | // BOTTOM PANEL ICONS - GROUP 1 839 | // 840 | 841 | // Regex search button 842 | { 843 | "class": "icon_regex", 844 | "layer0.texture": "Flatron/Flatron/regex.png", 845 | "layer0.opacity": 1, 846 | "content_margin": [12, 2, 24, 24], 847 | "layer0.tint": [87, 84, 92] 848 | 849 | }, 850 | { 851 | "class": "icon_regex", 852 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 853 | "layer0.tint": [219, 221, 225] 854 | }, 855 | // Case sensitive search button 856 | { 857 | "class": "icon_case", 858 | "layer0.texture": "Flatron/Flatron/casesens.png", 859 | "layer0.tint": [87, 84, 92], 860 | "layer0.opacity": 1, 861 | "content_margin": [12, 2, 24, 24] 862 | }, 863 | { 864 | "class": "icon_case", 865 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 866 | "layer0.tint": [239, 241, 245] 867 | }, 868 | // Match whole word search button 869 | { 870 | "class": "icon_whole_word", 871 | "layer0.texture": "Flatron/Flatron/wholeword.png", 872 | "layer0.tint": [87, 84, 92], 873 | "layer0.opacity": 1, 874 | "content_margin": [12, 2, 24, 24] 875 | }, 876 | { 877 | "class": "icon_whole_word", 878 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 879 | "layer0.tint": [239, 241, 245] 880 | }, 881 | 882 | // 883 | // BOTTOM PANEL ICONS - GROUP 1 (EXTENDED: FIND IN FILES) 884 | // 885 | 886 | // Show search context button 887 | { 888 | "class": "icon_context", 889 | "layer0.tint": [53, 49, 60], 890 | "layer0.opacity": 1, 891 | "content_margin": [12, 2, 24, 24] 892 | }, 893 | { 894 | "class": "icon_context", 895 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 896 | "layer0.tint": [53, 49, 60] 897 | }, 898 | // Use search buffer 899 | { 900 | "class": "icon_use_buffer", 901 | "layer0.tint": [53, 49, 60], 902 | "layer0.opacity": 1, 903 | "content_margin": [12, 2, 24, 24] 904 | }, 905 | { 906 | "class": "icon_use_buffer", 907 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 908 | "layer0.tint": [53, 49, 60] 909 | }, 910 | 911 | // 912 | // BOTTOM PANEL ICONS - GROUP 2 913 | // 914 | // Reverse search direction button (ST2 only) 915 | { 916 | "class": "icon_reverse", 917 | "layer0.texture": "Flatron/Flatron/reverse.png", 918 | "layer0.tint": [87, 84, 92], 919 | "layer0.opacity": 1, 920 | "content_margin": [12, 2, 24, 24] 921 | }, 922 | { 923 | "class": "icon_reverse", 924 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 925 | "layer0.tint": [239, 241, 245] 926 | }, 927 | // Search wrap button 928 | { 929 | "class": "icon_wrap", 930 | "layer0.texture": "Flatron/Flatron/wrap.png", 931 | "layer0.tint": [87, 84, 92], 932 | "layer0.opacity": 1, 933 | "content_margin": [12, 2, 24, 24] 934 | }, 935 | { 936 | "class": "icon_wrap", 937 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 938 | "layer0.tint": [239, 241, 245] 939 | }, 940 | // Search in selection button 941 | { 942 | "class": "icon_in_selection", 943 | "layer0.texture": "Flatron/Flatron/selection.png", 944 | "layer0.tint": [87, 84, 92], 945 | "layer0.opacity": 1, 946 | "content_margin": [12, 2, 24, 24] 947 | }, 948 | { 949 | "class": "icon_in_selection", 950 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 951 | "layer0.tint": [239, 241, 245] 952 | }, 953 | 954 | // 955 | // BOTTOM PANEL ICONS - GROUP 3 956 | // 957 | 958 | // Preserve case button 959 | { 960 | "class": "icon_preserve_case", 961 | "layer0.texture": "Flatron/Flatron/lock.png", 962 | "layer0.tint": [87, 84, 92], 963 | "layer0.opacity": 1, 964 | "content_margin": [12, 2, 24, 24] 965 | }, 966 | { 967 | "class": "icon_preserve_case", 968 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 969 | "layer0.tint": [239, 241, 245] 970 | }, 971 | 972 | // 973 | // BOTTOM PANEL ICONS - GROUP 4 974 | // 975 | 976 | // Highlight results button 977 | { 978 | "class": "icon_highlight", 979 | "layer0.texture": "Flatron/Flatron/highlight.png", 980 | "layer0.tint": [87, 84, 92], 981 | "layer0.opacity": 1, 982 | "content_margin": [12, 2, 24, 24] 983 | }, 984 | { 985 | "class": "icon_highlight", 986 | "parents": [{"class": "icon_button_control","attributes": ["selected"]}], 987 | "layer0.tint": [239, 241, 245] 988 | }, 989 | 990 | // 991 | // SIDEBAR FOLDER COLORING 992 | // 993 | { 994 | "class": "disclosure_button_control", 995 | "settings": ["flatron_color_expanded_folder"], 996 | "attributes": ["expanded"], 997 | "layer0.tint": [254, 204, 102] 998 | }, 999 | 1000 | // 1001 | // TABS SIZING 1002 | // 1003 | 1004 | // Tab set 1005 | { 1006 | "class": "tabset_control", 1007 | "settings": ["flatron_tabs_auto_width"], 1008 | "tab_width": 0 1009 | }, 1010 | { 1011 | "class": "tabset_control", 1012 | "settings": ["flatron_tabs_small"], 1013 | "tab_height": 22 1014 | }, 1015 | { 1016 | "class": "tabset_control", 1017 | "settings": ["flatron_tabs_normal"], 1018 | "tab_height": 28 1019 | }, 1020 | { 1021 | "class": "tabset_control", 1022 | "settings": ["flatron_tabs_large"], 1023 | "tab_height": 34 1024 | }, 1025 | { 1026 | "class": "tabset_control", 1027 | "settings": ["flatron_tabs_xlarge"], 1028 | "tab_height": 40 1029 | } 1030 | 1031 | ] 1032 | -------------------------------------------------------------------------------- /Flatron.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | author 6 | Noah Buscher (http://codingbean.com) 7 | name 8 | Flatron 9 | semanticClass 10 | flatron 11 | colorSpaceName 12 | sRGB 13 | gutterSettings 14 | 15 | background 16 | #25222A 17 | divider 18 | #343d46 19 | foreground 20 | #25222A 21 | selectionBackground 22 | #4f5b66 23 | selectionForeground 24 | #a7adba 25 | 26 | settings 27 | 28 | 29 | settings 30 | 31 | background 32 | #25222A 33 | caret 34 | #c0c5ce 35 | foreground 36 | #898295 37 | invisibles 38 | #65737e 39 | lineHighlight 40 | #19161B 41 | selection 42 | #4f5b66 43 | 44 | 45 | 46 | name 47 | Text 48 | scope 49 | variable.parameter.function 50 | settings 51 | 52 | foreground 53 | #c0c5ce 54 | 55 | 56 | 57 | name 58 | Comments 59 | scope 60 | comment, punctuation.definition.comment 61 | settings 62 | 63 | foreground 64 | #898295 65 | 66 | 67 | 68 | name 69 | Punctuation 70 | scope 71 | punctuation.definition.string, punctuation.definition.variable, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array 72 | settings 73 | 74 | foreground 75 | #c0c5ce 76 | 77 | 78 | 79 | name 80 | Delimiters 81 | scope 82 | none 83 | settings 84 | 85 | foreground 86 | #c0c5ce 87 | 88 | 89 | 90 | name 91 | Operators 92 | scope 93 | keyword.operator 94 | settings 95 | 96 | foreground 97 | #c0c5ce 98 | 99 | 100 | 101 | name 102 | Keywords 103 | scope 104 | keyword 105 | settings 106 | 107 | foreground 108 | #CDC6D8 109 | 110 | 111 | 112 | name 113 | Variables 114 | scope 115 | variable 116 | settings 117 | 118 | foreground 119 | #CDC6D8 120 | 121 | 122 | 123 | name 124 | Functions 125 | scope 126 | entity.name.function, meta.require, support.function.any-method 127 | settings 128 | 129 | foreground 130 | #B887DD 131 | 132 | 133 | 134 | name 135 | Classes 136 | scope 137 | support.class, entity.name.class, entity.name.type.class 138 | settings 139 | 140 | foreground 141 | #CDC6D8 142 | 143 | 144 | 145 | name 146 | Classes 147 | scope 148 | meta.class 149 | settings 150 | 151 | foreground 152 | #eff1f5 153 | 154 | 155 | 156 | name 157 | Methods 158 | scope 159 | keyword.other.special-method 160 | settings 161 | 162 | foreground 163 | #8fa1b3 164 | 165 | 166 | 167 | name 168 | Storage 169 | scope 170 | storage 171 | settings 172 | 173 | foreground 174 | #67B1D7 175 | 176 | 177 | 178 | name 179 | Support 180 | scope 181 | support.function 182 | settings 183 | 184 | foreground 185 | #6A6474 186 | 187 | 188 | 189 | name 190 | Strings, Inherited Class 191 | scope 192 | string, constant.other.symbol, entity.other.inherited-class 193 | settings 194 | 195 | foreground 196 | #69B7A6 197 | 198 | 199 | 200 | name 201 | Integers 202 | scope 203 | constant.numeric 204 | settings 205 | 206 | foreground 207 | #CDC6D8 208 | 209 | 210 | 211 | name 212 | Floats 213 | scope 214 | none 215 | settings 216 | 217 | foreground 218 | #CDC6D8 219 | 220 | 221 | 222 | name 223 | Boolean 224 | scope 225 | none 226 | settings 227 | 228 | foreground 229 | #CDC6D8 230 | 231 | 232 | 233 | name 234 | Constants 235 | scope 236 | constant 237 | settings 238 | 239 | foreground 240 | #CDC6D8 241 | 242 | 243 | 244 | name 245 | Tags 246 | scope 247 | entity.name.tag 248 | settings 249 | 250 | foreground 251 | #CDC6D8 252 | 253 | 254 | 255 | name 256 | Attributes 257 | scope 258 | entity.other.attribute-name 259 | settings 260 | 261 | foreground 262 | #CDC6D8 263 | 264 | 265 | 266 | name 267 | Attribute IDs 268 | scope 269 | entity.other.attribute-name.id, punctuation.definition.entity 270 | settings 271 | 272 | foreground 273 | #8fa1b3 274 | 275 | 276 | 277 | name 278 | Selector 279 | scope 280 | meta.selector 281 | settings 282 | 283 | foreground 284 | #CDC6D8 285 | 286 | 287 | 288 | name 289 | Values 290 | scope 291 | none 292 | settings 293 | 294 | foreground 295 | #CDC6D8 296 | 297 | 298 | 299 | name 300 | Headings 301 | scope 302 | markup.heading punctuation.definition.heading, entity.name.section 303 | settings 304 | 305 | fontStyle 306 | 307 | foreground 308 | #8fa1b3 309 | 310 | 311 | 312 | name 313 | Units 314 | scope 315 | keyword.other.unit 316 | settings 317 | 318 | foreground 319 | #CDC6D8 320 | 321 | 322 | 323 | name 324 | Bold 325 | scope 326 | markup.bold, punctuation.definition.bold 327 | settings 328 | 329 | fontStyle 330 | bold 331 | foreground 332 | #CDC6D8 333 | 334 | 335 | 336 | name 337 | Italic 338 | scope 339 | markup.italic, punctuation.definition.italic 340 | settings 341 | 342 | fontStyle 343 | italic 344 | foreground 345 | #CDC6D8 346 | 347 | 348 | 349 | name 350 | Code 351 | scope 352 | markup.raw.inline 353 | settings 354 | 355 | foreground 356 | #a3be8c 357 | 358 | 359 | 360 | name 361 | Link Text 362 | scope 363 | string.other.link 364 | settings 365 | 366 | foreground 367 | #CDC6D8 368 | 369 | 370 | 371 | name 372 | Link Url 373 | scope 374 | meta.link 375 | settings 376 | 377 | foreground 378 | #CDC6D8 379 | 380 | 381 | 382 | name 383 | Lists 384 | scope 385 | markup.list 386 | settings 387 | 388 | foreground 389 | #CDC6D8 390 | 391 | 392 | 393 | name 394 | Quotes 395 | scope 396 | markup.quote 397 | settings 398 | 399 | foreground 400 | #d08770 401 | 402 | 403 | 404 | name 405 | Separator 406 | scope 407 | meta.separator 408 | settings 409 | 410 | background 411 | #4f5b66 412 | foreground 413 | #c0c5ce 414 | 415 | 416 | 417 | name 418 | Inserted 419 | scope 420 | markup.inserted 421 | settings 422 | 423 | foreground 424 | #a3be8c 425 | 426 | 427 | 428 | name 429 | Deleted 430 | scope 431 | markup.deleted 432 | settings 433 | 434 | foreground 435 | #CDC6D8 436 | 437 | 438 | 439 | name 440 | Changed 441 | scope 442 | markup.changed 443 | settings 444 | 445 | foreground 446 | #CDC6D8 447 | 448 | 449 | 450 | name 451 | Colors 452 | scope 453 | constant.other.color 454 | settings 455 | 456 | foreground 457 | #6A6474 458 | 459 | 460 | 461 | name 462 | Regular Expressions 463 | scope 464 | string.regexp 465 | settings 466 | 467 | foreground 468 | #6A6474 469 | 470 | 471 | 472 | name 473 | Escape Characters 474 | scope 475 | constant.character.escape 476 | settings 477 | 478 | foreground 479 | #6A6474 480 | 481 | 482 | 483 | name 484 | Embedded 485 | scope 486 | punctuation.section.embedded, variable.interpolation 487 | settings 488 | 489 | foreground 490 | #ab7967 491 | 492 | 493 | 494 | name 495 | Tag start/end 496 | scope 497 | punctuation.definition.tag.html, punctuation.definition.tag.begin, punctuation.definition.tag.end 498 | settings 499 | 500 | foreground 501 | #9A38D9 502 | 503 | 504 | 505 | name 506 | Invalid 507 | scope 508 | invalid.illegal 509 | settings 510 | 511 | background 512 | #CDC6D8 513 | foreground 514 | #2b303b 515 | 516 | 517 | 518 | uuid 519 | 59c1e2f2-7b41-46f9-91f2-1b4c6f5866f7 520 | 521 | 522 | -------------------------------------------------------------------------------- /Flatron/Widget - Flatron.stTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | author 6 | Noah Buscher (http://noahbuscher.com) 7 | name 8 | Flatron - Widget Theme 9 | settings 10 | 11 | 12 | settings 13 | 14 | background 15 | #25222A 16 | caret 17 | #F8F8F8 18 | foreground 19 | #696373 20 | invisibles 21 | #25222A 22 | lineHighlight 23 | #333333 24 | selection 25 | #35313C 26 | selectionBorder 27 | #66666600 28 | inactiveSelection 29 | #4a4a4a 30 | 31 | 32 | 33 | name 34 | Comment 35 | scope 36 | comment 37 | settings 38 | 39 | fontStyle 40 | italic 41 | foreground 42 | #505C63 43 | 44 | 45 | 46 | name 47 | Keyword 48 | scope 49 | keyword, storage 50 | settings 51 | 52 | foreground 53 | #A7DBD8 54 | 55 | 56 | 57 | scope 58 | constant 59 | settings 60 | 61 | foreground 62 | #E0E4CC 63 | 64 | 65 | 66 | scope 67 | string 68 | settings 69 | 70 | foreground 71 | #E0E4CC 72 | 73 | 74 | 75 | scope 76 | constant.character.escape 77 | settings 78 | 79 | foreground 80 | #e9903c 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /Flatron/Widget - Flatron.sublime-settings: -------------------------------------------------------------------------------- 1 | { 2 | "color_scheme": "Packages/Flatron/Flatron/Widget - Flatron.stTheme", 3 | "draw_shadows": false 4 | } 5 | -------------------------------------------------------------------------------- /Flatron/btn-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/btn-hover.png -------------------------------------------------------------------------------- /Flatron/btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/btn.png -------------------------------------------------------------------------------- /Flatron/casesens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/casesens.png -------------------------------------------------------------------------------- /Flatron/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/circle.png -------------------------------------------------------------------------------- /Flatron/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/close.png -------------------------------------------------------------------------------- /Flatron/fold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/fold.png -------------------------------------------------------------------------------- /Flatron/folder-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/folder-closed.png -------------------------------------------------------------------------------- /Flatron/folder-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/folder-open.png -------------------------------------------------------------------------------- /Flatron/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/folder.png -------------------------------------------------------------------------------- /Flatron/highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/highlight.png -------------------------------------------------------------------------------- /Flatron/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/lock.png -------------------------------------------------------------------------------- /Flatron/regex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/regex.png -------------------------------------------------------------------------------- /Flatron/reverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/reverse.png -------------------------------------------------------------------------------- /Flatron/selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/selection.png -------------------------------------------------------------------------------- /Flatron/text-field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/text-field.png -------------------------------------------------------------------------------- /Flatron/unfold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/unfold.png -------------------------------------------------------------------------------- /Flatron/wholeword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/wholeword.png -------------------------------------------------------------------------------- /Flatron/wrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Flatron/wrap.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Noah Buscher 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Flatron 2 | ======= 3 | 4 | Flatron is a minimalist Sublime Text 3 theme. It's flat, purple, and hella sexy. Done in collaboration with [Cosmin Negoita](https://twitter.com/csmnng). 5 | 6 | ![Flatron](Screenshots/Flatron.png) 7 | 8 | Installing 9 | --- 10 | 11 | Looking to install Flatron? You, good person, have a handsome taste in text editor themes. 12 | 13 | #### Package Manager 14 | The easiest way to install is using [Sublime Package Control](https://sublime.wbond.net), where Flatron is listed. 15 | 16 | 1. Open Command Palette using menu item `Tools -> Command Palette...` (P on Mac) 17 | 2. Choose `Package Control: Install Package` 18 | 3. Find `Flatron` and hit Enter 19 | 20 | #### Auto-Installer (Mac) 21 | > **Important Note:** If you are *not* on a Mac, the installer script won't work! 22 | 23 | 1. Execute this command in your terminal: 24 | - `curl -s https://raw.githubusercontent.com/NoahBuscher/Flatron/master/install-sl3.sh | bash` 25 | 26 | #### Manual Installation (Windows and Linux) 27 | 28 | 1. Download the [latest release](https://github.com/Codingbean/Flatron/releases) 29 | 2. Unzip the files and rename the folder to `Flatron`; be sure to include the spaces 30 | 3. Find your Packages directory using the menu item `Preferences -> Browse Packages` 31 | 4. Copy the folder into your Sublime Text `Packages` directory 32 | 33 | Activating 34 | --- 35 | 36 | You can then activate the UI theme and color scheme by modifying your user preferences file, which you can find using the menu item `Sublime Text -> Preferences -> Settings - User` (, on Mac). 37 | 38 | ***Note: Don't forget to restart Sublime Text after activating the theme.*** 39 | 40 | ```json 41 | { 42 | "color_scheme": "Packages/Flatron/Flatron.tmTheme", 43 | "theme": "Flatron.sublime-theme" 44 | } 45 | ``` 46 | 47 | Yay! Flatron is now installed! :tada: 48 | -------------------------------------------------------------------------------- /Screenshots/Flatron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/noahbuscher/flatron/f27e9e16a1ed0e1572e632732890f8b482df53f6/Screenshots/Flatron.png -------------------------------------------------------------------------------- /install-sl3.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | uid="$(id -u)" 4 | dir_string='/Library/Application Support/Sublime Text 3' 5 | sublime_dir="$HOME$dir_string" 6 | sublime_package_dir="$sublime_dir/Packages" 7 | git_url="git@github.com:NoahBuscher/Flatron.git" 8 | dest_path="$sublime_package_dir/Flatron" 9 | 10 | # Colors 11 | Reset='\033[0m' # No Color 12 | FgWhite='\033[1;37m' 13 | FgBlack='\033[0;30m' 14 | FgBlue='\033[0;34m' 15 | FgLightBlue='\033[1;34m' 16 | FgGreen='\033[0;32m' 17 | FgLightGreen='\033[1;32m' 18 | FgCyan='\033[0;36m' 19 | FgLightCyan='\033[1;36m' 20 | FgRed='\033[0;31m' 21 | FgLightRed='\033[1;31m' 22 | FgPurple='\033[0;35m' 23 | FgLightPurple='\033[1;35m' 24 | FgBrown='\033[0;33m' 25 | FgYellow='\033[1;33m' 26 | FgGray='\033[0;30m' 27 | FgLightGray='\033[0;37m' 28 | 29 | function step { 30 | echo -ne " ${FgBlue}>${Reset} $1..." 31 | } 32 | 33 | function success { 34 | echo -e "${FgGreen}OK${Reset}" 35 | } 36 | 37 | function fail { 38 | echo -e "${FgRed}FAIL${Reset}" 1>&2 39 | if [ ! "$1" = "" ]; then 40 | echo -e " ${FgLightRed}$1${Reset}" 1>&2 41 | fi 42 | exit 1 43 | } 44 | 45 | echo -e "${FgLightPurple}#--------------------------------------" 46 | echo -e "#" 47 | echo -e "# ${FgWhite}Flatron Installer${FgLightPurple}" 48 | echo -e "#" 49 | echo -e "#--------------------------------------${Reset}" 50 | 51 | step "Checking for root user" 52 | if [ $uid = "0" ]; then fail "Cowardly refusing to run as root user :("; else success; fi 53 | 54 | step "Checking for Sublime Text 3 Installation" 55 | if [ ! -d "$sublime_dir" ]; then fail "Sublime Text 3 installation not found"; else success; fi 56 | 57 | step "Checking if theme already installed..." 58 | if [ -d "$dest_path" ]; then fail "Flatron Theme already installed"; else success; fi 59 | 60 | step "Installing Flatron Theme" 61 | if output=$(git clone "$git_url" "$dest_path" > /dev/null 2>&1); then success; else fail "Unable to download the theme. Please try again."; fi 62 | 63 | step "Verifying Flatron installed properly" 64 | if output=$(ls "$dest_path" > /dev/null 2>&1); then success; else fail "It does not appear that Flatron installed properly. Please try again."; fi 65 | 66 | echo "" 67 | echo -e " ${FgBlue}>>>${Reset} ${FgGreen}Installation successful!${Reset}" 68 | echo -e " ${FgLightBlue}Please add the following lines to your User Preferences file: ${Reset}" 69 | echo "" 70 | echo -e " ${FgLightRed}\"theme\"${FgWhite}: ${FgLightPurple}\"Flatron.sublime-theme\"${Reset}" 71 | echo -e " ${FgLightRed}\"color_scheme\"${FgWhite}: ${FgLightPurple}\"Packages/Theme - Flatron/Flatron.tmTheme\"${Reset}" 72 | --------------------------------------------------------------------------------