Correct way to resize root?

As you can see I didn't really know what I was doing when installing and partitioning. Now I need to make root larger. From reading I think I would first make the home partition smaller from the left, then move swap then make root larger. Need to do this from a live session. Is this the correct way? Thanks