bed_level: improvements (#1248)
1. use the status reference instead of regex matching (this was coded before the status existed) 2. change icons to reflect the rotation direction 3. change icon to reflect that the adjustment is good enough (according to klipper docs below 6 minutes) 4. auto open the panel when screws_tilt_calculate finished close #1231
@ -6,7 +6,7 @@ from gi.repository import GLib
|
||||
|
||||
|
||||
class Printer:
|
||||
def __init__(self, state_cb, state_callbacks, busy_cb):
|
||||
def __init__(self, state_cb, state_callbacks):
|
||||
self.config = {}
|
||||
self.data = {}
|
||||
self.state = "disconnected"
|
||||
@ -22,8 +22,6 @@ class Printer:
|
||||
self.output_pin_count = 0
|
||||
self.store_timeout = None
|
||||
self.tempstore = {}
|
||||
self.busy_cb = busy_cb
|
||||
self.busy = False
|
||||
self.tempstore_size = 1200
|
||||
self.cameras = []
|
||||
self.available_commands = {}
|
||||
@ -41,7 +39,6 @@ class Printer:
|
||||
self.ledcount = 0
|
||||
self.output_pin_count = 0
|
||||
self.tempstore = {}
|
||||
self.busy = False
|
||||
if not self.store_timeout:
|
||||
self.store_timeout = GLib.timeout_add_seconds(1, self._update_temp_store)
|
||||
self.tempstore_size = 1200
|
||||
@ -137,18 +134,10 @@ class Printer:
|
||||
return "paused"
|
||||
if self.data['print_stats']['state'] == 'printing':
|
||||
return "printing"
|
||||
if self.data['idle_timeout']['state'].lower() == "printing":
|
||||
return "busy"
|
||||
return self.data['webhooks']['state']
|
||||
|
||||
def process_status_update(self):
|
||||
state = self.evaluate_state()
|
||||
if state == "busy":
|
||||
self.busy = True
|
||||
return GLib.idle_add(self.busy_cb, True)
|
||||
if self.busy:
|
||||
self.busy = False
|
||||
GLib.idle_add(self.busy_cb, False)
|
||||
if state != self.state:
|
||||
self.change_state(state)
|
||||
return False
|
||||
|
@ -36,7 +36,6 @@ class Panel(ScreenPanel):
|
||||
|
||||
def __init__(self, screen, title):
|
||||
super().__init__(screen, title)
|
||||
self.response_count = 0
|
||||
self.screw_dict = {}
|
||||
self.screws = []
|
||||
self.y_cnt = 0
|
||||
@ -306,7 +305,6 @@ class Panel(ScreenPanel):
|
||||
self._screen._ws.klippy.gcode_script("Z_TILT_ADJUST")
|
||||
|
||||
def go_to_position(self, widget, position):
|
||||
widget.set_sensitive(False)
|
||||
self.home()
|
||||
logging.debug(f"Going to position: {position}")
|
||||
script = [
|
||||
@ -323,55 +321,40 @@ class Panel(ScreenPanel):
|
||||
def process_busy(self, busy):
|
||||
for button in self.buttons:
|
||||
if button == "screws":
|
||||
self.buttons[button].set_sensitive(
|
||||
self._printer.config_section_exists("screws_tilt_adjust")
|
||||
and (not busy))
|
||||
continue
|
||||
self.buttons[button].set_sensitive((not busy))
|
||||
|
||||
def process_update(self, action, data):
|
||||
if action == "notify_busy":
|
||||
self.process_busy(data)
|
||||
if 'idle_timeout' in data:
|
||||
self.process_busy(data['idle_timeout']['state'].lower() == "printing")
|
||||
if action != "notify_status_update":
|
||||
return
|
||||
if action != "notify_gcode_response":
|
||||
return
|
||||
if data.startswith('!!'):
|
||||
self.response_count = 0
|
||||
self.buttons['screws'].set_sensitive(True)
|
||||
return
|
||||
result = re.match(
|
||||
"^// (.*) : [xX= ]+([\\-0-9\\.]+), [yY= ]+([\\-0-9\\.]+), [zZ= ]+[\\-0-9\\.]+ :" +
|
||||
" (Adjust ->|adjust) ([CW]+ [0-9:]+)",
|
||||
data
|
||||
)
|
||||
# screws_tilt_adjust uses PROBE positions and was offseted for the buttons to work equal to bed_screws
|
||||
# for the result we need to undo the offset
|
||||
if result:
|
||||
x = round(float(result[2]) + self.x_offset, 1)
|
||||
y = round(float(result[3]) + self.y_offset, 1)
|
||||
for key, value in self.screw_dict.items():
|
||||
if value and x == value[0] and y == value[1]:
|
||||
logging.debug(f"X: {x} Y: {y} Adjust: {result[5]} Pos: {key}")
|
||||
self.buttons[key].set_label(result[5])
|
||||
break
|
||||
self.response_count += 1
|
||||
if self.response_count >= len(self.screws) - 1:
|
||||
if "screws_tilt_adjust" in data:
|
||||
if "error" in data["screws_tilt_adjust"]:
|
||||
self.buttons['screws'].set_sensitive(True)
|
||||
else:
|
||||
result = re.match(
|
||||
"^// (.*) : [xX= ]+([\\-0-9\\.]+), [yY= ]+([\\-0-9\\.]+), [zZ= ]+[\\-0-9\\.]",
|
||||
data
|
||||
)
|
||||
# screws_tilt_adjust uses PROBE positions and was offseted for the buttons to work equal to bed_screws
|
||||
# for the result we need to undo the offset
|
||||
if result and re.search('base', result[1]):
|
||||
x = round(float(result[2]) + self.x_offset, 1)
|
||||
y = round(float(result[3]) + self.y_offset, 1)
|
||||
logging.debug(f"X: {x} Y: {y} is the reference")
|
||||
for key, value in self.screw_dict.items():
|
||||
if value and x == value[0] and y == value[1]:
|
||||
logging.debug(f"X: {x} Y: {y} Pos: {key}")
|
||||
self.buttons[key].set_label(_("Reference"))
|
||||
logging.info("Error reported by screws_tilt_adjust")
|
||||
if "results" in data["screws_tilt_adjust"]:
|
||||
section = self._printer.get_config_section('screws_tilt_adjust')
|
||||
for screw, result in data["screws_tilt_adjust"]["results"].items():
|
||||
logging.info(f"{screw} {result['sign']} {result['adjust']}")
|
||||
if screw not in section:
|
||||
logging.error(f"{screw} not found in {section}")
|
||||
continue
|
||||
x, y = section[screw].split(',')
|
||||
x = round(float(x) + self.x_offset, 1)
|
||||
y = round(float(y) + self.y_offset, 1)
|
||||
for key, value in self.screw_dict.items():
|
||||
if value and x == value[0] and y == value[1]:
|
||||
logging.debug(f"X: {x} Y: {y} Adjust: {result['adjust']} Pos: {key}")
|
||||
if result['is_base']:
|
||||
logging.info(f"{screw} is the Reference")
|
||||
self.buttons[key].set_label(_("Reference"))
|
||||
else:
|
||||
self.buttons[key].set_label(f"{result['sign']} {result['adjust']}")
|
||||
if int(result['adjust'].split(':')[1]) < 6:
|
||||
self.buttons[key].set_image(self._gtk.Image('complete'))
|
||||
else:
|
||||
self.buttons[key].set_image(self._gtk.Image(result['sign'].lower()))
|
||||
|
||||
def _get_screws(self, config_section_name):
|
||||
screws = []
|
||||
@ -397,8 +380,5 @@ class Panel(ScreenPanel):
|
||||
return sorted(screws, key=lambda s: (float(s[1]), float(s[0])))
|
||||
|
||||
def screws_tilt_calculate(self, widget):
|
||||
widget.set_sensitive(False)
|
||||
self.home()
|
||||
self.response_count = 0
|
||||
self.buttons['screws'].set_sensitive(False)
|
||||
self._screen._send_action(widget, "printer.gcode.script", {"script": "SCREWS_TILT_CALCULATE"})
|
||||
|
10
screen.py
@ -191,7 +191,7 @@ class KlipperScreen(Gtk.Window):
|
||||
"shutdown": self.state_shutdown
|
||||
}
|
||||
for printer in self.printers:
|
||||
printer["data"] = Printer(state_execute, state_callbacks, self.process_busy_state)
|
||||
printer["data"] = Printer(state_execute, state_callbacks)
|
||||
default_printer = self._config.get_main_config().get('default_printer')
|
||||
logging.debug(f"Default printer: {default_printer}")
|
||||
if [True for p in self.printers if default_printer in p]:
|
||||
@ -266,6 +266,7 @@ class KlipperScreen(Gtk.Window):
|
||||
"motion_report": ["live_position", "live_velocity", "live_extruder_velocity"],
|
||||
"exclude_object": ["current_object", "objects", "excluded_objects"],
|
||||
"manual_probe": ['is_active'],
|
||||
"screws_tilt_adjust": ['results', 'error'],
|
||||
}
|
||||
}
|
||||
for extruder in self.printer.get_tools():
|
||||
@ -326,7 +327,6 @@ class KlipperScreen(Gtk.Window):
|
||||
logging.debug(f"Current panel hierarchy: {' > '.join(self._cur_panels)}")
|
||||
if hasattr(self.panels[panel], "process_update"):
|
||||
self.process_update("notify_status_update", self.printer.data)
|
||||
self.process_update("notify_busy", self.printer.busy)
|
||||
if hasattr(self.panels[panel], "activate"):
|
||||
self.panels[panel].activate()
|
||||
self.show_all()
|
||||
@ -652,10 +652,6 @@ class KlipperScreen(Gtk.Window):
|
||||
self.base_panel.show_heaters(False)
|
||||
self.show_panel("printer_select", _("Printer Select"), remove_all=True)
|
||||
|
||||
def process_busy_state(self, busy):
|
||||
self.process_update("notify_busy", busy)
|
||||
return False
|
||||
|
||||
def websocket_disconnected(self, msg):
|
||||
self.printer_initializing(msg, remove=True)
|
||||
self.printer.state = "disconnected"
|
||||
@ -758,6 +754,8 @@ class KlipperScreen(Gtk.Window):
|
||||
self.printer.process_update(data)
|
||||
if 'manual_probe' in data and data['manual_probe']['is_active'] and 'zcalibrate' not in self._cur_panels:
|
||||
self.show_panel("zcalibrate", _('Z Calibrate'))
|
||||
if "screws_tilt_adjust" in data and 'bed_level' not in self._cur_panels:
|
||||
self.show_panel("bed_level", _('Bed Level'))
|
||||
elif action == "notify_filelist_changed":
|
||||
if self.files is not None:
|
||||
self.files.process_update(data)
|
||||
|
82
styles/colorized/images/ccw.svg
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
sodipodi:docname="ccw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#002b36"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
id="namedview11"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="9.8125"
|
||||
inkscape:cx="24.611465"
|
||||
inkscape:cy="26.751592"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg10"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<metadata
|
||||
id="metadata16">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>reboot</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs14" />
|
||||
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title2">reboot</title>
|
||||
<desc
|
||||
id="desc4">Created with Sketch.</desc>
|
||||
<g
|
||||
id="g1"
|
||||
transform="matrix(-1,0,0,1,65.338774,0)">
|
||||
<path
|
||||
style="fill:none;stroke:#eee8d5;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.978816"
|
||||
id="path1602"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="31.999998"
|
||||
sodipodi:cy="30.999998"
|
||||
sodipodi:rx="23"
|
||||
sodipodi:ry="23"
|
||||
sodipodi:start="0.34906585"
|
||||
sodipodi:end="5.5850536"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 53.612928,38.866461 A 23,23 0 0 1 29.995416,53.912476 23,23 0 0 1 9.3494198,34.993906 23,23 0 0 1 22.279778,10.154919 23,23 0 0 1 49.61902,16.215883" />
|
||||
<path
|
||||
style="color:#000000;display:inline;opacity:0.998;fill:#eee8d5;stroke:none;stroke-width:0.999996;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 44.419427,15.545528 4.601827,-4.601827 c 0.341169,-0.341169 0.752279,-0.319634 0.996042,-0.07587 l 2.195376,2.195375 c 0.876612,0.876258 2.376088,0.277073 2.407424,-0.961996 l 0.07976,-3.0951208 c 0.01064,-0.414859 0.381781,-0.786003 0.796637,-0.796638 l 4.228314,-0.107971 c 0.208443,-0.0053 0.343523,0.06144 0.447441,0.165359 0.103919,0.103919 0.171668,0.239975 0.16633,0.448412 l -0.325853,12.6888308 -0.106997,4.231229 c -0.01067,0.416029 -0.378664,0.784028 -0.794694,0.794694 l -4.23123,0.106997 -12.68883,0.325853 c -0.416025,0.01066 -0.624436,-0.197746 -0.613771,-0.61377 l 0.107969,-4.228313 c 0.01064,-0.414859 0.381778,-0.786002 0.796639,-0.796639 l 3.095122,-0.07976 c 1.239068,-0.03134 1.838252,-1.530811 0.961995,-2.407422 l -2.195376,-2.195376 c -0.243763,-0.243763 -0.265294,-0.654877 0.07587,-0.996043 z"
|
||||
id="rect852-3"
|
||||
sodipodi:nodetypes="ssscccccscccccccccccss" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
76
styles/colorized/images/cw.svg
Normal file
@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
sodipodi:docname="refresh.svg"
|
||||
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#002b36"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="826"
|
||||
id="namedview11"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="9.8125"
|
||||
inkscape:cx="24.66242"
|
||||
inkscape:cy="26.853503"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg10"
|
||||
inkscape:document-rotation="0" />
|
||||
<metadata
|
||||
id="metadata16">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>reboot</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs14" />
|
||||
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title2">reboot</title>
|
||||
<desc
|
||||
id="desc4">Created with Sketch.</desc>
|
||||
<path
|
||||
style="fill:none;stroke:#eee8d5;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.978816"
|
||||
id="path1602"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="31.999998"
|
||||
sodipodi:cy="30.999998"
|
||||
sodipodi:rx="23"
|
||||
sodipodi:ry="23"
|
||||
sodipodi:start="0.34906585"
|
||||
sodipodi:end="5.5850536"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 53.612928,38.866461 A 23,23 0 0 1 29.995416,53.912476 23,23 0 0 1 9.3494198,34.993906 23,23 0 0 1 22.279778,10.154919 23,23 0 0 1 49.61902,16.215883" />
|
||||
<path
|
||||
style="color:#000000;display:inline;opacity:0.998;fill:#eee8d5;stroke:none;stroke-width:0.999996;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 44.419427,15.545528 4.601827,-4.601827 c 0.341169,-0.341169 0.752279,-0.319634 0.996042,-0.07587 l 2.195376,2.195375 c 0.876612,0.876258 2.376088,0.277073 2.407424,-0.961996 l 0.07976,-3.0951208 c 0.01064,-0.414859 0.381781,-0.786003 0.796637,-0.796638 l 4.228314,-0.107971 c 0.208443,-0.0053 0.343523,0.06144 0.447441,0.165359 0.103919,0.103919 0.171668,0.239975 0.16633,0.448412 l -0.325853,12.6888308 -0.106997,4.231229 c -0.01067,0.416029 -0.378664,0.784028 -0.794694,0.794694 l -4.23123,0.106997 -12.68883,0.325853 c -0.416025,0.01066 -0.624436,-0.197746 -0.613771,-0.61377 l 0.107969,-4.228313 c 0.01064,-0.414859 0.381778,-0.786002 0.796639,-0.796639 l 3.095122,-0.07976 c 1.239068,-0.03134 1.838252,-1.530811 0.961995,-2.407422 l -2.195376,-2.195376 c -0.243763,-0.243763 -0.265294,-0.654877 0.07587,-0.996043 z"
|
||||
id="rect852-3"
|
||||
sodipodi:nodetypes="ssscccccscccccccccccss" />
|
||||
</svg>
|
After Width: | Height: | Size: 3.3 KiB |
40
styles/material-dark/images/ccw.svg
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="ccw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<path
|
||||
d="M 6.35,6.35 C 7.8,4.9 9.79,4 12,4 a 8,8 0 0 1 8,8 8,8 0 0 1 -8,8 C 8.27,20 5.16,17.45 4.27,14 h 2.08 c 0.82,2.33 3.04,4 5.65,4 A 6,6 0 0 0 18,12 6,6 0 0 0 12,6 C 10.34,6 8.86,6.69 7.78,7.78 L 11,11 H 4 V 4 Z"
|
||||
id="path1085"
|
||||
style="fill:#e2e2e2" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
38
styles/material-dark/images/cw.svg
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="refresh.svg"
|
||||
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="826"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087" />
|
||||
<path
|
||||
d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"
|
||||
id="path1085"
|
||||
style="fill:#e2e2e2" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
40
styles/material-darker/images/ccw.svg
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="ccw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<path
|
||||
d="M 6.35,6.35 C 7.8,4.9 9.79,4 12,4 a 8,8 0 0 1 8,8 8,8 0 0 1 -8,8 C 8.27,20 5.16,17.45 4.27,14 h 2.08 c 0.82,2.33 3.04,4 5.65,4 A 6,6 0 0 0 18,12 6,6 0 0 0 12,6 C 10.34,6 8.86,6.69 7.78,7.78 L 11,11 H 4 V 4 Z"
|
||||
id="path1085"
|
||||
style="fill:#e2e2e2" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
38
styles/material-darker/images/cw.svg
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="refresh.svg"
|
||||
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="826"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087" />
|
||||
<path
|
||||
d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"
|
||||
id="path1085"
|
||||
style="fill:#e2e2e2" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
40
styles/material-light/images/ccw.svg
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="ccw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<path
|
||||
d="M 6.35,6.35 C 7.8,4.9 9.79,4 12,4 a 8,8 0 0 1 8,8 8,8 0 0 1 -8,8 C 8.27,20 5.16,17.45 4.27,14 h 2.08 c 0.82,2.33 3.04,4 5.65,4 A 6,6 0 0 0 18,12 6,6 0 0 0 12,6 C 10.34,6 8.86,6.69 7.78,7.78 L 11,11 H 4 V 4 Z"
|
||||
id="path1085"
|
||||
style="fill:#000000;font-variation-settings:normal;opacity:1;vector-effect:none;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
40
styles/material-light/images/cw.svg
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1087"
|
||||
sodipodi:docname="cw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1091" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1089"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26"
|
||||
inkscape:cx="-0.38461538"
|
||||
inkscape:cy="12.019231"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1087"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<path
|
||||
d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"
|
||||
id="path1085"
|
||||
style="fill:#000000;font-variation-settings:normal;opacity:1;vector-effect:none;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
93
styles/z-bolt/images/ccw.svg
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
sodipodi:docname="ccw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata16">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>folder</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs14" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#bfbfbf"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
id="namedview12"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="7.6562596"
|
||||
inkscape:cx="28.995882"
|
||||
inkscape:cy="29.453024"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg10"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title2">folder</title>
|
||||
<desc
|
||||
id="desc4">Created with Sketch.</desc>
|
||||
<g
|
||||
id="g1"
|
||||
transform="translate(1.2631795)">
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4710-2-1"
|
||||
d="m 4.3403339,31.365635 5.187416,7.118657 5.0236311,-7.118657 z"
|
||||
style="display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.73127;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="path853"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="33"
|
||||
sodipodi:cy="32"
|
||||
sodipodi:rx="23.5"
|
||||
sodipodi:ry="23.5"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="2.3561945"
|
||||
sodipodi:arc-type="arc"
|
||||
sodipodi:open="true"
|
||||
d="M 9.5,32 A 23.5,23.5 0 0 1 28.415378,8.9515457 23.5,23.5 0 0 1 54.711169,23.00694 23.5,23.5 0 0 1 46.0559,51.539536 23.5,23.5 0 0 1 16.38299,48.617009" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
93
styles/z-bolt/images/cw.svg
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
sodipodi:docname="cw.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata16">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>folder</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs14" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#bfbfbf"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="827"
|
||||
id="namedview12"
|
||||
showgrid="false"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:zoom="7.6562596"
|
||||
inkscape:cx="28.995882"
|
||||
inkscape:cy="29.453024"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg10"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<!-- Generator: Sketch 52.5 (67469) - http://www.bohemiancoding.com/sketch -->
|
||||
<title
|
||||
id="title2">folder</title>
|
||||
<desc
|
||||
id="desc4">Created with Sketch.</desc>
|
||||
<g
|
||||
id="g1"
|
||||
transform="matrix(-1,0,0,1,62.736821,0)">
|
||||
<path
|
||||
sodipodi:nodetypes="ccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4710-2-1"
|
||||
d="m 4.3403339,31.365635 5.187416,7.118657 5.0236311,-7.118657 z"
|
||||
style="display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.73127;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stop-color:#000000"
|
||||
id="path853"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="33"
|
||||
sodipodi:cy="32"
|
||||
sodipodi:rx="23.5"
|
||||
sodipodi:ry="23.5"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="2.3561945"
|
||||
sodipodi:arc-type="arc"
|
||||
sodipodi:open="true"
|
||||
d="M 9.5,32 A 23.5,23.5 0 0 1 28.415378,8.9515457 23.5,23.5 0 0 1 54.711169,23.00694 23.5,23.5 0 0 1 46.0559,51.539536 23.5,23.5 0 0 1 16.38299,48.617009" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.2 KiB |