I really like this method because it can help create a look that is more random and scattered than other methods I have tried. I also find it relatively easy and less complicated than other methods I've tried in the past. For me it also helped me visualize, wrap my mind around, what is going on when I use image creation/editing programs that use offset (it may seem obvious to some people...but my mind doesn't seem to work that way).
Even if you don't use Adobe Illustrator I still recommend watching this video to get the general idea of this method. Especially since, out of laziness, I am not including many screenshots of the process. There are only a few differences in doing it with Inkscape, so I hope that after watching the video that reading the steps of my tutorial that it won't be too hard to follow.
It could be really useful to check out her other videos about repeating patterns here. I really liked the one called "Create a Seamless Repeating Vector Pattern Using Adobe Illustrator (the long version)" but I found that version was not precise enough to get my pattern to repeat perfectly...there were parts of the pattern that were off. So my tutorial is sort of a mix between the video shown here and that one.
Step One: In Inkscape create a Square with a Stroke around it with the Create Rectangles and Squares tool. This will be the boundary and guideline of your pattern. In this example, I've made mine 400 x 400 pixels.
Step Two: Create a new layer and fill with your pattern the way you want it to be, but with the right side and the top side clear of any objects, but the left and bottom sides can have the objects overlapping the edges.
The objects that overlap are what will create the repeating part of your pattern.
While the duplicated objects are still selected, choose Object from the Menu, then Transform (or Press Shift+Ctrl+M).
With the Move tab selected, make sure the Relative Move is check marked, then enter in the size of your bounding square in the horizontal field. So in this example my bounding square was 400 pixels, so I enter 400 into the horizontal field.
This makes it pretty easy to know what to put in the field for moving the object. It's just whatever size that you made your square be.
Then click on the Apply button. This should move your duplicated objects to the opposite side of the square.
Step Four: Press Clear on the Transform / Move menu area. Select the objects that are on the bottom edge of your square. Press Ctrl+D to duplicate those objects.
Enter in the size of your bounding square in the vertical field. So in this example my bounding square was 400 pixels, so I enter 400 into the vertical field. Then click on the Apply button.
Step Five: Fill in or adjust the objects in the center of the square, that do not overlap the edges, as desired.
*If you move any of the objects that overlap the edges you will need to re-do their corresponding object on the opposite side so that they will match up properly.
Step Six: To save/export your pattern select your bounding square, then in the Layers dialog box click on the Eye icon next to the layer that your square is on. So you can still see your pattern, but not the square (but you should still see a dashed line around the square, showing that it is still selected).
Then click on File, then Export Bitmap. Then make sure that the Selection button is selected (this is important), choose where you want your file to be saved and name your file, then click on Export.
Using the Selection button makes so that only the area in the selected area is saved, but since you hid the layer the square is on it won't show up in your saved pattern file.
You can now use the resulting image as a pattern in your program of choice.
To use it in GIMP you can check out this info from the GIMP website.
Some additional notes:
If you wanted to put your shapes on the right and top edges, instead of the bottom and left, when using the Move tool you would just need to enter in a minus sign in front of the number instead. So, using our previous example, you would put -400 instead of 400.
I hope that helps out. If it is too confusing or you have other input, please let me know, and I will try to clarify and update the tutorial.