I just made a code wallpaper in GIMP ! Although i am not an expert in GIMP i am trying to write up how i made it. This is a guide on how to make a geeky code wallpaper showing a screenful of code with your name highlighted. The screenfull of text in this guide is the ASCII characters of a statically linked ELF binary file, who’s bottom section has a screenfull of text. You could modify with your favorite code or even other texts, like your name peeking out of a randomly generated screenfull of string. Continue reading, and check out the guide.
The Guide
- Write a c program and save it with pic.c
#include <stdio.h> int main(void) { printf("Hello\n"); return 0; }
compile it with:
gcc pic.c -o pic -static
compiling with static tag will pack all the symbols into the executable.
- Now execute the below, which will dump the executable by replacing the non printable characters into another file ‘picedit’ .
cat -v pic > picedit
Open the picedit file with vim (execute vim picedit) or with kwrite (or any text editor). Make sure the text editor should have word wrap on and also the window size of the text editor should be full screen.
Scroll to the bottom of the screen by pressing Shift + G in vim and by pressing Ctrl + END in kwrite. At this point there should be a screen fully packed with text, if not then scroll a couple of lines to make the window full of characters.
Now switch to insert mode in the text editor by pressing INSERT. Now write your name or any particular text any where in the screen full of text. Save the file and close the window.
Tip: Type your name such that they are surrounded by non-alphabet punctuations and special character, it will be easier to read
Insert Text Now again go to the open terminal make it full screen by pressing Ctrl + Shift + F11 (or other), and dump the saved ‘picedit’ file with cat.
cat picedit
- Now you can see the last portion of the edited file where you made the changes. Make the konsole to fullscreen by pressing Ctrl + Shift + F11 , and also remove the menu bars (by unchecking the show menu bar checkbox in konsole), scroll a couple of lines up if needed. and press PRTSCR button that is the print screen button on the keyboard, and save the screenshot with the name ‘mywall’. Keep note that you get the maximum screen area full of text.
- Open ‘mywall’ with gimp, and do the following:Crop the image so that only the console text are visible and the window menubars, scroll bars are eliminated.
- Convert the background color of the console in the picture to alpha:
Colors -> Colorify To Alpha
Select ‘From’ and then background colour of the console with the colour picker tool, and click OK. (Background color of my console was #3f3f3f)
Colorify To Alpha and separate background and text - Now create a new layer and flood fill it with the same background colour of the terminal, and send the layer to bottom. You can see the same picture but now the background and foreground text are separated.
- Select the text layer. Find out the texts you edited and want to highlight and select them using the Rectangle Select Tool. Make sure the selection be precise and no other text is inside the selection. After selecting the text you want to highlight do:
Colors -> Colorify
and simply select your favourite highlight colour.
Select the text to highlight and colorify selection - Now merge down the two layers. To do this, go to layer window, right click on the separated text layer and click on “Merge Down” .
Layers -> Merge Down
- Because we cropped the image, so the image will not have the proper resolution, and you would need to stretch to fit it in the screen. To solve this resize the picture with gimp to 1280×1024 (which is my monitor resolution).
Image -> Scale Image
- Optionally Sharpen the image a bit so the text looks crisp and clear. (with value 10 or some )
Filter -> Enhance -> Sharpen {Sharpness=10}
- This is an optional step, if you like the softglow effect then you can apply it. You can apply some softglow to the merged layer with the values which would get a good look.
Filters -> Artistic -> Softglow {Glow Radius=13.00, Brightness=1.0, Sharpness=1.0}
- Save the image in gif or png format. (Saving in jpg format would need a 100% quallity to show the picture properly, and the size would also be bigger than gif)
Final Look


its good…and quite impressive
nice!:D i think i must look closer to GIMP! :)
i need install other program?
gcc pic.c -o pic -static
pic.c:1:10: error: #include expects “FILENAME” or
pic.c: In function ‘main’:
pic.c:4:3: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
pic.c:4:11: error: ‘quot’ undeclared (first use in this function)
pic.c:4:11: note: each undeclared identifier is reported only once for each function it appears in
pic.c:4:15: error: expected ‘)’ before ‘;’ token
pic.c:4:15: error: stray ‘\’ in program
not create pic
sorry my bad english
Actually you need to compile the code above. If you have never compiled a code then it is a problem. You can actually open any binary program, ie executable program and follow the steps. The code i posted has somehow changed and the #include line has become incorrect as the stdio.h is not included. The first line should be #include <stdio.h> . I have fixed post. Now try to compile as told in the code. Save the file with some name, and pass the name to the given command (ie. compile the code), and follow the steps.
I suggest instead of copying directly from the webpage, you see and type, as some html codes have appeared in the webpage (like the quot for the double quotes). Although i have fixed the problem in the page, it can change (as this problem occurrs in other pages too).
that’s amazing…
hitaz@live.com