├── .gitignore ├── themes ├── md3 │ ├── module-hide-unneeded.css │ ├── scrollbar.css │ ├── use-system-font.css │ ├── titlebar.css │ ├── module-hc-toggle.css │ ├── module-danger-highlight.css │ ├── base.css │ ├── inputs.css │ └── modules.css ├── md3-darker.css ├── md3-high-contrast.css ├── md3-dark.css └── md3-grey.css ├── README.md └── LICENSE.md /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | themes/darktable.css 3 | -------------------------------------------------------------------------------- /themes/md3/module-hide-unneeded.css: -------------------------------------------------------------------------------- 1 | #module-header .dt_module_btn:disabled { 2 | min-width: 0; 3 | min-height: 0; 4 | opacity: 0; 5 | margin: 0; 6 | padding: 0; 7 | } 8 | -------------------------------------------------------------------------------- /themes/md3-darker.css: -------------------------------------------------------------------------------- 1 | @import url("md3/base.css"); 2 | @import url("md3/modules.css"); 3 | @import url("md3/titlebar.css"); 4 | @import url("md3/scrollbar.css"); 5 | @import url("md3/inputs.css"); 6 | 7 | /* optional */ 8 | @import url("md3/module-hide-unneeded.css"); 9 | @import url("md3/module-danger-highlight.css"); 10 | @import url("md3/module-hc-toggle.css"); 11 | @import url("md3/use-system-font.css"); 12 | -------------------------------------------------------------------------------- /themes/md3/scrollbar.css: -------------------------------------------------------------------------------- 1 | scrollbar { 2 | background-color: transparent; 3 | transition: all 0.2s ease-in; 4 | margin: 0.6em; 5 | border-radius: 32px; 6 | } 7 | 8 | scrollbar.vertical { 9 | margin: 0 0.4em; 10 | } 11 | 12 | #usercss-box scrollbar.vertical { 13 | margin: 0.6em; 14 | } 15 | 16 | scrollbar:hover { 17 | background-color: @scroll_bar_bg; 18 | } 19 | 20 | scrollbar.vertical slider { 21 | min-width: 0.2em; 22 | } 23 | 24 | scrollbar.vertical:hover slider { 25 | min-width: 0.5em; 26 | margin: 0 -7px; 27 | } 28 | 29 | scrollbar.horizontal { 30 | margin: 0.4em 0; 31 | } 32 | 33 | scrollbar.horizontal slider { 34 | min-height: 0.3em; 35 | } 36 | 37 | scrollbar.horizontal:hover slider { 38 | min-height: 0.5em; 39 | margin: -7px 0; 40 | } 41 | -------------------------------------------------------------------------------- /themes/md3/use-system-font.css: -------------------------------------------------------------------------------- 1 | *, 2 | combobox, 3 | combobox *, 4 | togglebutton, 5 | togglebutton *, 6 | notebook, 7 | notebook *, 8 | notebook tab, 9 | notebook tab *, 10 | table, 11 | table *, 12 | row, 13 | row *, 14 | frame, 15 | frame *, 16 | filechooser, 17 | filechooser *, 18 | filechooserdialog, 19 | filechooserdialog *, 20 | alignment, 21 | entry, 22 | entry *, 23 | textview, 24 | textview *, 25 | dialog, 26 | dialog *, 27 | colorswatch, 28 | colorswatch *, 29 | stack, 30 | stack *, 31 | scrollbar, 32 | scrollbar *, 33 | scale, 34 | scale *, 35 | button, 36 | button *, 37 | treeview, 38 | treeview *, 39 | menu, 40 | menu *, 41 | separator, 42 | eventbox, 43 | eventbox *, 44 | box, 45 | box *, 46 | #iop-panel-label, 47 | #lib-panel-label 48 | { 49 | font-family: system-ui; 50 | } 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Lighttable 2 | ![image](https://github.com/user-attachments/assets/bb8668b0-fbf9-48e8-a63e-e4fd35a63b29) 3 | 4 | Darkroom 5 | ![image](https://github.com/user-attachments/assets/6d8433a3-9e78-4557-9254-0c7621229ad4) 6 | 7 | Preferences 8 | ![image](https://github.com/user-attachments/assets/8e9cddab-74c7-41d2-b7e2-33b9514b11a6) 9 | 10 | Notable features: 11 | 12 | Clear contrast between disabled and enabled effect (with the reset button also becoming highlighted) 13 | ![image](https://github.com/user-attachments/assets/267e0c57-489e-45b9-9fb5-0cc7a3cc0e2c) 14 | 15 | Danger-coded colours for the reset button hover state to reinforce the unclear icon 16 | ![image](https://github.com/user-attachments/assets/5c300042-0f14-4cfa-b2db-8a10fa536758) 17 | 18 | Hidden disabled top right buttons for sections 19 | ![image](https://github.com/user-attachments/assets/e20e10f4-1229-4249-8989-e46c7d445819) 20 | -------------------------------------------------------------------------------- /themes/md3/titlebar.css: -------------------------------------------------------------------------------- 1 | @define-color minimize_colour @warning; 2 | @define-color maximize_colour @success; 3 | @define-color close_colour @danger; 4 | 5 | .titlebar { 6 | padding: 10px; 7 | background-color: @bg_color; 8 | } 9 | 10 | messagedialog .titlebar, 11 | dialog .titlebar { 12 | background-color: @dialog-bg-color; 13 | } 14 | 15 | .titlebar button { 16 | border-radius: 20px; 17 | background-color: transparent; 18 | border: none; 19 | padding: 1px; 20 | margin: 2px; 21 | } 22 | 23 | .titlebar button.minimize, 24 | .titlebar button.minimize:hover { 25 | background-color: @minimize_colour; 26 | } 27 | 28 | .titlebar button.maximize, 29 | .titlebar button.maximize:hover { 30 | background-color: @maximize_colour; 31 | } 32 | 33 | 34 | .titlebar button.close, 35 | .titlebar button.close:hover { 36 | background-color: @close_colour; 37 | } 38 | 39 | .titlebar button image { 40 | opacity: 0; 41 | transition: all 0.2s ease-in; 42 | } 43 | 44 | .titlebar button:hover image { 45 | opacity: 1 46 | } 47 | -------------------------------------------------------------------------------- /themes/md3/module-hc-toggle.css: -------------------------------------------------------------------------------- 1 | .dt_module_btn.dt_history_switch, 2 | #module-header .dt_module_btn:first-child, 3 | #basics-header-box > .toggle { 4 | padding: 0; 5 | color: transparent; 6 | min-width: 0; 7 | } 8 | 9 | .dt_module_btn.dt_history_switch, 10 | #right #module-header .dt_module_btn:first-child, 11 | #right #basics-header-box > .toggle { 12 | background: @bg_color; 13 | border-radius: 32px; 14 | min-width: 7px; 15 | min-height: 24px; 16 | margin: 0 2px 0 0; 17 | } 18 | 19 | .dt_module_btn.dt_history_switch { 20 | margin: 3px 0 3px 3px; 21 | } 22 | 23 | .dt_module_btn.dt_history_switch:hover, 24 | #right #module-header .dt_module_btn:first-child:hover, 25 | #right #basics-header-box > .toggle:hover { 26 | min-width: 14px; 27 | } 28 | 29 | .dt_module_btn.dt_history_switch:not(.dt_history_switch_off), 30 | #right #module-header .dt_module_btn:first-child:checked, 31 | #right #basics-header-box > .toggle:checked { 32 | color: transparent; 33 | background: @button_fg; 34 | } 35 | 36 | #left #module-header label { 37 | padding-left: 0; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /themes/md3/module-danger-highlight.css: -------------------------------------------------------------------------------- 1 | #module-header .dt_module_btn:nth-last-child(2), 2 | #basics-header-box #quick-reset, 3 | #module-header .dt_module_btn:last-child, 4 | #basics-header-box #quick-presets { 5 | transition: 0.2s all ease-in; 6 | } 7 | 8 | #module-header .dt_module_btn:nth-last-child(2):hover, 9 | #module-header .dt_module_btn:first-child:checked:not(:disabled) ~ .dt_module_btn:nth-last-child(2):hover, 10 | #basics-header-box > .toggle:checked ~ #quick-reset:hover, 11 | #module-header .dt_module_btn:last-child:hover, 12 | #module-header .dt_module_btn:first-child:checked:not(:disabled) ~ .dt_module_btn:last-child:hover, 13 | #basics-header-box > .toggle:checked ~ #quick-presets:hover { 14 | color: @plugin_bg_color; 15 | } 16 | 17 | /* idle overrides */ 18 | 19 | #module-header .dt_module_btn:first-child:checked:not(:disabled) ~ .dt_module_btn:nth-last-child(2), 20 | #basics-header-box > .toggle:checked ~ #quick-reset { 21 | color: @danger_text; 22 | background: @danger_bg; 23 | } 24 | 25 | /* Hover colours */ 26 | 27 | #module-header .dt_module_btn:nth-last-child(2):hover, 28 | #module-header .dt_module_btn:first-child:checked:not(:disabled) ~ .dt_module_btn:nth-last-child(2):hover, 29 | #basics-header-box > .toggle:checked ~ #quick-reset:hover { 30 | background-color: @danger; 31 | } 32 | 33 | #module-header .dt_module_btn:last-child:hover, 34 | #module-header .dt_module_btn:first-child:checked:not(:disabled) ~ .dt_module_btn:last-child:hover, 35 | #basics-header-box > .toggle:checked ~ #quick-presets:hover { 36 | background-color: @warning; 37 | } 38 | -------------------------------------------------------------------------------- /themes/md3-high-contrast.css: -------------------------------------------------------------------------------- 1 | @import url("md3/base.css"); 2 | @import url("md3/modules.css"); 3 | @import url("md3/titlebar.css"); 4 | @import url("md3/scrollbar.css"); 5 | @import url("md3/inputs.css"); 6 | 7 | /* optional */ 8 | @import url("md3/module-hide-unneeded.css"); 9 | @import url("md3/module-danger-highlight.css"); 10 | @import url("md3/module-hc-toggle.css"); 11 | @import url("md3/use-system-font.css"); 12 | 13 | /* General */ 14 | @define-color selected_bg_color @grey_35; /* legacy stuff */ 15 | @define-color border_color rgba(255, 255, 255, 0.4); /* border, when used */ 16 | @define-color bg_color #111111; /* general background */ 17 | @define-color fg_color @grey_90; /* general text */ 18 | @define-color base_color @fg_color; /* legacy stuff */ 19 | @define-color disabled_fg_color @grey_45; /* disabled controls */ 20 | 21 | @define-color graph_bg @plugin_bg_color; 22 | 23 | /* Modules controls (sliders and comboboxes) */ 24 | @define-color bauhaus_fg @grey_95; 25 | @define-color bauhaus_fg_hover @grey_85; 26 | @define-color bauhaus_fg_selected @grey_95; 27 | 28 | /* Modules box (plugins) */ 29 | @define-color plugin_bg_color shade(@bg_color, 1.8); 30 | 31 | /* GTK Buttons and tabs */ 32 | @define-color button_fg alpha(@fg_color, 0.85); 33 | @define-color button_focus_fg @grey_90; 34 | @define-color button_checked_fg @grey_90; 35 | @define-color button_hover_fg @grey_15; 36 | 37 | /* Views */ 38 | @define-color darkroom_bg_color white; 39 | 40 | /* text fields */ 41 | @define-color field_fg @grey_85; 42 | @define-color field_active_fg @grey_85; 43 | @define-color field_selected_fg @grey_95; 44 | 45 | /* Tooltips and contextual helpers */ 46 | @define-color tooltip_fg_color @grey_95; 47 | @define-color log_fg_color @grey_90; 48 | 49 | /* Lighttable and film-strip */ 50 | @define-color thumbnail_font_color @grey_20; 51 | 52 | /* Graphs : histogram, navigation thumbnail and some items on tone curve */ 53 | @define-color graph_fg @grey_90; 54 | @define-color graph_fg_active @grey_100; 55 | @define-color graph_grid @grey_00; 56 | 57 | #iop-panel-label, #lib-panel-label, #iop-module-name { color: @fg_color; } 58 | #module-header .toggle:checked { color: @fg_color; } 59 | -------------------------------------------------------------------------------- /themes/md3/base.css: -------------------------------------------------------------------------------- 1 | @import url("../darktable.css"); 2 | 3 | @define-color dialog-bg-color shade(@bg_color, 0.9); 4 | 5 | @define-color success #38c76a; 6 | @define-color success_text alpha(@success, 0.7); 7 | @define-color success_bg alpha(@success, 0.2); 8 | 9 | @define-color warning #fdbe04; 10 | @define-color warning_text alpha(@warning, 0.7); 11 | @define-color warning_bg alpha(@warning, 0.2); 12 | 13 | @define-color danger #fd5f51; 14 | @define-color danger_text alpha(@danger, 0.7); 15 | @define-color danger_bg alpha(@danger, 0.2); 16 | 17 | #outer-border { 18 | background-color: transparent; 19 | } 20 | 21 | #top-hinter widget label, 22 | #top-hinter combobox { 23 | font-size: 18px; 24 | font-weight: 500; 25 | } 26 | 27 | #top-hinter widget label:selected { 28 | font-weight: bold; 29 | } 30 | 31 | #top-hinter widget + label { 32 | color: transparent; 33 | margin: 0 -12px; 34 | } 35 | 36 | #usercss-box { 37 | border: none; 38 | background-color: transparent; 39 | padding: 0; 40 | } 41 | 42 | #usercss-box scrolledwindow { 43 | background-color: @bg_color; 44 | margin-bottom: 12px; 45 | border-radius: 12px; 46 | } 47 | 48 | #shortcut-controls checkbutton { 49 | margin: 0; 50 | } 51 | 52 | list { 53 | padding: 16px 0; 54 | } 55 | 56 | dialog, 57 | messagedialog, 58 | .dt_bauhaus_popup { 59 | background-color: @dialog-bg-color; 60 | } 61 | 62 | #preferences-box .sidebar scrolledwindow, 63 | dialog .sidebar scrolledwindow { 64 | background-color: transparent; 65 | } 66 | 67 | #preferences-box .sidebar row { 68 | border-radius: 64px; 69 | margin: 4px 12px; 70 | padding: 6px 4px; 71 | border-left: none; 72 | transition: all 0.05s ease-in; 73 | min-width: 180px; 74 | } 75 | 76 | #preferences-box .sidebar row:hover label { 77 | background-color: transparent; 78 | } 79 | 80 | #preferences-box .sidebar row:selected { 81 | border-radius: 64px 0 0 64px; 82 | margin-right: 0; 83 | border-left: none; 84 | } 85 | 86 | 87 | /* Border radius for dialogs */ 88 | messagedialog, 89 | messagedialog .titlebar, 90 | dialog, 91 | dialog .titlebar, 92 | #preferences-box stack > box, 93 | #preferences-box stack > scrolledwindow { 94 | border-radius: 16px; 95 | } 96 | 97 | #preferences-box stack > box, 98 | #preferences-box stack > scrolledwindow { 99 | border-top-left-radius: 8px; 100 | border-top-right-radius: 0; 101 | border-bottom-left-radius: 8px; 102 | background-color: @plugin_bg_color; 103 | padding: 0.7em 1em 1em 1em; 104 | } 105 | 106 | dialog .titlebar { 107 | border-bottom-left-radius: 0; 108 | border-bottom-right-radius: 0; 109 | } 110 | 111 | dialog { 112 | border-top-left-radius: 0; 113 | border-top-right-radius: 0; 114 | } 115 | 116 | #thumbtable-filemanager { 117 | border: none; 118 | } 119 | 120 | #thumbtable-filmstrip { 121 | border-radius: 8px 8px 0 0; 122 | } 123 | 124 | #thumb-back { 125 | background-color: transparent; 126 | border: none; 127 | border-radius: 4px; 128 | transition: all 0.2s ease-in; 129 | } 130 | 131 | #thumbtable-filemanager #thumb-back { 132 | border-radius: 4px; 133 | } 134 | 135 | #thumb-ext { 136 | border-radius: 4px; 137 | } 138 | 139 | #thumb-bottom { 140 | border-radius: 12px; 141 | } 142 | 143 | #navigation-module { 144 | border-radius: 12px; 145 | } 146 | 147 | #nav-zoom { 148 | border-radius: 8px; 149 | margin: 6px; 150 | } 151 | 152 | /* increase colour label size by reducing padding */ 153 | #thumb-colorlabels { 154 | padding: 5px; 155 | } 156 | -------------------------------------------------------------------------------- /themes/md3/inputs.css: -------------------------------------------------------------------------------- 1 | .popup, 2 | context-menu, 3 | menu, 4 | menuitem > arrow, 5 | tooltip, 6 | popover, 7 | popover #bauhaus-slider, 8 | #range-current, 9 | .dt_bauhaus_popup 10 | { 11 | border-radius: 6px; 12 | } 13 | 14 | .text-button, 15 | #preferences-box #bauhaus-combobox, 16 | #header-toolbar #bauhaus-combobox, 17 | #header-toolbar .search, 18 | #preferences-box .dt_bauhaus, 19 | textview, 20 | combobox > box box, 21 | #collapse-block box, 22 | .search, 23 | #non-flat { 24 | border-radius: 20px; 25 | } 26 | 27 | .text-button, 28 | #preferences-box #bauhaus-combobox, 29 | #header-toolbar #bauhaus-combobox, 30 | #header-toolbar .search, 31 | #preferences-box .dt_bauhaus, 32 | textview, 33 | combobox > box box, 34 | #collapse-block box, 35 | .search { 36 | padding: 8px; 37 | } 38 | 39 | #collapse-block frame { 40 | margin-top: 4px; 41 | } 42 | 43 | button, 44 | checkbutton check { 45 | border-radius: 6px; 46 | padding: 4px; 47 | } 48 | 49 | .text-button { 50 | padding: 8px 16px; 51 | } 52 | 53 | #bauhaus-combobox { 54 | margin: 5px 0; 55 | } 56 | 57 | #preferences-box .text-button, 58 | #preferences-box #bauhaus-combobox, 59 | #preferences-box .dt_bauhaus, 60 | #preferences-box entry, 61 | #preferences-box textview, 62 | #preferences-box combobox > box box, 63 | #preferences-box #collapse-block box, 64 | #preferences-box checkbutton check { 65 | margin-top: 4px; 66 | margin-bottom: 4px; 67 | } 68 | 69 | #left .text-button, 70 | #right .text-button, 71 | #left #non-flat, 72 | #right #non-flat, 73 | #left #collapse-block box, 74 | #right #collapse-block box { 75 | margin: 4px; 76 | } 77 | 78 | /* Tricky way of removing side padding when it's just 2 buttons per row */ 79 | #plugins_vbox_left .dt_plugin_ui .horizontal:not(grid) > .text-button:first-child { 80 | margin-left: 0; 81 | } 82 | 83 | #plugins_vbox_left .dt_plugin_ui .horizontal:not(grid) > .text-button:last-child { 84 | margin-right: 0; 85 | } 86 | 87 | #plugins_vbox_left .dt_plugin_ui .horizontal:not(grid) ~ #collapse-block box { 88 | margin-right: 0; 89 | margin-left: 0; 90 | } 91 | 92 | #left box.horizontal > #non-flat, 93 | #right box.horizontal > #non-flat { 94 | margin: 0 0 0 6px; 95 | } 96 | 97 | spinbutton button { 98 | margin: 4px; 99 | } 100 | 101 | spinbutton button, 102 | #non-flat { 103 | padding: 8px 10px; 104 | } 105 | 106 | checkbutton check { 107 | border-radius: 6px; 108 | padding: 6px; 109 | border: none; 110 | } 111 | 112 | treeview header button { 113 | border-radius: 0; 114 | border: none; 115 | padding: 4px 8px; 116 | margin: 0; 117 | } 118 | 119 | treeview header button:first-child { 120 | border-top-left-radius: 8px; 121 | } 122 | 123 | treeview header button:last-child { 124 | border-top-right-radius: 8px; 125 | } 126 | 127 | #header-toolbar .dt_quick_filter button.dt_module_btn { 128 | padding: 2px; 129 | } 130 | 131 | #header-toolbar .search { 132 | margin: 5px; 133 | } 134 | 135 | #header-toolbar .dt_module_btn { 136 | margin: 5.5px 2px; 137 | min-height: 8px; 138 | } 139 | 140 | #header-toolbar .dt_module_btn #button-canvas { 141 | margin: 18px; 142 | } 143 | 144 | #header-rule-box #dt-range-band { 145 | background: transparent; 146 | border: transparent; 147 | } 148 | 149 | messagedialog .dialog-action-area { 150 | margin: 16px 151 | } 152 | 153 | .dialog-action-area button { 154 | margin: 6px 155 | } 156 | 157 | /* History module */ 158 | .dt_history_items { 159 | padding: 1px 4px 3px; 160 | border-radius: 6px; 161 | } 162 | 163 | #history-number { 164 | font-size: 0.9rem; 165 | margin-top: 0.26rem; 166 | } 167 | -------------------------------------------------------------------------------- /themes/md3/modules.css: -------------------------------------------------------------------------------- 1 | /* General paddings */ 2 | 3 | #left { 4 | padding: 0 8px 0 0; 5 | } 6 | 7 | #left > :not(scrolledwindow) { 8 | padding-left: 8px; 9 | } 10 | 11 | #right { 12 | padding: 0 0 0 8px; 13 | } 14 | 15 | #right > :not(scrolledwindow) { 16 | padding-right: 8px; 17 | } 18 | 19 | /* bottom anchored options */ 20 | 21 | #left > box:nth-child(3) #module-header, 22 | #right > box:nth-child(3) #module-header { 23 | padding: 0; 24 | } 25 | 26 | #plugins_vbox_left > box:not(#basics-box-labels) { 27 | background-color: @plugin_bg_color; 28 | border-radius: 4px; 29 | } 30 | 31 | #basics-module-hbox, 32 | #plugins_vbox_left > box:not(#basics-box-labels) { 33 | margin-bottom: 4px; 34 | } 35 | 36 | #basics-box-labels { 37 | background-color: transparent; 38 | } 39 | 40 | #basics-box-labels widget, 41 | #basics-module-hbox { 42 | background-color: @plugin_bg_color; 43 | } 44 | 45 | #basics-box-labels widget { 46 | border: none; 47 | } 48 | 49 | #basics-module-hbox, 50 | #plugins_vbox_left frame.dt_plugin_ui { 51 | border-radius: 0 0 4px 4px; 52 | } 53 | 54 | #basics-module-hbox { 55 | padding: 4px 0 8px; 56 | } 57 | 58 | #basics-box-labels #basics-header-box { 59 | padding: 6px 4px 6px 10px; 60 | } 61 | 62 | #basics-module-hbox + widget { 63 | border-radius: 4px 4px 0 0; 64 | } 65 | 66 | #left > box:nth-child(3), 67 | #right > box:nth-child(3) { 68 | margin: 6px 0; 69 | } 70 | 71 | #plugins_vbox_left > #iop-expander:first-child, 72 | #basics-box-labels widget:first-child { 73 | border-top-left-radius: 12px; 74 | border-top-right-radius: 12px; 75 | } 76 | 77 | #plugins_vbox_left > #iop-expander:last-child, 78 | #basics-box-labels #basics-module-hbox:last-child { 79 | border-bottom-left-radius: 12px; 80 | border-bottom-right-radius: 12px; 81 | } 82 | 83 | #plugins_vbox_left #module-header, 84 | #left > box:nth-child(3) #module-header, 85 | #right > box:nth-child(3) #module-header { 86 | border: none; 87 | } 88 | 89 | .dt_plugin_ui #blending-tabs .dt_module_btn, 90 | #modules-tabs .dt_module_btn 91 | { 92 | padding: 0.5em; 93 | margin: 0.2em; 94 | border-radius: 4px; 95 | } 96 | 97 | .dt_plugin_ui #blending-tabs 98 | { 99 | border-radius: 0 0 4px 4px; 100 | } 101 | 102 | #header-toolbar box button.dt_module_btn { 103 | margin-right: 0px; 104 | padding: 4px 8px; 105 | } 106 | 107 | #left > box:first-child, 108 | #modules-tabs { 109 | margin-bottom: 8px 110 | } 111 | 112 | #modules-tabs { 113 | background-color: transparent; 114 | margin-top: 8px 115 | } 116 | 117 | .font { 118 | margin: 8px 0; 119 | } 120 | 121 | .dt_plugin_ui #blending-tabs 122 | { 123 | background-color: shade (@plugin_bg_color, 1.3) 124 | } 125 | 126 | .dt_section_label { 127 | border: none; 128 | background-color: shade (@plugin_bg_color, 1); 129 | border-radius: 4px; 130 | } 131 | 132 | /* History panel */ 133 | #left #history-ui { 134 | padding-right: 4px; 135 | } 136 | 137 | #right #history-ui { 138 | padding-left: 4px; 139 | } 140 | 141 | /* Module filtering */ 142 | #module-filtering > box:first-child { 143 | margin-bottom: 6px; 144 | } 145 | 146 | #module-filtering #collect-rule-widget { 147 | padding: 6px; 148 | margin: 0 0 4px; 149 | } 150 | 151 | #module-filtering #collect-rule-widget:first-child { 152 | border-top-left-radius: 24px; 153 | border-top-right-radius: 24px; 154 | } 155 | 156 | #module-filtering #collect-rule-widget:last-child { 157 | border-bottom-left-radius: 24px; 158 | border-bottom-right-radius: 24px; 159 | } 160 | 161 | /* Increase min-height to account for auto-hideable buttons */ 162 | #module-header { 163 | min-height: 28px; 164 | } 165 | -------------------------------------------------------------------------------- /themes/md3-dark.css: -------------------------------------------------------------------------------- 1 | @import url("md3/base.css"); 2 | @import url("md3/modules.css"); 3 | @import url("md3/titlebar.css"); 4 | @import url("md3/scrollbar.css"); 5 | @import url("md3/inputs.css"); 6 | 7 | /* optional */ 8 | @import url("md3/module-hide-unneeded.css"); 9 | @import url("md3/module-danger-highlight.css"); 10 | @import url("md3/module-hc-toggle.css"); 11 | @import url("md3/use-system-font.css"); 12 | 13 | /* General */ 14 | @define-color selected_bg_color @grey_50; /* legacy stuff */ 15 | @define-color border_color @grey_25; /* border, when used */ 16 | @define-color bg_color @grey_30; /* general background */ 17 | @define-color fg_color @grey_80; /* general text */ 18 | @define-color text_color @grey_20; /* same */ 19 | @define-color placeholder_text_color @grey_60; /* placeholder text color (text on search background fields) */ 20 | @define-color disabled_fg_color @grey_55; /* disabled controls */ 21 | 22 | /* Scroll bars (sliders) */ 23 | @define-color scroll_bar_inactive @grey_50; 24 | @define-color scroll_bar_active @grey_70; 25 | @define-color scroll_bar_bg @grey_25; 26 | 27 | /* Modules box (plugins) */ 28 | @define-color plugin_bg_color @grey_35; 29 | @define-color plugin_label_color @grey_70; 30 | @define-color collapsible_bg_color @grey_40; 31 | 32 | /* Modules controls (sliders and comboboxes) */ 33 | @define-color bauhaus_indicator_border @grey_35; 34 | @define-color bauhaus_fill @grey_55; 35 | @define-color bauhaus_bg_hover @grey_70; 36 | @define-color bauhaus_fg_hover @grey_95; 37 | @define-color bauhaus_fg_selected @grey_85; 38 | 39 | /* GTK Buttons and tabs */ 40 | @define-color button_bg @grey_40; 41 | @define-color button_hover_bg @grey_65; 42 | @define-color button_hover_fg @grey_25; 43 | 44 | /* text fields */ 45 | @define-color field_bg @grey_30; 46 | @define-color field_active_bg @grey_40; 47 | @define-color field_active_fg @grey_90; 48 | @define-color field_selected_bg @grey_50; 49 | @define-color field_selected_fg @grey_95; 50 | @define-color field_hover_bg @grey_65; 51 | @define-color field_hover_fg @grey_20; 52 | 53 | /* Tooltips and contextual helpers */ 54 | @define-color tooltip_bg_color @grey_25; 55 | @define-color tooltip_fg_color @grey_75; 56 | @define-color log_fg_color @grey_90; 57 | 58 | /* Views */ 59 | @define-color lighttable_bg_color @grey_45; 60 | @define-color lighttable_bg_font_color @grey_85; 61 | 62 | /* Lighttable and film-strip */ 63 | @define-color thumbnail_bg_color @grey_55; 64 | @define-color thumbnail_star_bg_color @grey_40; 65 | @define-color thumbnail_star_hover_color @grey_85; 66 | @define-color thumbnail_fg_color @grey_60; 67 | @define-color thumbnail_selected_bg_color @grey_75; 68 | @define-color thumbnail_hover_bg_color @grey_90; 69 | @define-color thumbnail_hover_fg_color @grey_95; 70 | @define-color thumbnail_localcopy_color @grey_80; 71 | 72 | @define-color range_bg_color alpha(@fg_color, 0.1); 73 | 74 | /* Graphs : histogram, navigation thumbnail and some items on tone curve */ 75 | @define-color graph_bg @grey_25; 76 | @define-color graph_border @grey_20; 77 | @define-color graph_fg @grey_90; 78 | @define-color graph_grid @grey_20; 79 | @define-color inset_histogram alpha(@grey_80, 0.50); 80 | 81 | @define-color colorlabel_blue rgb(0,40,255); 82 | 83 | /* Set background on thumbnails hover overlays */ 84 | .dt_overlays_hover_extended #thumb-main:hover #thumb-bottom, 85 | .dt_overlays_mixed #thumb-main:hover #thumb-bottom, 86 | .dt_overlays_hover #thumb-main:hover #thumb-bottom 87 | { 88 | background-image: linear-gradient(rgba(226, 226, 226, 0.7) 0%, rgba(226, 226, 226, 0.7) 90%,rgba(226, 226, 226, 0) 100%); /* rgb color needs to be set to same color as #thumb_back hover background */ 89 | } 90 | 91 | /* Set how bottom infos are rendered on always and always extended overlays modes in culling and preview modes */ 92 | .dt_overlays_always#culling #thumb-bottom, 93 | .dt_overlays_always_extended#culling #thumb-bottom, 94 | .dt_overlays_always#preview #thumb-bottom, 95 | .dt_overlays_always_extended#preview #thumb-bottom 96 | { 97 | background-color: shade(@lighttable_bg_color, 1.05); 98 | } 99 | -------------------------------------------------------------------------------- /themes/md3-grey.css: -------------------------------------------------------------------------------- 1 | @import url("md3/base.css"); 2 | @import url("md3/modules.css"); 3 | @import url("md3/titlebar.css"); 4 | @import url("md3/scrollbar.css"); 5 | @import url("md3/inputs.css"); 6 | 7 | /* optional */ 8 | /* @import url("md3/module-hide-unneeded.css"); */ 9 | @import url("md3/module-danger-highlight.css"); 10 | /* @import url("md3/module-hc-toggle.css"); */ 11 | @import url("md3/use-system-font.css"); 12 | 13 | /* Perceptually uniform grey gradient */ 14 | 15 | /* General */ 16 | @define-color selected_bg_color @grey_55; /* legacy stuff */ 17 | @define-color border_color @grey_40; /* border, when used */ 18 | @define-color bg_color @grey_45; /* general background */ 19 | @define-color fg_color @grey_95; /* general text */ 20 | @define-color text_color @grey_35; /* same */ 21 | @define-color placeholder_text_color @grey_70; /* placeholder text color (text on search background fields) */ 22 | @define-color disabled_fg_color @grey_65; /* disabled controls */ 23 | 24 | /* Scroll bars (sliders) */ 25 | @define-color scroll_bar_inactive @grey_60; 26 | @define-color scroll_bar_active @grey_80; 27 | @define-color scroll_bar_bg @grey_40; 28 | 29 | /* Modules box (plugins) */ 30 | @define-color plugin_bg_color shade(@darkroom_bg_color, 0.95); 31 | @define-color plugin_label_color @grey_80; 32 | @define-color collapsible_bg_color @grey_55; 33 | 34 | /* Modules controls (sliders and comboboxes) */ 35 | @define-color bauhaus_fg shade(@fg_color, 0.95); /* needed to show color picker on bauhaus sliders */ 36 | @define-color bauhaus_indicator_border @grey_50; 37 | @define-color bauhaus_fill @grey_70; 38 | @define-color bauhaus_bg_hover @grey_80; 39 | @define-color bauhaus_fg_hover @grey_100; 40 | @define-color bauhaus_fg_selected @grey_75; 41 | @define-color bauhaus_fg_insensitive alpha(@bauhaus_fg, 0.5); 42 | 43 | /* GTK Buttons and tabs */ 44 | @define-color button_bg shade(@grey_55,0.95); 45 | @define-color button_hover_bg @grey_70; 46 | @define-color button_hover_fg @grey_30; 47 | 48 | /* text fields */ 49 | @define-color field_bg @grey_45; 50 | @define-color field_active_bg @grey_50; 51 | @define-color field_active_fg @grey_95; 52 | @define-color field_selected_bg @grey_60; 53 | @define-color field_selected_fg @grey_100; 54 | @define-color field_hover_bg @grey_75; 55 | @define-color field_hover_fg @grey_35; 56 | 57 | /* Tooltips and contextual helpers */ 58 | @define-color tooltip_bg_color @grey_35; 59 | @define-color tooltip_fg_color @grey_80; 60 | @define-color log_fg_color @grey_95; 61 | 62 | /* Views */ 63 | @define-color lighttable_bg_color @grey_60; 64 | @define-color lighttable_bg_font_color @grey_95; 65 | 66 | /* Lighttable and film-strip */ 67 | @define-color thumbnail_font_color @grey_40; 68 | @define-color thumbnail_bg_color @grey_70; 69 | @define-color thumbnail_fg_color @grey_60; 70 | @define-color thumbnail_selected_bg_color @grey_80; 71 | @define-color thumbnail_hover_bg_color @grey_95; 72 | @define-color thumbnail_hover_fg_color @grey_100; 73 | @define-color thumbnail_localcopy_color @grey_90; 74 | 75 | @define-color range_bg_color alpha(@fg_color, 0.05); 76 | 77 | /* Graphs : histogram, navigation thumbnail and some items on tone curve */ 78 | @define-color graph_bg @grey_40; 79 | @define-color graph_border @grey_15; 80 | @define-color graph_fg @grey_100; 81 | @define-color graph_grid @grey_30; 82 | @define-color inset_histogram alpha(@grey_95, 0.50); 83 | 84 | /* Adjust middle grey picker on levels and rgb levels modules to make it visible */ 85 | #picker-grey 86 | { 87 | color: @grey_70; 88 | } 89 | 90 | /* hover effect on combo and bauhaus */ 91 | .combo:hover, 92 | .combo:hover cellview, 93 | .dt_bauhaus:hover, 94 | combobox window *:hover 95 | { 96 | color: shade(@fg_color, 0.94); 97 | } 98 | 99 | /* set default text, items that can be selected : items inside categories titles set above */ 100 | .dt_bauhaus_popup 101 | { 102 | color: shade(@fg_color, 0.75); 103 | } 104 | 105 | /* Set background on thumbnails hover overlays */ 106 | .dt_overlays_hover_extended #thumb-main:hover #thumb-bottom, 107 | .dt_overlays_mixed #thumb-main:hover #thumb-bottom, 108 | .dt_overlays_hover #thumb-main:hover #thumb-bottom 109 | { 110 | background-image: linear-gradient(rgba(241, 241, 241, 0.7) 0%, rgba(241, 241, 241, 0.7) 90%,rgba(241, 241, 241, 0) 100%); /* rgb color needs to be set to same color as #thumb_back hover background */ 111 | } 112 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Attribution-NonCommercial 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-NonCommercial 4.0 International Public 58 | License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-NonCommercial 4.0 International Public License ("Public 63 | License"). To the extent this Public License may be interpreted as a 64 | contract, You are granted the Licensed Rights in consideration of Your 65 | acceptance of these terms and conditions, and the Licensor grants You 66 | such rights in consideration of benefits the Licensor receives from 67 | making the Licensed Material available under these terms and 68 | conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. Copyright and Similar Rights means copyright and/or similar rights 88 | closely related to copyright including, without limitation, 89 | performance, broadcast, sound recording, and Sui Generis Database 90 | Rights, without regard to how the rights are labeled or 91 | categorized. For purposes of this Public License, the rights 92 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 93 | Rights. 94 | d. Effective Technological Measures means those measures that, in the 95 | absence of proper authority, may not be circumvented under laws 96 | fulfilling obligations under Article 11 of the WIPO Copyright 97 | Treaty adopted on December 20, 1996, and/or similar international 98 | agreements. 99 | 100 | e. Exceptions and Limitations means fair use, fair dealing, and/or 101 | any other exception or limitation to Copyright and Similar Rights 102 | that applies to Your use of the Licensed Material. 103 | 104 | f. Licensed Material means the artistic or literary work, database, 105 | or other material to which the Licensor applied this Public 106 | License. 107 | 108 | g. Licensed Rights means the rights granted to You subject to the 109 | terms and conditions of this Public License, which are limited to 110 | all Copyright and Similar Rights that apply to Your use of the 111 | Licensed Material and that the Licensor has authority to license. 112 | 113 | h. Licensor means the individual(s) or entity(ies) granting rights 114 | under this Public License. 115 | 116 | i. NonCommercial means not primarily intended for or directed towards 117 | commercial advantage or monetary compensation. For purposes of 118 | this Public License, the exchange of the Licensed Material for 119 | other material subject to Copyright and Similar Rights by digital 120 | file-sharing or similar means is NonCommercial provided there is 121 | no payment of monetary compensation in connection with the 122 | exchange. 123 | 124 | j. Share means to provide material to the public by any means or 125 | process that requires permission under the Licensed Rights, such 126 | as reproduction, public display, public performance, distribution, 127 | dissemination, communication, or importation, and to make material 128 | available to the public including in ways that members of the 129 | public may access the material from a place and at a time 130 | individually chosen by them. 131 | 132 | k. Sui Generis Database Rights means rights other than copyright 133 | resulting from Directive 96/9/EC of the European Parliament and of 134 | the Council of 11 March 1996 on the legal protection of databases, 135 | as amended and/or succeeded, as well as other essentially 136 | equivalent rights anywhere in the world. 137 | 138 | l. You means the individual or entity exercising the Licensed Rights 139 | under this Public License. Your has a corresponding meaning. 140 | 141 | 142 | Section 2 -- Scope. 143 | 144 | a. License grant. 145 | 146 | 1. Subject to the terms and conditions of this Public License, 147 | the Licensor hereby grants You a worldwide, royalty-free, 148 | non-sublicensable, non-exclusive, irrevocable license to 149 | exercise the Licensed Rights in the Licensed Material to: 150 | 151 | a. reproduce and Share the Licensed Material, in whole or 152 | in part, for NonCommercial purposes only; and 153 | 154 | b. produce, reproduce, and Share Adapted Material for 155 | NonCommercial purposes only. 156 | 157 | 2. Exceptions and Limitations. For the avoidance of doubt, where 158 | Exceptions and Limitations apply to Your use, this Public 159 | License does not apply, and You do not need to comply with 160 | its terms and conditions. 161 | 162 | 3. Term. The term of this Public License is specified in Section 163 | 6(a). 164 | 165 | 4. Media and formats; technical modifications allowed. The 166 | Licensor authorizes You to exercise the Licensed Rights in 167 | all media and formats whether now known or hereafter created, 168 | and to make technical modifications necessary to do so. The 169 | Licensor waives and/or agrees not to assert any right or 170 | authority to forbid You from making technical modifications 171 | necessary to exercise the Licensed Rights, including 172 | technical modifications necessary to circumvent Effective 173 | Technological Measures. For purposes of this Public License, 174 | simply making modifications authorized by this Section 2(a) 175 | (4) never produces Adapted Material. 176 | 177 | 5. Downstream recipients. 178 | 179 | a. Offer from the Licensor -- Licensed Material. Every 180 | recipient of the Licensed Material automatically 181 | receives an offer from the Licensor to exercise the 182 | Licensed Rights under the terms and conditions of this 183 | Public License. 184 | 185 | b. No downstream restrictions. You may not offer or impose 186 | any additional or different terms or conditions on, or 187 | apply any Effective Technological Measures to, the 188 | Licensed Material if doing so restricts exercise of the 189 | Licensed Rights by any recipient of the Licensed 190 | Material. 191 | 192 | 6. No endorsement. Nothing in this Public License constitutes or 193 | may be construed as permission to assert or imply that You 194 | are, or that Your use of the Licensed Material is, connected 195 | with, or sponsored, endorsed, or granted official status by, 196 | the Licensor or others designated to receive attribution as 197 | provided in Section 3(a)(1)(A)(i). 198 | 199 | b. Other rights. 200 | 201 | 1. Moral rights, such as the right of integrity, are not 202 | licensed under this Public License, nor are publicity, 203 | privacy, and/or other similar personality rights; however, to 204 | the extent possible, the Licensor waives and/or agrees not to 205 | assert any such rights held by the Licensor to the limited 206 | extent necessary to allow You to exercise the Licensed 207 | Rights, but not otherwise. 208 | 209 | 2. Patent and trademark rights are not licensed under this 210 | Public License. 211 | 212 | 3. To the extent possible, the Licensor waives any right to 213 | collect royalties from You for the exercise of the Licensed 214 | Rights, whether directly or through a collecting society 215 | under any voluntary or waivable statutory or compulsory 216 | licensing scheme. In all other cases the Licensor expressly 217 | reserves any right to collect such royalties, including when 218 | the Licensed Material is used other than for NonCommercial 219 | purposes. 220 | 221 | 222 | Section 3 -- License Conditions. 223 | 224 | Your exercise of the Licensed Rights is expressly made subject to the 225 | following conditions. 226 | 227 | a. Attribution. 228 | 229 | 1. If You Share the Licensed Material (including in modified 230 | form), You must: 231 | 232 | a. retain the following if it is supplied by the Licensor 233 | with the Licensed Material: 234 | 235 | i. identification of the creator(s) of the Licensed 236 | Material and any others designated to receive 237 | attribution, in any reasonable manner requested by 238 | the Licensor (including by pseudonym if 239 | designated); 240 | 241 | ii. a copyright notice; 242 | 243 | iii. a notice that refers to this Public License; 244 | 245 | iv. a notice that refers to the disclaimer of 246 | warranties; 247 | 248 | v. a URI or hyperlink to the Licensed Material to the 249 | extent reasonably practicable; 250 | 251 | b. indicate if You modified the Licensed Material and 252 | retain an indication of any previous modifications; and 253 | 254 | c. indicate the Licensed Material is licensed under this 255 | Public License, and include the text of, or the URI or 256 | hyperlink to, this Public License. 257 | 258 | 2. You may satisfy the conditions in Section 3(a)(1) in any 259 | reasonable manner based on the medium, means, and context in 260 | which You Share the Licensed Material. For example, it may be 261 | reasonable to satisfy the conditions by providing a URI or 262 | hyperlink to a resource that includes the required 263 | information. 264 | 265 | 3. If requested by the Licensor, You must remove any of the 266 | information required by Section 3(a)(1)(A) to the extent 267 | reasonably practicable. 268 | 269 | 4. If You Share Adapted Material You produce, the Adapter's 270 | License You apply must not prevent recipients of the Adapted 271 | Material from complying with this Public License. 272 | 273 | 274 | Section 4 -- Sui Generis Database Rights. 275 | 276 | Where the Licensed Rights include Sui Generis Database Rights that 277 | apply to Your use of the Licensed Material: 278 | 279 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 280 | to extract, reuse, reproduce, and Share all or a substantial 281 | portion of the contents of the database for NonCommercial purposes 282 | only; 283 | 284 | b. if You include all or a substantial portion of the database 285 | contents in a database in which You have Sui Generis Database 286 | Rights, then the database in which You have Sui Generis Database 287 | Rights (but not its individual contents) is Adapted Material; and 288 | 289 | c. You must comply with the conditions in Section 3(a) if You Share 290 | all or a substantial portion of the contents of the database. 291 | 292 | For the avoidance of doubt, this Section 4 supplements and does not 293 | replace Your obligations under this Public License where the Licensed 294 | Rights include other Copyright and Similar Rights. 295 | 296 | 297 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 298 | 299 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 300 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 301 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 302 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 303 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 304 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 305 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 306 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 307 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 308 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 309 | 310 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 311 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 312 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 313 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 314 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 315 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 316 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 317 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 318 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 319 | 320 | c. The disclaimer of warranties and limitation of liability provided 321 | above shall be interpreted in a manner that, to the extent 322 | possible, most closely approximates an absolute disclaimer and 323 | waiver of all liability. 324 | 325 | 326 | Section 6 -- Term and Termination. 327 | 328 | a. This Public License applies for the term of the Copyright and 329 | Similar Rights licensed here. However, if You fail to comply with 330 | this Public License, then Your rights under this Public License 331 | terminate automatically. 332 | 333 | b. Where Your right to use the Licensed Material has terminated under 334 | Section 6(a), it reinstates: 335 | 336 | 1. automatically as of the date the violation is cured, provided 337 | it is cured within 30 days of Your discovery of the 338 | violation; or 339 | 340 | 2. upon express reinstatement by the Licensor. 341 | 342 | For the avoidance of doubt, this Section 6(b) does not affect any 343 | right the Licensor may have to seek remedies for Your violations 344 | of this Public License. 345 | 346 | c. For the avoidance of doubt, the Licensor may also offer the 347 | Licensed Material under separate terms or conditions or stop 348 | distributing the Licensed Material at any time; however, doing so 349 | will not terminate this Public License. 350 | 351 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 352 | License. 353 | 354 | 355 | Section 7 -- Other Terms and Conditions. 356 | 357 | a. The Licensor shall not be bound by any additional or different 358 | terms or conditions communicated by You unless expressly agreed. 359 | 360 | b. Any arrangements, understandings, or agreements regarding the 361 | Licensed Material not stated herein are separate from and 362 | independent of the terms and conditions of this Public License. 363 | 364 | 365 | Section 8 -- Interpretation. 366 | 367 | a. For the avoidance of doubt, this Public License does not, and 368 | shall not be interpreted to, reduce, limit, restrict, or impose 369 | conditions on any use of the Licensed Material that could lawfully 370 | be made without permission under this Public License. 371 | 372 | b. To the extent possible, if any provision of this Public License is 373 | deemed unenforceable, it shall be automatically reformed to the 374 | minimum extent necessary to make it enforceable. If the provision 375 | cannot be reformed, it shall be severed from this Public License 376 | without affecting the enforceability of the remaining terms and 377 | conditions. 378 | 379 | c. No term or condition of this Public License will be waived and no 380 | failure to comply consented to unless expressly agreed to by the 381 | Licensor. 382 | 383 | d. Nothing in this Public License constitutes or may be interpreted 384 | as a limitation upon, or waiver of, any privileges and immunities 385 | that apply to the Licensor or You, including from the legal 386 | processes of any jurisdiction or authority. 387 | 388 | ======================================================================= 389 | 390 | Creative Commons is not a party to its public 391 | licenses. Notwithstanding, Creative Commons may elect to apply one of 392 | its public licenses to material it publishes and in those instances 393 | will be considered the “Licensor.” The text of the Creative Commons 394 | public licenses is dedicated to the public domain under the CC0 Public 395 | Domain Dedication. Except for the limited purpose of indicating that 396 | material is shared under a Creative Commons public license or as 397 | otherwise permitted by the Creative Commons policies published at 398 | creativecommons.org/policies, Creative Commons does not authorize the 399 | use of the trademark "Creative Commons" or any other trademark or logo 400 | of Creative Commons without its prior written consent including, 401 | without limitation, in connection with any unauthorized modifications 402 | to any of its public licenses or any other arrangements, 403 | understandings, or agreements concerning use of licensed material. For 404 | the avoidance of doubt, this paragraph does not form part of the 405 | public licenses. 406 | 407 | Creative Commons may be contacted at creativecommons.org. 408 | 409 | --------------------------------------------------------------------------------