Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Builder Build panel: redraw the bond-order and geometry icons; a periodic table button

Open
#323 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
cpp
Domain
desktop

Research direction

Start with ShapeData::shapeToImage and ShapeData::shapeToSmallImage and the bond drop-down code that loads the XPMs from data/client/pixmaps. Check tools/screenshots/icons.py to see how the existing SVGs are rendered for review. The redraw needs SVG versions of the bond and shape icons loaded as wxBitmapBundle, in the Jmol-style ball-and-stick look. The periodic table button is named in the title but not described in the body, so confirm its scope with the maintainers before starting. Done means the toolbar and drop-downs show the new icons at every display scale.

Written by the indexing model from the issue text.

Description

Seen: the Builder toolbar's bond-order chooser (single bond: two grey balls and a line) and geometry chooser (tetrahedral centre) use the original low-resolution bitmaps. They are small, blurry when scaled and drawn in a style the rest of the toolbar no longer has.

Builder toolbar, bond and shape choosers

Where: the bond icons (bond_single, bond_double, bond_triple, bond_aromatic, bond_metal and their _large forms) and the shape icons (linear, bent, trigonal planar, pyramidal, tetrahedral, square planar, trigonal bipyramidal, square pyramidal, octahedral, in 18/24/48 px) are XPMs in data/client/pixmaps, chosen in ShapeData::shapeToImage/shapeToSmallImage and the bond drop-down.

Proposal: redraw both sets as SVG and load them as wxBitmapBundle (the route the other redrawn icons use; tools/screenshots/icons.py renders them for review), so they are sharp at every display scale. Draw them in the viewer's own ball-and-stick style: shaded spheres, Jmol element colours (carbon centre, grey or white ligands), bond orders as one, two or three sticks, aromatic as a stick with a dashed partner, metal bond dashed. Same set used in the drop-down lists and on the toolbar button.

Dominant language
C
Stars
10
Forks
8
Avg merge
21m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from FriendsofECCE/ECCE

All issues in FriendsofECCE/ECCE

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.