|
|
| Line 1: |
Line 1: |
| - | If you need the way to force some rotation of your [[Nokia N900|N900]] screen, this is for you.
| + | #REDIRECT [[Using Fremantle widgets#Forcing screen rotation]] |
| - | | + | |
| - | <source lang="c">
| + | |
| - | /*
| + | |
| - | gcc rotate.c -lX11 -lXrandr
| + | |
| - | */
| + | |
| - | #include <X11/Xlib.h> | + | |
| - | #include <X11/extensions/Xrandr.h>
| + | |
| - | | + | |
| - | static void set_rotation (Rotation r_to) {
| + | |
| - | Rotation r;
| + | |
| - | int screen = -1;
| + | |
| - | XRRScreenConfiguration* config;
| + | |
| - | int current_size=0;
| + | |
| - | | + | |
| - | Display* display;
| + | |
| - | Window rootWindow;
| + | |
| - |
| + | |
| - | display = XOpenDisplay(":0");
| + | |
| - | if (display == NULL) {
| + | |
| - | return;
| + | |
| - | }
| + | |
| - | | + | |
| - | screen = DefaultScreen(display);
| + | |
| - | rootWindow = RootWindow(display, screen);
| + | |
| - | XRRRotations(display, screen, &r);
| + | |
| - | config = XRRGetScreenInfo(display, rootWindow);
| + | |
| - | current_size = XRRConfigCurrentConfiguration (config, &r);
| + | |
| - | XRRSetScreenConfig(display, config, rootWindow, current_size, r_to, CurrentTime);
| + | |
| - | }
| + | |
| - | | + | |
| - | int main (int argc, char *argv[]) {
| + | |
| - | set_rotation(RR_Rotate_90);
| + | |
| - | //set_rotation(RR_Rotate_270);
| + | |
| - | //set_rotation(RR_Rotate_180);
| + | |
| - | //set_rotation(RR_Rotate_0);
| + | |
| - | }
| + | |
| - | </source>
| + | |
| - | | + | |
| - | [[Category:Development]]
| + | |
| - | [[Category:N900]]
| + | |