x11_flush();
}
+static void set_path_prop(char* path) {
+ char *newpath = calloc(1, PATH_MAX+1),
+ *abspath = realpath(path, newpath);
+ x11_prop_set("TIDE_FILE", abspath);
+ free(newpath);
+}
+
void win_load(char* path) {
View* view = win_view(EDIT);
view_init(view, path, view->buffer.errfn);
- if (path)
- x11_prop_set("TIDE_FILE", path);
+ if (path) set_path_prop(path);
}
void win_save(char* path) {
free(view->buffer.path);
view->buffer.path = path;
buf_save(&(view->buffer));
- x11_prop_set("TIDE_FILE", path);
+ set_path_prop(path);
}
void win_loop(void) {
static void* prop_get(Window win, char* propname, Atom type, unsigned long* nitems);
static void prop_set(Window win, char* propname, Atom type, int format, void* items, unsigned long nitems);
+char* abspath(char* path) {
+ char* newpath = calloc(1, PATH_MAX+1);
+ return realpath(path, newpath);
+}
+
/* Main Routine
******************************************************************************/
int main(int argc, char** argv) {
printf("Windows: %lu\n", nwindows);
XUngrabServer(X.display);
+ for (int i = 1; i < argc; i++) {
+ printf("abspath: '%s'\n", abspath(argv[i]));
+ }
+
return 0;
}