Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e_utils

Dir     : e17/apps/e_utils/src/bin/e17setroot


Modified Files:
        e17setroot.c 


Log Message:
1- eets are now copied to ~/.e/e/backgrounds.
2- we copy the template edc to /tmp and work with it there
3- added support for Esetroot for Eterm users

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_utils/src/bin/e17setroot/e17setroot.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e17setroot.c        24 Jan 2005 11:55:34 -0000      1.3
+++ e17setroot.c        24 Jan 2005 12:57:37 -0000      1.4
@@ -10,23 +10,23 @@
 
 #include "config.h"
 
-enum Ebg_Bg_Types
+enum E_Bg_Types
 {
-     EBG_BG_TILE = 1,
-     EBG_BG_SCALE = 2,
-     EBG_BG_CENTER = 3,
-     EBG_BG_FIT = 4,
-     EBG_BG_GET = 5,
+     E_BG_TILE = 1,
+     E_BG_SCALE = 2,
+     E_BG_CENTER = 3,
+     E_BG_FIT = 4,
+     E_BG_GET = 5,
 };
-typedef enum Ebg_Bg_Types Ebg_Bg_Types;
+typedef enum E_Bg_Types E_Bg_Types;
 
 
-void ebg_help() { 
-   printf ("show help screen\n");   
+void _e_bg_bg_help() { 
+   printf("Usage: e17setroot <imagename> | <eet>\n");
 }
 
 /* parse command line options */
-void ebg_parseargs(int argc, char **argv) {
+void _e_bg_bg_parseargs(int argc, char **argv) {
    int c;
    int digit_optind = 0;
 
@@ -34,11 +34,11 @@
    int option_index = 0;
    static char *options = "t:s:c:f:g";
    static struct option long_options[] = {
-       {"tile",   1, 0, EBG_BG_TILE},
-       {"scale",  1, 0, EBG_BG_SCALE},
-       {"center", 1, 0, EBG_BG_CENTER},
-       {"fit",    1, 0, EBG_BG_FIT},
-       {"get",    0, 0, EBG_BG_GET},
+       {"tile",   1, 0, E_BG_TILE},
+       {"scale",  1, 0, E_BG_SCALE},
+       {"center", 1, 0, E_BG_CENTER},
+       {"fit",    1, 0, E_BG_FIT},
+       {"get",    0, 0, E_BG_GET},
        {0,        0, 0, 0}
    };
 
@@ -47,37 +47,36 @@
       switch (c) {
         
         /* tile */
-       case EBG_BG_TILE:
+       case E_BG_TILE:
        case 't':           
         //long_options[option_index].name
         //optarg
         break;
 
         /* scale */
-       case EBG_BG_SCALE:
+       case E_BG_SCALE:
        case 's':
 
         break;
         
         /* center */
-       case EBG_BG_CENTER:
+       case E_BG_CENTER:
        case 'c':
         break;
         
         /* fit */
-       case EBG_BG_FIT:
+       case E_BG_FIT:
        case 'f':
         break;
 
         /* get current bg */
-       case EBG_BG_GET:
+       case E_BG_GET:
        case 'g':
-
         break;
         
         /* show help screen */
        default:
-        
+        break;
       }
    }
 
@@ -90,7 +89,7 @@
 }
 
 /* return dir from a full path filename */
-char *ebg_file_getdir(char *path) {
+char *_e_bg_bg_file_getdir(char *path) {
    char *ptr;
    char *c;
    char *dir;
@@ -111,7 +110,7 @@
 }
 
 /* return filename from a full path filename */
-char *ebg_file_getfile(char *path) {
+char *_e_bg_bg_file_getfile(char *path) {
    char *ptr;
    char *c;
    char *file;
@@ -133,7 +132,7 @@
 }
 
 /* strip extention from a file */
-char *ebg_file_stripext(char *path) {
+char *_e_bg_bg_file_stripext(char *path) {
    char *ptr;
    char *c;
    char *file;
@@ -154,9 +153,10 @@
    return file;
 }
 
-void ebg_eet_gen(char *filename) {
+void _e_bg_bg_eet_gen(char *filename) {
    int i, w, h;
-   char *cmd, *file, *dir, *sed, *eet, *edc, *edj, *edje, *filenoext;
+   char *cmd, *file, *dir, *sed, *cp, *eet, *edc, *edj, *edje, *filenoext, 
+     *esetroot;
    Imlib_Image *im;
 
    if (strcmp(filename + strlen(filename) - 4, ".eet") == 0)
@@ -167,20 +167,34 @@
                   
    i = 0;
 
-   file = ebg_file_getfile(filename);
-   dir = ebg_file_getdir(filename);
+   file = _e_bg_bg_file_getfile(filename);
+   dir = _e_bg_bg_file_getdir(filename);
    edc = strdup(PACKAGE_DATA_DIR "/data/e17setroot/e17setroot_template.edc ");
    edj = strdup("edje_cc -id ");
 
-   filenoext = ebg_file_stripext(filename);
-   filenoext = ebg_file_getfile(filenoext);
+   filenoext = _e_bg_bg_file_stripext(filename);
+   filenoext = _e_bg_bg_file_getfile(filenoext);
 
+   /* Copy edc to /tmp so we can fiddle with it there */
+   cp = malloc(strlen("cp ") + strlen(edc) + strlen(" /tmp/") + 3);
+   strcpy(cp, "cp ");
+   strcat(cp, edc);
+   strcat(cp, " /tmp/");
+   system(cp);
+   free(cp);
+   
+   /* change edc to the one stored in /tmp */
+   free(edc);
+   edc = strdup("/tmp/e17setroot_template.edc ");
+   
    /* Set up eet path */
-   eet = malloc(strlen("/tmp/") + strlen(filenoext) + strlen(".eet") + 1);
-   strcpy(eet, "/tmp/");
+   eet = malloc(strlen(getenv("HOME")) +  strlen("/.e/e/backgrounds/") 
+               + strlen(filenoext) + strlen(".eet") + 1);
+   strcpy(eet, getenv("HOME"));
+   strcat(eet, "/.e/e/backgrounds/");
    strcat(eet, filenoext);
    strcat(eet, ".eet");
-
+   
    /* Set up edje_cc command sans eet path */
    edje = malloc(strlen(edc) + strlen(edj) + strlen(dir) + 2);
    strcpy(edje, edj);
@@ -235,6 +249,13 @@
    sprintf(sed, "sed -i -e 's/%d/HEIGHT/' %s",h,edc);
    system(sed);
    free(sed);
+   
+   /* If we're using pseudo-trans for eterm, then this will help */
+   esetroot = malloc(strlen("Esetroot ") + strlen(filename) + 1);
+   strcpy(esetroot, "Esetroot ");
+   strcat(esetroot, filename);
+   system(esetroot);
+   free(esetroot);
 }
 
 int main(int argc, char **argv)
@@ -244,8 +265,8 @@
       exit(-1);
    }
 
-   //ebg_parseargs(argc, argv);
-   ebg_eet_gen(argv[1]);
+   //_e_bg_bg_parseargs(argc, argv);
+   _e_bg_bg_eet_gen(argv[1]);
 
    e_shutdown();
 




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to