ForceRotation

(wikify, use <source>)
 
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]]
+

Latest revision as of 08:52, 4 May 2011

  1. REDIRECT Using Fremantle widgets#Forcing screen rotation