Fluxbox. different wallpaper on every virtual desktop

hi! is there any way to achieve this? i have 4 desktops in fluxbox and i wonder if there is any way to set a diferent wallpaper for every desktop
TNX!

Ah, I figured it out. Right click on Safri icon in tray, choose options and Click "none" instead of "every desktop". That was well hidden!

Similar Messages

  • Applescript to set a wallpaper on all virtual desktops/spaces

    Hello everybody,
    i just want to share something i came up with after trying many things to set a wallpaper to every of my virtual desktops/spaces... feel free to use and improve it!
    This applescript is based on a few solutions i found on the internet...
    It's really silly, but all the other things doesn't work for me.
    FIRST make sure that AppleScript Editor.app is checked in
    System Preferences --> Security & Privacy --> Privacy --> Accessibility
    Then start AppleScript Editor and paste the following:
    ----- snip -----
    set myWallpaper to "/path/to/image.jpg"
    set myNumberOfSpaces to 5
    -- switch to first space
    tell application "System Events" to key code 18 using control down
    delay 1
    tell application "System Events" to set picture of current desktop to myWallpaper
    delay 0.5
    repeat with theIncrementValue from 2 to myNumberOfSpaces
      -- switch to next space
              tell application "System Events" to key code 124 using control down
      delay 1
              tell application "System Events" to set picture of current desktop to myWallpaper
              delay 0.5
    end repeat
    ----- snip -----
    Adjust the two variables to your needs...
    e.g. i have 5 virtual desktops/spaces
    Then click the Run button and watch it working :-)
    Hopefully this will help someone.
    I think you can easylie make an osascript or o droplet out of this...
    Till now i found no other working shiny easy solution of setting one picture to all my desktops in mavericks.
    Improvements are welcome!
    woodst0ck

    There’s been a couple threads about this, the solution seems to be to install a compositor like xcompmgr or maybe compton (I’m using compton and not seeing the issue).

  • Hacking conky's own_window_type desktop to run on one virtual desktop

    Since I have no dual screen setup (just a laptop) I'd like to use my virtual desktops to run different conky instances on (almost) every virtual desktop. I tried to accomplish this by using own_window_type normal in conky, and that works - until I call the desktop, then it just minimises like a regular app. That's not what I want.
    People in #conky suggested I use the if_match functionality in conky, so I can keep using the own_window_type desktop setting, but that does not solve my issue since you cannot define different conky window sizes in one configuration file. I checked in with #openbox and they told me essentially Conky should not display on every virtual desktop (and frankly they have a point, since you can tell e.g. Openbox to sticky an app on every virtual desktop). However, one would need to hack the code for that (specifically the stuff that takes care of putting the desktop window type on every virtual desktop). That's where you guys come in, since my C knowledge is close to non-existent .
    I was told to look at x11.c and specifically the init_window() function but I'm at loss where to start...
    /* -*- mode: c; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*-
    * vim: ts=4 sw=4 noet ai cindent syntax=c
    * Conky, a system monitor, based on torsmo
    * Any original torsmo code is licensed under the BSD license
    * All code written since the fork of torsmo is licensed under the GPL
    * Please see COPYING for details
    * Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
    * Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al.
    * (see AUTHORS)
    * All rights reserved.
    * This program is free software: you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation, either version 3 of the License, or
    * (at your option) any later version.
    * This program is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    * You should have received a copy of the GNU General Public License
    * along with this program. If not, see <http://www.gnu.org/licenses/>.
    #include "config.h"
    #include "conky.h"
    #include "logging.h"
    #include "common.h"
    #include "x11.h"
    #include <X11/Xlib.h>
    #include <X11/Xatom.h>
    #include <X11/Xmd.h>
    #include <X11/Xutil.h>
    #ifdef IMLIB2
    #include "imlib2.h"
    #endif /* IMLIB2 */
    #ifdef XFT
    #include <X11/Xft/Xft.h>
    int use_xft = 0;
    #endif
    #ifdef HAVE_XDBE
    int use_xdbe;
    #endif
    #ifdef USE_ARGB
    int use_argb_visual;
    int have_argb_visual;
    #endif /* USE_ARGB */
    int own_window_argb_value;
    /* some basic X11 stuff */
    Display *display = NULL;
    int display_width;
    int display_height;
    int screen;
    static int set_transparent;
    static int background_colour;
    /* workarea from _NET_WORKAREA, this is where window / text is aligned */
    int workarea[4];
    /* Window stuff */
    struct conky_window window;
    char window_created = 0;
    /* local prototypes */
    static void update_workarea(void);
    static Window find_desktop_window(Window *p_root, Window *p_desktop);
    static Window find_subwindow(Window win, int w, int h);
    /* X11 initializer */
    void init_X11(const char *disp)
    if (!display) {
    if ((display = XOpenDisplay(disp)) == NULL) {
    CRIT_ERR(NULL, NULL, "can't open display: %s", XDisplayName(disp));
    screen = DefaultScreen(display);
    display_width = DisplayWidth(display, screen);
    display_height = DisplayHeight(display, screen);
    get_x11_desktop_info(display, 0);
    update_workarea();
    static void update_workarea(void)
    /* default work area is display */
    workarea[0] = 0;
    workarea[1] = 0;
    workarea[2] = display_width;
    workarea[3] = display_height;
    /* Find root window and desktop window.
    * Return desktop window on success,
    * and set root and desktop byref return values.
    * Return 0 on failure. */
    static Window find_desktop_window(Window *p_root, Window *p_desktop)
    Atom type;
    int format, i;
    unsigned long nitems, bytes;
    unsigned int n;
    Window root = RootWindow(display, screen);
    Window win = root;
    Window troot, parent, *children;
    unsigned char *buf = NULL;
    if (!p_root || !p_desktop) {
    return 0;
    /* some window managers set __SWM_VROOT to some child of root window */
    XQueryTree(display, root, &troot, &parent, &children, &n);
    for (i = 0; i < (int) n; i++) {
    if (XGetWindowProperty(display, children[i], ATOM(__SWM_VROOT), 0, 1,
    False, XA_WINDOW, &type, &format, &nitems, &bytes, &buf)
    == Success && type == XA_WINDOW) {
    win = *(Window *) buf;
    XFree(buf);
    XFree(children);
    fprintf(stderr,
    PACKAGE_NAME": desktop window (%lx) found from __SWM_VROOT property\n",
    win);
    fflush(stderr);
    *p_root = win;
    *p_desktop = win;
    return win;
    if (buf) {
    XFree(buf);
    buf = 0;
    XFree(children);
    /* get subwindows from root */
    win = find_subwindow(root, -1, -1);
    update_workarea();
    win = find_subwindow(win, workarea[2], workarea[3]);
    if (buf) {
    XFree(buf);
    buf = 0;
    if (win != root) {
    fprintf(stderr,
    PACKAGE_NAME": desktop window (%lx) is subwindow of root window (%lx)\n",
    win, root);
    } else {
    fprintf(stderr, PACKAGE_NAME": desktop window (%lx) is root window\n", win);
    fflush(stderr);
    *p_root = root;
    *p_desktop = win;
    return win;
    static int colour_set = -1;
    /* if no argb visual is configured sets background to ParentRelative for the Window and all parents,
    else real transparency is used */
    void set_transparent_background(Window win, int alpha)
    (void)alpha; /* disable warnings when unused */
    #ifdef USE_ARGB
    if (have_argb_visual) {
    // real transparency
    if (set_transparent) {
    XSetWindowBackground(display, win, 0x00);
    } else if (colour_set != background_colour) {
    XSetWindowBackground(display, win,
    background_colour | (alpha << 24));
    colour_set = background_colour;
    } else {
    #endif /* USE_ARGB */
    // pseudo transparency
    if (set_transparent) {
    Window parent = win;
    unsigned int i;
    for (i = 0; i < 50 && parent != RootWindow(display, screen); i++) {
    Window r, *children;
    unsigned int n;
    XSetWindowBackgroundPixmap(display, parent, ParentRelative);
    XQueryTree(display, parent, &r, &parent, &children, &n);
    XFree(children);
    } else if (colour_set != background_colour) {
    XSetWindowBackground(display, win, background_colour);
    colour_set = background_colour;
    #ifdef USE_ARGB
    #endif /* USE_ARGB */
    #ifdef USE_ARGB
    static int get_argb_visual(Visual** visual, int *depth) {
    /* code from gtk project, gdk_screen_get_rgba_visual */
    XVisualInfo visual_template;
    XVisualInfo *visual_list;
    int nxvisuals = 0, i;
    visual_template.screen = screen;
    visual_list = XGetVisualInfo (display, VisualScreenMask,
    &visual_template, &nxvisuals);
    for (i = 0; i < nxvisuals; i++) {
    if (visual_list[i].depth == 32 &&
    (visual_list[i].red_mask == 0xff0000 &&
    visual_list[i].green_mask == 0x00ff00 &&
    visual_list[i].blue_mask == 0x0000ff)) {
    *visual = visual_list[i].visual;
    *depth = visual_list[i].depth;
    DBGP("Found ARGB Visual");
    XFree(visual_list);
    return 1;
    // no argb visual available
    DBGP("No ARGB Visual found");
    XFree(visual_list);
    return 0;
    #endif /* USE_ARGB */
    void destroy_window(void)
    #ifdef XFT
    if(window.xftdraw) {
    XftDrawDestroy(window.xftdraw);
    #endif
    if(window.gc) {
    XFreeGC(display, window.gc);
    memset(&window, 0, sizeof(struct conky_window));
    colour_set = -1;
    void init_window(int own_window, int w, int h, int set_trans, int back_colour,
    char **argv, int argc)
    /* There seems to be some problems with setting transparent background
    * (on fluxbox this time). It doesn't happen always and I don't know why it
    * happens but I bet the bug is somewhere here. */
    set_transparent = set_trans;
    background_colour = back_colour;
    window_created = 1;
    #ifdef OWN_WINDOW
    if (own_window) {
    int depth = 0, flags;
    Visual *visual = NULL;
    if (!find_desktop_window(&window.root, &window.desktop)) {
    return;
    #ifdef USE_ARGB
    if (use_argb_visual && get_argb_visual(&visual, &depth)) {
    have_argb_visual = 1;
    window.visual = visual;
    window.colourmap = XCreateColormap(display,
    DefaultRootWindow(display), window.visual, AllocNone);
    } else {
    #endif /* USE_ARGB */
    window.visual = DefaultVisual(display, screen);
    window.colourmap = DefaultColormap(display, screen);
    depth = CopyFromParent;
    visual = CopyFromParent;
    #ifdef USE_ARGB
    #endif /* USE_ARGB */
    if (window.type == TYPE_OVERRIDE) {
    /* An override_redirect True window.
    * No WM hints or button processing needed. */
    XSetWindowAttributes attrs = { ParentRelative, 0L, 0, 0L, 0, 0,
    Always, 0L, 0L, False, StructureNotifyMask | ExposureMask, 0L,
    True, 0, 0 };
    #ifdef USE_ARGB
    if (have_argb_visual) {
    attrs.colormap = window.colourmap;
    flags = CWBorderPixel | CWColormap | CWOverrideRedirect;
    } else {
    #endif /* USE_ARGB */
    flags = CWBackPixel | CWOverrideRedirect;
    #ifdef USE_ARGB
    #endif /* USE_ARGB */
    /* Parent is desktop window (which might be a child of root) */
    window.window = XCreateWindow(display, window.desktop, window.x,
    window.y, w, h, 0, depth, InputOutput, visual,
    flags, &attrs);
    XLowerWindow(display, window.window);
    fprintf(stderr, PACKAGE_NAME": window type - override\n");
    fflush(stderr);
    } else { /* window.type != TYPE_OVERRIDE */
    /* A window managed by the window manager.
    * Process hints and buttons. */
    XSetWindowAttributes attrs = { ParentRelative, 0L, 0, 0L, 0, 0,
    Always, 0L, 0L, False, StructureNotifyMask | ExposureMask |
    ButtonPressMask | ButtonReleaseMask, 0L, False, 0, 0 };
    XClassHint classHint;
    XWMHints wmHint;
    Atom xa;
    #ifdef USE_ARGB
    if (have_argb_visual) {
    attrs.colormap = window.colourmap;
    flags = CWBorderPixel | CWColormap | CWOverrideRedirect;
    } else {
    #endif /* USE_ARGB */
    flags = CWBackPixel | CWOverrideRedirect;
    #ifdef USE_ARGB
    #endif /* USE_ARGB */
    if (window.type == TYPE_DOCK) {
    window.x = window.y = 0;
    /* Parent is root window so WM can take control */
    window.window = XCreateWindow(display, window.root, window.x,
    window.y, w, h, 0, depth, InputOutput, visual,
    flags, &attrs);
    classHint.res_name = window.class_name;
    classHint.res_class = classHint.res_name;
    wmHint.flags = InputHint | StateHint;
    /* allow decorated windows to be given input focus by WM */
    wmHint.input =
    TEST_HINT(window.hints, HINT_UNDECORATED) ? False : True;
    if (window.type == TYPE_DOCK || window.type == TYPE_PANEL) {
    wmHint.initial_state = WithdrawnState;
    } else {
    wmHint.initial_state = NormalState;
    XmbSetWMProperties(display, window.window, NULL, NULL, argv,
    argc, NULL, &wmHint, &classHint);
    XStoreName(display, window.window, window.title);
    /* Sets an empty WM_PROTOCOLS property */
    XSetWMProtocols(display, window.window, NULL, 0);
    /* Set window type */
    if ((xa = ATOM(_NET_WM_WINDOW_TYPE)) != None) {
    Atom prop;
    switch (window.type) {
    case TYPE_DESKTOP:
    prop = ATOM(_NET_WM_WINDOW_TYPE_DESKTOP);
    fprintf(stderr, PACKAGE_NAME": window type - desktop\n");
    fflush(stderr);
    break;
    case TYPE_DOCK:
    prop = ATOM(_NET_WM_WINDOW_TYPE_DOCK);
    fprintf(stderr, PACKAGE_NAME": window type - dock\n");
    fflush(stderr);
    break;
    case TYPE_PANEL:
    prop = ATOM(_NET_WM_WINDOW_TYPE_DOCK);
    fprintf(stderr, PACKAGE_NAME": window type - panel\n");
    fflush(stderr);
    break;
    case TYPE_NORMAL:
    default:
    prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
    fprintf(stderr, PACKAGE_NAME": window type - normal\n");
    fflush(stderr);
    break;
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeReplace, (unsigned char *) &prop, 1);
    /* Set desired hints */
    /* Window decorations */
    if (TEST_HINT(window.hints, HINT_UNDECORATED)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - undecorated\n");
    fflush(stderr); */
    xa = ATOM(_MOTIF_WM_HINTS);
    if (xa != None) {
    long prop[5] = { 2, 0, 0, 0, 0 };
    XChangeProperty(display, window.window, xa, xa, 32,
    PropModeReplace, (unsigned char *) prop, 5);
    /* Below other windows */
    if (TEST_HINT(window.hints, HINT_BELOW)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - below\n");
    fflush(stderr); */
    xa = ATOM(_WIN_LAYER);
    if (xa != None) {
    long prop = 0;
    XChangeProperty(display, window.window, xa, XA_CARDINAL, 32,
    PropModeAppend, (unsigned char *) &prop, 1);
    xa = ATOM(_NET_WM_STATE);
    if (xa != None) {
    Atom xa_prop = ATOM(_NET_WM_STATE_BELOW);
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    /* Above other windows */
    if (TEST_HINT(window.hints, HINT_ABOVE)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - above\n");
    fflush(stderr); */
    xa = ATOM(_WIN_LAYER);
    if (xa != None) {
    long prop = 6;
    XChangeProperty(display, window.window, xa, XA_CARDINAL, 32,
    PropModeAppend, (unsigned char *) &prop, 1);
    xa = ATOM(_NET_WM_STATE);
    if (xa != None) {
    Atom xa_prop = ATOM(_NET_WM_STATE_ABOVE);
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    /* Sticky */
    if (TEST_HINT(window.hints, HINT_STICKY)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - sticky\n");
    fflush(stderr); */
    xa = ATOM(_NET_WM_DESKTOP);
    if (xa != None) {
    CARD32 xa_prop = 0xFFFFFFFF;
    XChangeProperty(display, window.window, xa, XA_CARDINAL, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    xa = ATOM(_NET_WM_STATE);
    if (xa != None) {
    Atom xa_prop = ATOM(_NET_WM_STATE_STICKY);
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    /* Skip taskbar */
    if (TEST_HINT(window.hints, HINT_SKIP_TASKBAR)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - skip_taskbar\n");
    fflush(stderr); */
    xa = ATOM(_NET_WM_STATE);
    if (xa != None) {
    Atom xa_prop = ATOM(_NET_WM_STATE_SKIP_TASKBAR);
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    /* Skip pager */
    if (TEST_HINT(window.hints, HINT_SKIP_PAGER)) {
    /* fprintf(stderr, PACKAGE_NAME": hint - skip_pager\n");
    fflush(stderr); */
    xa = ATOM(_NET_WM_STATE);
    if (xa != None) {
    Atom xa_prop = ATOM(_NET_WM_STATE_SKIP_PAGER);
    XChangeProperty(display, window.window, xa, XA_ATOM, 32,
    PropModeAppend, (unsigned char *) &xa_prop, 1);
    fprintf(stderr, PACKAGE_NAME": drawing to created window (0x%lx)\n",
    window.window);
    fflush(stderr);
    XMapWindow(display, window.window);
    } else
    #endif /* OWN_WINDOW */
    XWindowAttributes attrs;
    if (!window.window) {
    window.window = find_desktop_window(&window.root, &window.desktop);
    window.visual = DefaultVisual(display, screen);
    window.colourmap = DefaultColormap(display, screen);
    if (XGetWindowAttributes(display, window.window, &attrs)) {
    window.width = attrs.width;
    window.height = attrs.height;
    fprintf(stderr, PACKAGE_NAME": drawing to desktop window\n");
    /* Drawable is same as window. This may be changed by double buffering. */
    window.drawable = window.window;
    #ifdef HAVE_XDBE
    if (use_xdbe) {
    int major, minor;
    if (!XdbeQueryExtension(display, &major, &minor)) {
    use_xdbe = 0;
    } else {
    window.back_buffer = XdbeAllocateBackBufferName(display,
    window.window, XdbeBackground);
    if (window.back_buffer != None) {
    window.drawable = window.back_buffer;
    fprintf(stderr, PACKAGE_NAME": drawing to double buffer\n");
    } else {
    use_xdbe = 0;
    if (!use_xdbe) {
    NORM_ERR("failed to set up double buffer");
    if (!use_xdbe) {
    fprintf(stderr, PACKAGE_NAME": drawing to single buffer\n");
    #endif
    #ifdef IMLIB2
    cimlib_init(display, window.drawable, window.visual, window.colourmap);
    #endif /* IMLIB2 */
    XFlush(display);
    XSelectInput(display, window.window, ExposureMask | PropertyChangeMask
    #ifdef OWN_WINDOW
    | (own_window ? (StructureNotifyMask |
    ButtonPressMask | ButtonReleaseMask) : 0)
    #endif
    static Window find_subwindow(Window win, int w, int h)
    unsigned int i, j;
    Window troot, parent, *children;
    unsigned int n;
    /* search subwindows with same size as display or work area */
    for (i = 0; i < 10; i++) {
    XQueryTree(display, win, &troot, &parent, &children, &n);
    for (j = 0; j < n; j++) {
    XWindowAttributes attrs;
    if (XGetWindowAttributes(display, children[j], &attrs)) {
    /* Window must be mapped and same size as display or
    * work space */
    if (attrs.map_state != 0 && ((attrs.width == display_width
    && attrs.height == display_height)
    || (attrs.width == w && attrs.height == h))) {
    win = children[j];
    break;
    XFree(children);
    if (j == n) {
    break;
    return win;
    void create_gc(void)
    XGCValues values;
    values.graphics_exposures = 0;
    values.function = GXcopy;
    window.gc = XCreateGC(display, window.drawable,
    GCFunction | GCGraphicsExposures, &values);
    //Get current desktop number
    static inline void get_x11_desktop_current(Display *current_display, Window root, Atom atom)
    Atom actual_type;
    int actual_format;
    unsigned long nitems;
    unsigned long bytes_after;
    unsigned char *prop = NULL;
    struct information *current_info = &info;
    if (atom == None) return;
    if ( (XGetWindowProperty( current_display, root, atom,
    0, 1L, False, XA_CARDINAL,
    &actual_type, &actual_format, &nitems,
    &bytes_after, &prop ) == Success ) &&
    (actual_type == XA_CARDINAL) &&
    (nitems == 1L) && (actual_format == 32) ) {
    current_info->x11.desktop.current = prop[0]+1;
    if(prop) {
    XFree(prop);
    //Get total number of available desktops
    static inline void get_x11_desktop_number(Display *current_display, Window root, Atom atom)
    Atom actual_type;
    int actual_format;
    unsigned long nitems;
    unsigned long bytes_after;
    unsigned char *prop = NULL;
    struct information *current_info = &info;
    if (atom == None) return;
    if ( (XGetWindowProperty( current_display, root, atom,
    0, 1L, False, XA_CARDINAL,
    &actual_type, &actual_format, &nitems,
    &bytes_after, &prop ) == Success ) &&
    (actual_type == XA_CARDINAL) &&
    (nitems == 1L) && (actual_format == 32) ) {
    current_info->x11.desktop.number = prop[0];
    if(prop) {
    XFree(prop);
    //Get all desktop names
    static inline void get_x11_desktop_names(Display *current_display, Window root, Atom atom)
    Atom actual_type;
    int actual_format;
    unsigned long nitems;
    unsigned long bytes_after;
    unsigned char *prop = NULL;
    struct information *current_info = &info;
    if (atom == None) return;
    if ( (XGetWindowProperty( current_display, root, atom,
    0, (~0L), False, ATOM(UTF8_STRING),
    &actual_type, &actual_format, &nitems,
    &bytes_after, &prop ) == Success ) &&
    (actual_type == ATOM(UTF8_STRING)) &&
    (nitems > 0L) && (actual_format == 8) ) {
    if(current_info->x11.desktop.all_names) {
    free(current_info->x11.desktop.all_names);
    current_info->x11.desktop.all_names = NULL;
    current_info->x11.desktop.all_names = malloc(nitems*sizeof(char));
    memcpy(current_info->x11.desktop.all_names, prop, nitems);
    current_info->x11.desktop.nitems = nitems;
    if(prop) {
    XFree(prop);
    //Get current desktop name
    static inline void get_x11_desktop_current_name(char *names)
    struct information *current_info = &info;
    unsigned int i = 0, j = 0;
    int k = 0;
    while ( i < current_info->x11.desktop.nitems ) {
    if ( names[i++] == '\0' ) {
    if ( ++k == current_info->x11.desktop.current ) {
    if (current_info->x11.desktop.name) {
    free(current_info->x11.desktop.name);
    current_info->x11.desktop.name = NULL;
    current_info->x11.desktop.name = malloc((i-j)*sizeof(char));
    //desktop names can be empty but should always be not null
    strcpy( current_info->x11.desktop.name, (char *)&names[j] );
    break;
    j = i;
    void get_x11_desktop_info(Display *current_display, Atom atom)
    Window root;
    static Atom atom_current, atom_number, atom_names;
    struct information *current_info = &info;
    XWindowAttributes window_attributes;
    root = RootWindow(current_display, current_info->x11.monitor.current);
    /* Check if we initialise else retrieve changed property */
    if (atom == 0) {
    atom_current = XInternAtom(current_display, "_NET_CURRENT_DESKTOP", True);
    atom_number = XInternAtom(current_display, "_NET_NUMBER_OF_DESKTOPS", True);
    atom_names = XInternAtom(current_display, "_NET_DESKTOP_NAMES", True);
    get_x11_desktop_current(current_display, root, atom_current);
    get_x11_desktop_number(current_display, root, atom_number);
    get_x11_desktop_names(current_display, root, atom_names);
    get_x11_desktop_current_name(current_info->x11.desktop.all_names);
    /* Set the PropertyChangeMask on the root window, if not set */
    XGetWindowAttributes(display, root, &window_attributes);
    if (!(window_attributes.your_event_mask & PropertyChangeMask)) {
    XSetWindowAttributes attributes;
    attributes.event_mask = window_attributes.your_event_mask | PropertyChangeMask;
    XChangeWindowAttributes(display, root, CWEventMask, &attributes);
    XGetWindowAttributes(display, root, &window_attributes);
    } else {
    if (atom == atom_current) {
    get_x11_desktop_current(current_display, root, atom_current);
    get_x11_desktop_current_name(current_info->x11.desktop.all_names);
    } else if (atom == atom_number) {
    get_x11_desktop_number(current_display, root, atom_number);
    } else if (atom == atom_names) {
    get_x11_desktop_names(current_display, root, atom_names);
    get_x11_desktop_current_name(current_info->x11.desktop.all_names);
    void update_x11info(void)
    struct information *current_info = &info;
    if (x_initialised != YES)
    return;
    current_info->x11.monitor.number = XScreenCount(display);
    current_info->x11.monitor.current = XDefaultScreen(display);
    #ifdef OWN_WINDOW
    /* reserve window manager space */
    void set_struts(int sidenum)
    Atom strut;
    if ((strut = ATOM(_NET_WM_STRUT)) != None) {
    /* reserve space at left, right, top, bottom */
    signed long sizes[12] = {0};
    int i;
    /* define strut depth */
    switch (sidenum) {
    case 0:
    /* left side */
    sizes[0] = window.x + window.width;
    break;
    case 1:
    /* right side */
    sizes[1] = display_width - window.x;
    break;
    case 2:
    /* top side */
    sizes[2] = window.y + window.height;
    break;
    case 3:
    /* bottom side */
    sizes[3] = display_height - window.y;
    break;
    /* define partial strut length */
    if (sidenum <= 1) {
    sizes[4 + (sidenum*2)] = window.y;
    sizes[5 + (sidenum*2)] = window.y + window.height;
    } else if (sidenum <= 3) {
    sizes[4 + (sidenum*2)] = window.x;
    sizes[5 + (sidenum*2)] = window.x + window.width;
    /* check constraints */
    for (i = 0; i < 12; i++) {
    if (sizes[i] < 0) {
    sizes[i] = 0;
    } else {
    if (i <= 1 || i >= 8) {
    if (sizes[i] > display_width) {
    sizes[i] = display_width;
    } else {
    if (sizes[i] > display_height) {
    sizes[i] = display_height;
    XChangeProperty(display, window.window, strut, XA_CARDINAL, 32,
    PropModeReplace, (unsigned char *) &sizes, 4);
    if ((strut = ATOM(_NET_WM_STRUT_PARTIAL)) != None) {
    XChangeProperty(display, window.window, strut, XA_CARDINAL, 32,
    PropModeReplace, (unsigned char *) &sizes, 12);
    #endif /* OWN_WINDOW */
    #ifdef HAVE_XDBE
    void xdbe_swap_buffers(void)
    if (use_xdbe) {
    XdbeSwapInfo swap;
    swap.swap_window = window.window;
    swap.swap_action = XdbeBackground;
    XdbeSwapBuffers(display, &swap, 1);
    #endif /* HAVE_XDBE */
    I guess this is one of the important bits:
    switch (window.type) {
    case TYPE_DESKTOP:
    prop = ATOM(_NET_WM_WINDOW_TYPE_DESKTOP);
    fprintf(stderr, PACKAGE_NAME": window type - desktop\n");
    fflush(stderr);
    break;
    Reading the NET_WM spec (which all major WMs use as the standard more or less) does not tell me anything meaningful (at least not for me ):
    _NET_WM_WINDOW_TYPE_DESKTOP indicates a desktop feature. This can include a single window containing desktop icons with the same dimensions as the screen, allowing the desktop environment to have full control of the desktop, without the need for proxying root window clicks.
    If anyone could tell me what to replace, that would be great .

    Hi lewisspindlove,
    Thanks for your input,
    it doesn't happen when i have my desktop in a "single picture" mode, and,
    it doesn't happen on other accounts, because besides mine(Admin), there is only
    the Guest account and this does not occur on that account.
    I tried your method of removing the wallpapers folder from Libary, then I
    noticed that the computer will select ANY image which I last used when in
    "single picture" mode, not "Change picture every 5mins" mode.
    For example, let's say I have a picture which I saved in the Documents folder,
    and I use that in "single picture" mode; after which I revert back to the folder which contains the pictures I want for "Change picture every 5mins" mode (which is stored somewhere else).
    If i go to the Login window & log back in again, the computer selects the picture
    I last used (the one in the Documents folder) as my background, BUT, after 5mins the picture changes to the ones I'm using for "Change picture every 5mins".
    I hope I'm not confusing everyone!
    This is a complicated & weird but ANNOYING problem!
    Any ideas if an Archive & Install would help? Does that erase all of my stored data on my HDD?

  • No virtual desktops in Win10 (please fix)?: Dangerous game promoting app switching on different displays as virtual desktops

    Seems virtual desktops are overpromoted - and in fact not about virtual desktops (changing content on the desktops). The socalled virtual desktops are right now
    no more than app switching on different displays.
    Dangerous game again from Microsoft promoting things as something they are not.
    Virtual desktops are already a well-defined concept - and people will expect the desktop to be able to change content (be dynamic) ... the data and launching programs for documents, different backgrounds.
    ... but as others may already have stated in other threads: (Right now) Windows 10 does not contain virtual desktops/displays/screens. Not at all.
    A skeptical hypothesis - hopefully it is not so, and we will be able to work with data in a valuable way. The data is on the desktop anyway today - so why not make it real virtual desktops? I simply do not understand the decision.
    So here comes the skeptical hypothesis - it's not a Steve thing. It's Microsoft still looking for that next revamped business model to finance their future.
    So the freak kind of virtual desktops (virtual desktops in Win10 a lie?) will disappoint - have already begun to do so - and seems Microsoft is just taken up with inserting an additional intermediary step towards relaunching the appstore and hiding
    all the user data in cloud again. Really, hiding the difference between data availability - not making the cloud something MORE but making the local system something LESS. The NEXT BIG thing? So we're going to loose file system, folders and the general ability
    to form concepts of our own - and get a freak system? The NEXT BIG thing - data integration? Because data was hidden away now. Also in local systems. Artificially creating new problems - rather than solving new interesting ones?
    We need to able to pin the data onto the display whether desktop, start screen, what ever. It's also on the feature requests. Desktops/Start Screen/Original displays for workflows/whatever actual starting points on login ... needs to have
    more links than application from appstores and application containers linked to them.
    If any more app (read: not cloud, data) but appstore, appstore, appstore
    application containers hiding the data away comes into the UI I am going with Linux. I am that close ...

    A better name would be Virtual Display Layouts ... Virtual Screens ... Virtual Start Screens (please let us be able to pin files/folders to the Start Screen, a requested voted for feature for Windows 10).
    You see, go back and read the topics for Windows 8 ... you will learn the Start Screen is/was the new desktop - and should have been made virtual.
    So please get your act together and stop confusing everything ... and make on coherent system. Drop the Start Screen - and go with the virtual desktop
    (put the Start Screen technology into the virtual desktop - and let users pin folders and files there as requested ... both local and in the cloud)

  • What licenses do I need to get a virtual desktop environment up and running?

    I’m trying to figure out what licenses I need to get a full Windows Virtual Desktop Infrastructure (VDI) up and running with the Remote Desktop Service (RDS) roles.
    I have Win.Server 2012 running Hyper-V, which has about 10 different virtual machines (VM) with either Win.7 or Win.8 installed on it. These VMs will act as virtual desktops (VD) for about 200 people to remotely access and use.
    My question is, what licenses do I need to support this scenario?
    So far, I’m planning to purchase a few Windows Server 2012 Standard Edition with 10 Client Access Licenses ( $1414.19 each). I’m assuming that’s 1 license for the server and 10 Client Access Licenses (CAL) for users who will access the VDs. I’m also planning
    to buy about 200 RDS CALs ($149 each) for the rest of the users to access the VDs. Do I need to buy additional licenses for each VM image I create (the 10 images I mentioned earlier)? These VMs are in a pooled virtual desktop collection, so they reset themselves
    when users disconnect from them. If I have personal desktop collections which give unique desktops to each user and saves their settings, will my license have to change if I have that too?
    At first I thought just buying the RDS CALs will allow me to install windows where ever I want, how many times I want and all I have to worry about is paying for the client access, but do I need to pay for the OS as well? So essentially I’m doubling the
    license?
    A side question not really related is, if I have Windows Thin PC, (which was said to come free if I have SA with another product)  and bought the Windows Server license, does that come with SA and I can install Windows Thin PC as many times as I want
    on which ever desktop I have that will connect to this VDI system?

    The 10 server licenses are fine, but they don't help you with VDI or remote desktops. I you want to install the Remote Desktop Session Host (formerly known as Terminal Server) role on all your servers und provide remote desktops for your 200 users, 200 RDS
    CALs are the right choice (per user or per device).
    But if your 200 users have access to virtual desktops, you need 200 VDI licenses. It doesn't matter if you only have 10 virtual desktops if potentially all your 200 users have access to them. VDI licensing is not based on a concurrent model, so every client
    that can connect to a VM needs its own license. If Windows 8 Enterprise with SA is on all your client devices, you're set because SA gives users access rights to up to 4 Win8 or Win7 VMs concurrently (local or remote). In addition
    it gives them a so-called companion subscription license for personally owned, non-primary devices.
    For those primary corporate devices that are without SA, you'll need to purchase a single VDA license for each device that connects to any number of your Win7 or Win8 VMs. The same applies to personally owned devices of users who don't have a primary
    corporate device with SA. In other words, BYOD is supported if your primary device is under SA.
    For neither VDI/SA nor VDA it does matter if users are connecting to different VM images or only one. Typically, they cannot connect to more than 4 VMs at the same time in order to stay within the licensing limits.
    Benny

  • Yosemite reverts to a certain virtual desktop on startup.

    I'm working on one of the 2008 iMacs and I recently upgraded to Yosemite after skipping Mavericks.
    What I immediately noticed when I had changed to a desired wallpaper, initially, is that on starting up, restarting, or logging back in the wallpaper would switch back to the grey solid wallpaper.
    I deleted that.
    It would then revert to the next solid coloured wallpaper (blue).
    What I did after this was create a new folder and put my own desktop wallpapers in it, and used that.
    When I started up again the next time, it reverted to one of the default yosemite picture wallpapers in 'pictures'. I had a look at the setup for the desktop setups. There were 32. I deleted all but 2 of the virtual desktops, and changed the desktop wallpaper to be identical on both.
    I restarted and, again, got the picture of the yellowy-purple yosemite.
    I inspected the virtual desktops. Only 'desktop 1' had changed.
    I changed the order, so now that Desktop 1 became Desktop 2  (and vice versa).
    I restarted.
    Again I was greeted by the yellowy-purple yosemite. Once again I inspected the virtual desktops. I found that OS X had started up on Desktop 2 (which used to be desktop 1) even though I had restarted on Desktop 1.
    I'm out of ideas...anyone else having this problem?

    1. If you log in automatically, a bug in some versions of OS X will cause the desktop picture to revert to the default image at every startup. The only known workaround is to disable automatic login in the Users & Groups preference pane.
    2. If the selected Desktop picture is stored in an iPhoto library on an external drive, export it from iPhoto and move it to a folder on the startup volume. (Credit for this solution to ASC member janay.)
    3. If the desktop picture always reverts to a plain blue background, one of your login items may be causing the problem. The "TeamViewer" application can have this effect; see this thread. If it's not that in your case, rule out all other third-party login items as possible causes.
    4. If you have a MacBook Pro with automatic graphics switching, disable it temporarily in the Energy Saver preference pane, set the Desktop picture, then restart the computer and re-enable graphics switching.
    5. If none of the above applies to you, proceed as follows.

  • Xfce4 virtual desktop configuration and possible alternatives

    I’ve been a satisfied xfce4 user for some time now, but my needs have recently changed.  In the past, I have used just a single Workspace/Desktop to meet my needs.  Now, however, I find myself needing several virtual Desktops to better organize my workflow.  For instance, I would like to have separate Desktops for different functions, such as: personal apps, business apps, utilities, remote desktop sessions, various VM’s, etc.
    I know xfce4 supports multiple “Workspaces”, but I am currently unable to get them setup the way that I would like.  For example: 
        Xfce4 session manager only seems to offer to save the session information from the first “Workspace”, meaning that I’ll have to start several apps in all the additional Workspaces manually after every restart of X.
        The xfce4 Panel doesn’t appear to be customizable for each individual Workspace.  I would like to have a different set of Launchers, Tray, and/or panel Widgets for different Workspaces if possible.   
        It would be convenient to have some Workspaces default to “tiled” and others to “floating” window presentation if possible, although this is of a lower priority to me.
    Is something like this possible with xfce4?  Maybe I can replace some xfce4 components with something else to obtain more functionality?  Maybe something else altogether?  Or, is this all just wishful thinking?
    I hate to abandon xfce4 (custom themes, configurations, comfort level, etc),.  But, I will if I can find a sufficient reason.  Any thoughts or recommendations appreciated!

    Hi ,
    Personally , there is no problem with your server , it is just a mechanism like Identity Columns of SQL .
    "Reuse of values – For a given identity property with specific seed/increment, the identity values are not reused by the engine. If a particular insert statement fails or if the insert statement is rolled back then the consumed
    identity values are lost and will not be generated again. This can result in gaps when the subsequent identity values are generated."
    Best Regards
    Elton Ji
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • SPLA & Virtual Desktops

    My goal here is to get feedback from other experts regarding Microsoft's current policy on Licensing Windows 7 as a virtual guest under SPLA licensing. 
    I am a consultant who encourages my small/medium business clients to seek out hosted remote office providers. In many cases, their core business applications do not work in Terminal server, Citrix, and PCoIP. There is a school of thought that virtually
    all of these problems can be overcome by modifications and workarounds, there are still some softwares that simply won't work. Also, sometimes the issue is not technical but rather licensing.  In summary, many software vendors simply won't provide support
    or allow for their software inside these environments. This is indisputable.  
    Nevertheless, many businesses that use "terminal unfriendly software" would still benefit immensely from a hosted virtual office solution.  One obvious option is to create virtual machines running an OS and configuration supported by the software vendor.
    This is less elegant, and less efficient (resource wise) than a simple terminal server configuration, however it would be supported which is critical.  It also carries several other advantages. 
    The bottom line is that Microsoft currently allows for this with windows licensing if the company does it in house. However, it specifically forbids that such a solution be hosted by a third party, as third party hosts are restricted specifically to the
    SPLA terms for virtualization hosting which is documented here.  
    http://download.microsoft.com/download/F/5/8/F58E786D-529D-438A-8625-4948205D8BA5/Windows_Hyper_V_Licensing_Whitepaper_v2_0.docx
    <quote>
    Scenario 5: Running Desktop Systems as Hyper-V Guests
    This scenario is currently not allowed under SPLA.
    </quote>
    Questions: 
    Does anyone else see the value in the virtual desktop model?
    Does anyone else see the value in having it hosted by a third party?
    Can anyone think of a reason why they would outright deny this functionality like this only for SPLA?
    Can anyone suggest a method for making a request to Microsoft to have this policy revisited?
    I understand that maybe it seems like a waste of time, and I do respect Microsoft's right to permit/deny the use of their software as they see fit. I just think they've specifically cut out a good idea and business model here, and basically said "If terminal
    server or citrix won't do it, then it won't be hosted in remote office (by a third party)".  I'd at least like to make my point and be heard. 
    Thanks for anyone who provides their opinion:
    -Jerry

    Below are copies of two emails l I sent in October 2010 to an individual at Microsoft who works directly with the Director of U.S. Licensing, who in turn reports to the VP of Operations that manages Volume Licensing for North America.  The ONLY response
    I've received to this and subsequent messages is that they're talking about it internally:
    <!-- [if gte mso 10]> <mce:style> <!-- [if gte mso 10]> <mce:style>
    October 2011:
    At the joint Microsoft/Citrix Virtualization Licensing webinar back on September 14, 2010, I asked about SPLA licensing for virtual Windows desktops hosted in an ITaaS model, and you said Microsoft has no plan on their licensing roadmap to provide for this. 
    You indicated in your brief response that you were unclear as to why this would be an issue. 
    It is, in fact, a critical and serious issue for ITaaS (HaaS/SaaS) providers – a business model that we are intent on implementing.  Please allow me to explain:
    At present, Microsoft SPLA licensing enables provider-hosted licensing for EVERY component of a Microsoft-centric SMB network environment
    EXCEPT the Windows desktop licenses .  VDA licensing (or Software Assurance added to Windows OEM, Retail or Open licenses) provides for CLIENT-OWNED VDI licensing, but
    makes no provision for provider-owned VDI licensing, and in fact, FORBIDS such licensing in a SPLA environment.   SPLA licensing forbids mixing with non-SPLA licensing, and yet no SPLA license EXISTS for virtual desktops.  Surely,
    you see how that leaves us stymied.                                       
    This is an impossible licensing disparity for ITaaS providers that leaves us, effectively “dead in the water.” 
    We can’t successfully implement a fully-hosted hardware/software environment WITHOUT virtual desktop licenses, yet Microsoft provides no way for us to implement such an environment WITH virtual desktop licenses!   If I’m missing
    something here, please let me know. 
    I understand that SPLA is the fastest-growing license category at Microsoft.  I can assure you that it would grow even faster if you make the rules consistent across your product line so that ITaaS providers aren’t having to figure out how to
    do magic in order to arrive at compliance with Microsoft’s arcane, self-contradictory licensing approach. 
    I and every other Microsoft Partner I’ve talked with about this (which is a sizeable number of Partners)
    are completely baffled by this situation , and we need some kind of intelligible response from Microsoft so we’ll know how to proceed .  This is now a pervasive topic of discussion among your Partners, so I hope
    you see it as important for Microsoft to address with something more than the “Here’s what you CAN’T do” responses we’ve gotten thus far.
    Here’s my question to you in a nutshell , and I would earnestly appreciate it if you would help me to get an answer from someone at Microsoft:                                                                                                                                                                                                    
    Does Microsoft have ANY license model or combination of license models that allows an ITaaS provider to do the following:
    1.     
    Host the Microsoft server-side products on equipment owned by the ITaaS provider
    (which is already straightforward to do with SPLA);
    2.     
    AND  AT THE SAME TIME, Host Windows Virtual Desktops and Microsoft Office running on equipment owned by the ITaaS provider.
    If not, is there any plan at Microsoft to make this possible.  And finally, if not, why not.
    I’m sending this follow-up to our emails from last week in an effort to further pin down some of the detail regarding the Microsoft licensing hurdles we’re encountering for fully-hosted ITaaS in Virtual Desktop environments.  If you can
    forward this internally in either HTML or Rich Text format, it’ll ensure that my colored highlighting is preserved (but I’m sure you already knew that!).
    I have no confidence that I’m reading and interpreting all the licensing requirements and restrictions exactly correctly, so I wanted to try to explain my own feeble understanding of those requirements and restrictions as they apply to the ITaaS scenario,
    and to let you and your team correct whatever I’m misunderstanding.
    But first, let me describe our objectives with regard to ITaaS
    – how this would work in a perfect world – so your team will understand as clearly as possible what we (and MANY other longstanding Microsoft Partners) are hoping to arrive at:                                                                          
    1.     
    We, the ITaaS provider, will own the server hardware infrastructure (a high-performance, highly-available server environment) and
    will locate the physical server-side equipment either at the client site (what we call Local Cloud Computing)
    or at an offsite data center .
    2.     
    We will “own” (be the license-holder for) all licensing for the Microsoft server operating systems and Microsoft server-side applications
    used by our customer’s end-users (e.g. Windows Server, SBS, Exchange, SQL,  SharePoint, etc.)
    and we will charge a predictable monthly fee to our customer for the use of this licensing . [I realize that software licensing isn’t technically “owned” by anyone other than the software creator, but allow me to use the term
    “own” for purposes of this discussion, so we’ll be clear about who holds the licenses.]
    3.     
    We will own all licensing for the Microsoft Desktop operating systems
    (e.g. Windows 7 Pro) and Microsoft client-side applications (e.g. Microsoft Office, etc.)
    and will charge a predictable monthly fee to the client for the use of these licenses.
    4.     
    We will host, and run on our server infrastructure, all the Desktop VMs accessed by our customer’s end-users .
    5.     
    The end-users will access the Desktop VMs hosted by us EITHER from existing PCs/laptops
    owned by the customer , OR from dedicated thin clients, PCs or laptops
    owned by us .   THIS IS WHERE IT GETS REALLY STICKY WITH MICROSOFT’S CURRENT LICENSING RESTRICTIONS, particularly SPLA restrictions about mixing license types in a given network environment.
    Over time, we expect that all existing PCs/laptops owned by the client will be replaced by thin clients, PCs and laptops
    owned by us , since the ultimate goal here is to convert everything to a hosted model.  But in the beginning, we expect that many of the desktop endpoints accessing hosted Desktop VMs will be PCs or laptops that are already in place and are
    owned by the end customer .  We can conceivably buy these existing devices from the client to arrive at a 100% provider-owned equipment model, but that will have some real challenges, especially where a given user’s primary device for accessing
    a VM is a handheld device (iPhone, iPAD, etc.) rather than a PC or laptop.  And it also creates an additional capital cost for us that will make it tougher to get an ITaaS approach in place.
    As I see it, a straightforward solution
    to the existing Microsoft Desktop VM licensing restrictions that would resolve all the issues above would be to create a true SPLA license for Desktop VMs, and to
    tie the SPLA VM license to the Desktop Virtual Machine itself rather than to a primary physical endpoint.  To my mind, what is making this whole thing
    so excessively complicated is Microsoft’s intransigent insistence on tying Desktop operating system licenses to PHYSICAL devices.
    Isn’t it time to truly open the door to a licensing approach that matches the reality of Virtualized operating systems by tying the OS licenses to the VMs?  Let the physical OSes (including
    embedded Windows for thin client terminals) be tied to the physical devices, and let the virtual OSes be tied to the VMs. 
    6.     
    We will provide comprehensive (all-in) managed services for our clients under this model, including troubleshooting and remediation, Help Desk, patch management, malware protection, and consulting.
    ALL of the above deliverables will be included as a predictable monthly fee to our customers .  Since Microsoft SPLA licensing includes constant eligibility for the latest versions of the Microsoft products (as well as downgrade
    rights for users that aren’t yet ready to move to latest versions), one of the huge business benefits to this ITaaS model will be “latest and greatest” versions of Microsoft product.  Because SPLA licensing and server/desktop virtualization
    make it so much easier to do software upgrades/migrations, we plan to also include labor for major version upgrades of Microsoft products within the monthly ITaaS fees paid to us by the customer.  We will also include scheduled hardware refreshes as part
    of the monthly fee paid to us by the customer under this model.
    That’s our vision – now we have to figure out how to make it work with Microsoft licensing, if at all possible.
    IF Microsoft allowed us to use SPLA for Windows 7 VMs accessed by desktop endpoints
    that WE OWN , that gives us one possible solution.  It would mean that if we want to let the end-users continue to use the PCs/laptops they currently have in place for accessing the Desktop VMs we’re hosting on our servers,
    we would have to BUY all of those end-customer’s user endpoints (PCs and laptops) in order to be able to be covered by SPLA for the VMs accessed by those machines.  That creates a financial hurdle in terms of our capital costs to
    implement ITaaS, but it’s not necessarily insurmountable.
    However, the problem with that scenario is that SPLA licensing presently
    includes specific prohibitions against MIXING SPLA licensing with other licensing models in the same environment
    .  So even if we DO BUY ALL the customer’s endpoint equipment AND we provide and own all the server equipment, we STILL can’t use SPLA licensing if there’s
    any other license type installed on any equipment in the environment.   This appears to be what the SPLA licensing says at this point, to the extent that I can understand it.  I’m anxious to be told that I have this wrong!  
    Again, it seems to me that ONE MODIFICATION would solve a multitude of different complications : 
    In effect, TIE THE DESKTOP WINDOWS VM LICENSE TO THE VM ITSELF, not to the endpoint device
    .   Since existing VDA licensing ALREADY allows for unlimited secondary endpoints (e.g. PDAs, traveling laptops, kiosks, etc.) to access a given VM, I don’t see where it materially
    changes the “spirit” of the licensing if you create a SPLA VM license and tie that license to the hosted VM itself rather than to the  primary physical endpoint.
    As things stand right now, this much is clear:  Microsoft currently
    considers the Desktop VM license to be tied to the primary physical
    ENDPOINT (Desktop device), NOT to the VM running on the server
    .  So the only way we can possibly use SPLA for Windows Desktop VMs is if WE OWN the actual Desktop devices along with all other Microsoft endpoints that run any version of Windows, Office, or any other MS software. 
    Again, I’m more than willing to be proven wrong about my assessment of the hurdles involved with Microsoft’s existing licensing options for hosted Desktop VMs!
    I remain hopeful that you’ll be able to get the right people involved at MS to identify one or more workable approaches for implementing a comprehensive ITaaS model, and if necessary, to modify SPLA licensing as it applies to hosted Desktop VMs so
    that it is simpler and more viable for ITaaS providers to cover all the bases.
    Please keep me posted on what you hear from your team.
    And thanks again so much for your assistance!

  • Virtual desktops

    I have got two questions about gnome virtual desktops.
    Is it possible to have every application in the application bar anyway, even if they are in different desktop? The same for Alt-Tab, is it possible to make the application switcher switch between applications in different desktops?
    The second thing is more about compiz. I have the expo plugin activated, and it displays every desktop in a single row. Is it possible to make it display the desktops two 2 elements rows?
    Thanks,
    Francesco

    katzen wrote:
    hBd wrote:
    katzen wrote:
    I have got two questions about gnome virtual desktops.
    Is it possible to have every application in the application bar anyway, even if they are in different desktop?
    Yes. Window List (Right Click aka properties ) -> Preferences -> Show Windows From all Workspaces
    u cant alt + tab
    the compiz stuff aint know, coz i use just a few thing, and expo is not the one of them
    Thanks, but I can't find this menu...
    In system->preferences->windows there is no such menu
    Right click on the windows list (i.e. the taskbar) and click preferences.

  • How to set printer margins if using a lot of printers in virtual desktops which are deleted each time users logs off

    Hello,
    i am using Firefox version 31. I have a problem with page setup margins. I need to use left
    30mm; right 10mm; top 20mm; bottom 20mm. I am using VMware floating assignemnt linked clones
    virtual desktops. After users log off - machines are deleted and users next time logs on get's brand
    new VDI's. Users gets printers to VDI using login script from Active Directory.
    Option Explicit
    Dim strPrinterUNC, objNetwork
    strPrinterUNC = "\\some_server\printer_number_1"
    Set objNetwork = CreateObject("WScript.Network")
    objNetwork.AddWindowsPrinterConnection strPrinterUNC
    WScript.Sleep (20000)
    objNetwork.SetDefaultPrinter strPrinterUNC
    Set objNetwork = Nothing
    Each user have different logon script, because they use different printers (different printer names e.g. \\some_server\printer_number_2 ; \\some_server\printer_number_3 and etc. Page setup margins in Internet Explorer are ok. But how to make Firefox page setup margins as i need? For other options i have
    used CCK2 Wizard 2.0.4 tool. It worked fine. Maybe i can put some information in C:\Program
    Files\Mozilla Firefox\defaults\pref\autoconfig.js I have some usefull data in it allready. I
    have found info that: "Setting print margins is done in the printer settings". I have a lot of
    printers, so i can not set printer margins individualy for each of them. Now mozilla shows top,
    bottom, right, left each 12.7 mm. What should i do if i have a lot of printers in enterprise
    environment?

    Firefox has a profile folder that has preferences to save this. But the config that would need to be changed is:
    print. save_print_settings = True - (default): Save the print settings after each print job
    Locking that preference: [http://kb.mozillazine.org/Locking_preferences]
    Or done manually:
    #In order to check the margins, we need to go to ''File'' > ''Page Setup''.
    #Once this is done, switch to the ''Margins & Header/Footer'' tab.
    #Check what's set there under ''Margins''.
    The following are the default values for ''Margins'':
    Check these values accordingly and change them if necessary.

  • No RemoteApp, No Virtual Desktop, I just need a connection to computers to work

    I am supporting someone who has changed from an SBS 2003 computer to Server 2008 R2 Standard and they want the same functionality that they had with Remote Web Workplace, which is supposed to be doable with RD Web. They don't need RemoteApps and have no
    interest in Virtual Desktops. However I just haven't been able to get it up and running and I can't find anything on TechNet or anywhere else that helps since he needs what is considered a non-standard installation. It's a small office. They can't justify
    a second computer and don't want to add memory and disk space to make it possible to run a VM, though the
    main problem is that they can't live with the downtime it would take for the conversion. For that reason, though Microsoft hates the idea, it needs to work on a DC. Between that and the singular focus Microsoft apparently has on RemoteApps
    and Virtual Desktops there is very little anywhere on my problem.
    I can get to the RD web web page just fine. An RDP on the RemoteApp page will take me to the server just fine. A remote connection on a Windows 7 client outside of the office lets me connect to the server. But if I choose the Remote Desktop tab on the web
    page and enter a computer name that I know is configured to allow remote access and is up and running it will try to connect for a while and then pop up with the (in)famous "Remote Desktop can't connect to the remote computer for one of these reasons:"
    message. What's really strange is that this happens even if I enter the server name, the same computer that I successfully connect to using two other methods. I also notice that the resources available to the Windows 7 client that is successfully connecting
    to the server only lists 1 desktop.
    In addition I keep getting this warning popping up even though I do have the correct server configured as running the RemoteApp service because since I'm only running the one server I'm not running the RD connection broker.
    "RD Web Access was unable to contact <servername>, which is the server that is specified as running the RemoteApp and Desktop Connection Management service. Ensure that the name of the server that is specified as running the RemoteApp
    and Desktop Connection Management service is entered correctly, and that the server is running and available on the network. Error code: 1722."
    I've been working on this for many days now and just can't get this working.

    The RD Web Access server and the RD Session Host server are the same computer. The source specified is the internal FQDN name of the server
    computername.domain_name.local. I also tried setting it to localhost since it is on the same server and it made no difference. Reading the article you linked to I see that everything on there I have checked and the server is configured properly.
    The Remote Desktop Services role is installed with the Remote Desktop Session Host, Remote Desktop Licensing, Remote Desktop Gateway and Remote Desktop Web Access role services installed.
    The Best Practices Analyzer keeps showing that the RD Gateway server is not configured to use a valid SSL certificate even though I do have a third party SSL certificate properly installed. It also says that the Remote Desktop Users group on the RD Session
    Host server needs to contain domain users even though it already does have them.
    As I said in my original post it seems very strange that I can successfully connect to the server using two different methods but the method of going to the Remote Desktop tab on the RD Web main page and entering the server name doesn't work.

  • Looking to Set Up Multiple Virtual Desktops

    Hi, I'm a newb looking to set up multiple virtual desktops for my employees. What would be the best windows image to use and how do I install Chrome onto the machines?

    Hi Shru84;
    Welcome to Azure.  Azure Virtual Machine as the name suggest are Virtual Server which function as your regular server but does not have a physical presence but is hosted on Azure Platform.
    We have a variety of OS flavors, there is nothing which is good or bad, its more of a question of your requirement.  Please note that the desktop Version of Windows 7/ 8
    are at the moment only available for MSDN subscriber.
    As for Chrome Installation its the same as installing it on a regular machine, that is opening up a web browser, loggin into chrome download site and installing it. ( http://www.google.com/chrome/ )
    Here is an example:
    his tutorial shows you how easy it is to create an Azure virtual machine (VM). This tutorial uses a Windows Server image, but that's only one of the many images available through Azure. This includes Windows operating systems, Linux-based operating systems,
    and images with installed applications. The images you can choose from depend on the type of subscription you have. For example, desktop images may be available to MSDN subscribers.
    You can also create Windows VMs using
    your own images as templates. To learn more about Azure VMs, see
    Overview of Azure Virtual Machines.
    NOTE:
    You need an Azure account to complete this tutorial:
    You can
    open an Azure account for free: You get credits you can use to try out paid Azure services, and even after they're used up you can keep the account and use free Azure services, such as Websites. Your credit card will never be charged, unless you explicitly
    change your settings and ask to be charged.
    You can
    activate MSDN subscriber benefits: Your MSDN subscription gives you credits every month that you can use for paid Azure services.
    How to create the virtual machine
    This section shows you how to use the From Gallery option in the Management Portal to create the virtual machine. This option provides more configuration choices than the
    Quick Create option. For example, if you want to join a virtual machine to a virtual network, you'll need to use the
    From Gallery option.
    NOTE:
    You can also try the richer, customizable Azure Preview Portal to create a virtual machine, automate the deployment of multi-VM application templates, use enhanced VM monitoring and diagnostics features, and more. The
    available VM configuration options in the two portals overlap substantially but aren't identical.
    Sign in to the Azure Management Portal. Check out the
    Free Trial offer if you don't have a subscription yet.
    On the command bar at the bottom of the window, click New.
    Under Compute, click Virtual Machine, and then click
    From Gallery.
    The first screen lets you Choose an Image for your virtual machine from one of the lists in the Image Gallery. (The available images may differ depending on the subscription you're using.) Click the arrow to continue.
    The second screen lets you pick a computer name, size, and administrative user name and password. If you just want to try out Azure Virtual Machines, fill in the fields as shown in the image below. Otherwise, chose the tier and size required to run your
    app or workload. Here are some details to help you fill this out:
    New User Name refers to the administrative account that you use to manage the server. Create a unique password for this account and make sure to remember it.
    You'll need the user name and password to log on to the virtual machine.
    A virtual machine's size affects the cost of using it, as well as configuration options such as the number of data disks you can attach. For details, see
    Virtual Machine and Cloud Service Sizes for Azure.
    The third screen lets you configure resources for networking, storage, and availability. Here are some details to help you fill this out:
    The Cloud Service DNS Name is the global DNS name that becomes part of the URI that's used to contact the virtual machine. You'll need to come up with your own cloud service name because it must be unique in Azure. Cloud services are important
    for scenarios using
    multiple virtual machines.
    For Region/Affinity Group/Virtual Network, use a region that's appropriate to your location. You can also choose to specify a virtual network instead.
    NOTE:
    If you want a virtual machine to use a virtual network, you must specify the virtual network when you create the virtual machine. You can't join the virtual machine to a virtual network after you create the VM. For more information, see
    Azure Virtual Network Overview. - For details about configuring endpoints, see
    How to Set Up Endpoints to a Virtual Machine.
    The fourth configuration screen lets you configure the VM Agent and some of the available extensions. Click the check mark to create the virtual machine.
    NOTE:
    The VM agent provides the environment for you to install extensions that can help you interact with or manage the virtual machine. For details, see
    Using Extensions.
    After the virtual machine is created, the Management Portal lists the new virtual machine under
    Virtual Machines. The corresponding cloud service and storage account also are created and are listed in those sections. Both the virtual machine and cloud service are started automatically and the Management Portal shows their status as
    Running.
    Click Virtual Machines, and then select the appropriate virtual machine.
    On the command bar, click Connect.
    Click Open to use the Remote Desktop Protocol file that's automatically created for the virtual machine.
    Click Connect to continue.
    Type the credentials for the administrative account on the virtual machine, and then click
    OK.
    TIP:
    In most cases, you'll use the user name and password that was specified when the virtual machine was created. Check the user name to make sure it has the correct domain information:
    If the VM belongs to a domain at your organization, make sure the user name includes the name of that domain.
    If the VM doesn't belong to a domain, either remove any domain information by starting the line with '\' or use the VM name as the domain name. For example,
    \MyUserName or MyTestVM\MyUserName.
    If the VM is a domain controller, type the user name and password of a domain administrator account for that domain.
    Click Yes to verify the identity of the virtual machine.
    You can now work with the virtual machine remotely.
    Regards;
    Prasant

  • Having problems us ng my ipod 7g Nike Fitness.  When running when I press the button between the volume buttons, I get a different action almost every time.

    I am having problems using my ipod 7g with Nike Fitness.  When running when I press the button between the volume buttons, I get a different action almost every time. And usually I end up either turrning volume up very high or ending the workout. I need to be able to pause workout, and get spoken feedback regarding time, distance, and pace, that's all. I'm using a Griffin brand armband, that covers all of the buttons.  I've read the online manual.  no help.  I'm just about ready to return it and go back to my 5th gen with its smaller song capacity and no blurry.  Any help or suggestions very welcome.

    Jeff:
    I have had both good and bad experiences with Acronis True Image. I got the recent copy of ATI via a Newegg.com bundle. I haven't tried it yet on any Windows 7 editing systems. ATI installs some services that I would rather not have running in the background.
    What made you change from ATI to ShadowProtect Desktop Edition?
    Are you running Windows 7?
    What do you see as advantages to running ShadowProtect Desktop Edition as opposed to Acronis True Image?
    Thanks

  • Mountain Lion bug:  Switching between virtual desktops not possible when using external screen only.

    I think I have found a bug.  I upgraded to Mountain Lion last week, 2 days after ML became available.  My laptop is a Macbook Pro from November 2011.  I ran Lion before and I did an upgrade on my laptop (not reinstall, but upgrade).
    I have an external HP screen (24 inch) connected using DVI (standard connection). I also have an external Apple keyboard (bluetooth) and the external trackpad (bluetooth). I concider myself as a power user with long experience.  I started using multiple desktops in Snow Leopard, and really liked the "4 finger swipe up" that came in Lion.  By swiping 4 fingers up on the trackpad, I can see all "virtual desktops" on the top of the screen and select or more applications to the different screens.
    This function does still work, but when I put the Macbook pro in "clamshell mode" (meaning the lid is locked and I am ONLY using the external screen), then this does not work.  When I do the gesture (4 finger swipe up), the virtual desktops on top of the screen are not shown. 
    But if I open the Mac and then having 2 active screens, both the internal LCD on the Macbook Pro and the external HP screen, it works again.  It does not matter which screen the "Finder many" is active on.
    Picture below show how it is supposed to work.  And it still works if no external screen is connected or if the external screen connected but the lid on the Mac is still open (not clamshell mode).
    This is how it looks on the external screen when I do the "4 finger swipe up" and the Macbook Pro is in clamshell mode (lid down).  Please also note how the background image is not minimized in the same way as before.
    Have any other experienced the same problem ?  Where do I report this to Apple ?  Any e-mail or WEB pages where I can report bugs ?

    As an update, I tried switching the main display to the MBP. Nothing changed.
    However, I changed the rotation to 90 degrees and everything is back to Normal! Aside from the fact that I'm looking a 24" screen in the vertical position.

  • VMWare View or Sun Virtual Desktop Access Kit?

    Hello Everybody,
    I'm in the process of deciding which way to go with the back-end of a new Sun Ray deployment and would appreciate any input. I already have a VMWare VI3 farm in place for servers so I'm familiar with this sort of technology.
    I have looked into the functionality of VMWare View and it's VM recycling looks really good.
    I've also seen that Sun have the Virtual Desktop Access Kit which appears, on the surface, to do much the same but without a few of the twiddly bits.
    Is there any reason why I should/shouldn't use one over the other (other than cost!)? - particularly since I can't find any reference to the Sun VDA Kit anywhere on the UK site (is it still used or is it now included in the VDI 3 software?).
    Many thanks.
    Chris

    Angus,
    To be clear on your second question. Sun Ray Technology is a thin client (Appliance) access option for Sun VDI. It is not used as a desktop provider, but as a method to display and interact with a VDI hosted desktop on a Sun Ray Appliance. One big benefit of the Sun Ray Server as a access tier is it can use client code on the server for different connection options (I call these plugins for different services based upon a user's profile) such as VDI Desktops (Virtual Machines Instances on VBox, VMware, Hyper-V), Traditonal Solaris and Linux Multi-user Server Based Computing, Citrix Services, Mainframe emulation, a browser as Kiosk applications for locked down displays, and much more.
    In the Sun Ray world there are many desktop provider options available beyond just VDI hosted desktop.
    Jeff

Maybe you are looking for