Bare Window Manager (ex-MMWM)

Working at this for a day now.
Basically it's a full screen window manager aimed to those who spend their day cycling through windows instead of having 10 onscreen at a time. It's a dumbed down version of Ratpoison's default behaviour (really dumbed down..I don't expect anyone to use it as a fulltime WM anytime soon).
For people who only use GNU Screen, Firefox  and/or Emacs all day long(like me), it could prove quite useful.
Not sure if this will ever have any type of tiling..I might make it work with some predefined layouts but not sure.
For now I'm concentrating on cleaning it a bit, adding window by number selection(right now you can only cycle through them with MOD+Tab) and I need to get it to ignore DOCK type applications(eg trays and whatnot).
Also a messaging system of some sort is a must.
So far it has keys to:
- pop a new terminal
- kill selected window
- cycle through windows
- pop a launcher menu (using dmenu by default)
- show a list of windows (working, but needs some enhancement)
Configurable options:
- launcher menu to run
- terminal to run
- font
- window list fg/bg color/selected window fg color/
- screen padding(how much space to leave unmanaged on all sides of the screen - you can see a 16 pixel gap on top of the screenie)
- window list position (one of the four corners)
Will post code as soon as I think it deserves sharing, for now here's a little "teaser"
Last edited by Wra!th (2009-05-29 05:53:02)

And a first release.
I'm still working hard on this so let me know what bugs you find etc.
I agree this can't compete to any WM's on the "market" but I enjoy working on it, and I use it as I type.
I changed a lot from the first draft so at places I may have forgotten to clean stuff up, working on that now.
Also writing a "normal" window killing routine..right now it's really violent.
keys:
MOD is Mod4 (left windows key) by default
MOD + t - spawn terminal
MOD + w - window list
MOD + s - enter select window by number mode
MOD + q - kill window
MOD + m - spawn dmenu
MOD + p - select previous window
MOD + n - select next window
mmwm.c
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <X11/keysym.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include "conf.h"
#define DEBUG 0
Display * display;
Window root;
Screen *screen;
int SCREEN_WIDTH;
int SCREEN_HEIGHT;
GC MMWM_GC, MMWM_SELECTED_GC;
Colormap MMWM_colormap = None;
XFontStruct * fontstruct;
Bool input = False;
Window input_window;
static char input_text[256];
#define max_windows 999
Window windows_container[max_windows];
Window selected;
char window_select_prompt[] = "Jump to window - ";
void main_loop();
GC MMWM_Colors(char *FG, char *BG);
void handle_keypress_event(XEvent *e);
void handle_maprequest_event(XEvent *e);
void handle_configure_event(XEvent *e);
void handle_destroy_event(XEvent *e);
void handle_expose_event(XEvent *e);
int handle_x_error(Display *display, XErrorEvent *e);
void handle_property_event(XEvent *e);
int init_gc();
void spawn(const char *cmd);
ulong name2color(const char *id);
void LOG(const char *text, ...);
void LOG_DEBUG(const char *text, ...);
void list_windows();
int get_free_position();
int free_position(Window window);
int get_position(Window window);
int select_window(int window);
void grab_keyboard();
int get_prev_window();
int get_next_window();
void LOG(const char *text, ...)
va_list vl;
va_start(vl, text);
vfprintf(stderr, text, vl);
va_end(vl);
void LOG_DEBUG(const char *text, ...)
if(DEBUG == 1){
va_list vl;
va_start(vl, text);
vfprintf(stderr, text, vl);
va_end(vl);
void spawn(const char *cmd)
if(fork() == 0) {
if(display) close(ConnectionNumber(display));
setsid();
execl("/bin/sh", "/bin/sh", "-c", cmd, (char *)NULL);
int TextWidth(XFontStruct *fs, const char *text)
if(strlen(text) >= 1 && text != NULL) {
return XTextWidth(fs, text, strlen(text));
} else {
return 1;
int TextHeight(XFontStruct *fs) {
return fs->ascent + fs->descent;
ulong name2color(const char *cid)
XColor tmpcol;
if(!XParseColor(display, MMWM_colormap, cid, &tmpcol)) {
LOG("Cannot allocate \"%s\" color. Defaulting to black!\n", cid);
return BlackPixel(display, XDefaultScreen(display));
if(!XAllocColor(display, MMWM_colormap, &tmpcol)) {
LOG("Cannot allocate \"%s\" color. Defaulting to black!\n", cid);
return BlackPixel(display, XDefaultScreen(display));
return tmpcol.pixel;
int init_gc()
XGCValues gcv;
gcv.font = fontstruct->fid;
gcv.foreground = name2color(FGCOLOR);
gcv.background = name2color(BGCOLOR);
gcv.function = GXcopy;
gcv.subwindow_mode = IncludeInferiors;
gcv.line_width = 1;
MMWM_GC = XCreateGC(display, root, GCForeground | GCBackground | GCFunction | GCLineWidth | GCSubwindowMode | GCFont, &gcv);
gcv.foreground = name2color(SELFGCOLOR);
MMWM_SELECTED_GC = XCreateGC(display, root, GCForeground | GCBackground | GCFunction | GCLineWidth | GCSubwindowMode | GCFont, &gcv);
return 0;
int get_prev_window()
int x;
for(x = get_position(selected) - 1; x >= 0; x--)
if(windows_container[x] != None)
LOG_DEBUG("Found previous window at: %d\n", x);
return x;
return -1;
int get_next_window()
int x;
for(x = get_position(selected) + 1; x < max_windows; x++)
if(windows_container[x] != None)
LOG_DEBUG("Found next window at: %d\n", x);
return x;
return -1;
void grab_keyboard()
XGrabKey(display, XKeysymToKeycode (display, KEY_WINLIST), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_SELECT), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_TERMINAL), MOD_MASK, root, True,GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_KILL), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_MENU), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_NEXT), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
XGrabKey(display, XKeysymToKeycode (display, KEY_PREV), MOD_MASK, root, True, GrabModeAsync, GrabModeAsync);
void create_input_box()
char tmp[256];
sprintf(tmp, "%s ", window_select_prompt);
input_window = XCreateSimpleWindow(display, root, 0, 0, TextWidth(fontstruct, tmp) + (INPUTPADDING *2), TextHeight(fontstruct) + INPUTPADDING, 0, name2color(FGCOLOR), name2color(BGCOLOR));
XMapWindow(display, input_window);
XDrawString(display, input_window, MMWM_GC, INPUTPADDING , 0 + TextHeight(fontstruct) - fontstruct->max_bounds.descent + (INPUTPADDING / 2), window_select_prompt, strlen(window_select_prompt));
XGrabKey(display, AnyKey, AnyModifier, root, True, GrabModeAsync, GrabModeAsync);
void update_input_box()
XClearWindow(display, input_window);
XDrawString(display, input_window, MMWM_GC, INPUTPADDING , 0 + TextHeight(fontstruct) - fontstruct->max_bounds.descent + (INPUTPADDING / 2), window_select_prompt, strlen(window_select_prompt));
XDrawString(display, input_window, MMWM_GC, INPUTPADDING + TextWidth(fontstruct, window_select_prompt), 0 + TextHeight(fontstruct) - fontstruct->max_bounds.descent + (INPUTPADDING / 2), input_text, strlen(input_text));
void handle_keypress_event(XEvent * e)
XKeyEvent keyevent = e->xkey;
KeySym key = XKeycodeToKeysym(display, keyevent.keycode, 0);
KeySym ksym;
char tmp[32];
int count, input_length;
if(!input)
switch (XLookupKeysym(&keyevent, 0))
case KEY_SELECT:
input = True;
create_input_box();
break;
case KEY_TERMINAL:
spawn(TERMINAL);
break;
case KEY_MENU:
spawn(MENU);
break;
case KEY_WINLIST:
if(TIMEOUT > 0)
list_windows();
break;
case KEY_KILL:
XDestroyWindow(display, selected);
break;
case KEY_PREV:
select_window(get_prev_window());
break;
case KEY_NEXT:
select_window(get_next_window());
break;
} else {
if(key == XK_Return || key == XK_KP_Enter)
if(atoi(input_text) || atoi(input_text) == 0) select_window(atoi(input_text));
input = False;
input_text[0] = 0;
XDestroyWindow(display, input_window);
XUngrabKey(display, AnyKey, AnyModifier, root);
grab_keyboard();
return;
input_length = strlen(input_text);
if(key != XK_BackSpace && key != XK_Delete && key != XK_KP_Delete)
if(input_length < 3)
tmp[0] = 0;
count = XLookupString(&e->xkey, tmp, sizeof(tmp), &ksym, NULL);
tmp[count] = 0;
strncpy(input_text + input_length, tmp, sizeof(input_text) - input_length);
update_input_box();
} else {
if(input_length > 0)
input_text[strlen(input_text) - 1] = 0;
update_input_box();
void list_windows()
int th,ypos;
th = TextHeight(fontstruct);
ypos = 0 + th - fontstruct->max_bounds.descent;
Window WINDOW_LIST_WINDOW = None;
char *tmp;
char title[256];
int x;
int number = 0;
int max_title = 0;
XWindowAttributes winattr;
Window root_return;
int char_width = TextWidth(fontstruct, " ");
for (x = 0; x< max_windows; x++)
if(windows_container[x] != None)
if(!XGetWindowAttributes(display, windows_container[x], &winattr) || winattr.override_redirect || XGetTransientForHint(display, windows_container[x], &root_return)) continue;
if(winattr.map_state == IsViewable)
if(XFetchName(display, windows_container[x], &tmp))
number++;
if(windows_container[x] == selected)
sprintf(title, "%d - %s", get_position(windows_container[x]), tmp);
} else {
sprintf(title, "%d - %s", get_position(windows_container[x]), tmp);
if(strlen(title) > max_title) max_title = strlen(title);
title[0] = 0;
int win_width = max_title * char_width + WLISTPADDING*2;
switch(WLISTPOS)
case 0:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, PADDING_WEST, PADDING_NORTH, win_width, number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
case 1:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, 0 + SCREEN_WIDTH - PADDING_EAST - win_width, PADDING_NORTH, win_width, number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
case 2:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, 0 + SCREEN_WIDTH - PADDING_EAST - win_width, 0 + SCREEN_HEIGHT - PADDING_SOUTH - (number * th),win_width,number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
case 3:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, PADDING_WEST, 0 + SCREEN_HEIGHT - PADDING_SOUTH - (number * th),win_width,number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
case 4:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, (SCREEN_WIDTH / 2) - (win_width / 2), (SCREEN_HEIGHT / 2) - ((number * th) / 2),win_width,number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
default:
WINDOW_LIST_WINDOW = XCreateSimpleWindow(display, root, PADDING_WEST, PADDING_NORTH, win_width, number * th, 0, name2color(FGCOLOR), name2color(BGCOLOR));
break;
XMapRaised(display, WINDOW_LIST_WINDOW);
for (x = 0; x< max_windows; x++)
if(windows_container[x] != None)
if(!XGetWindowAttributes(display, windows_container[x], &winattr) || winattr.override_redirect || XGetTransientForHint(display, windows_container[x], &root_return)) continue;
if(winattr.map_state == IsViewable)
if(XFetchName(display, windows_container[x], &tmp))
if(windows_container[x] == selected)
sprintf(title, "%d - %s", get_position(windows_container[x]), tmp);
XFillRectangle(display, WINDOW_LIST_WINDOW, MMWM_SELECTED_GC, 0, ypos - th + fontstruct->max_bounds.descent, win_width, th);
XDrawString(display, WINDOW_LIST_WINDOW, MMWM_GC, WLISTPADDING, ypos, title, strlen(title));
ypos+=th;
} else {
sprintf(title, "%d - %s", get_position(windows_container[x]), tmp);
XDrawString(display, WINDOW_LIST_WINDOW, MMWM_GC, WLISTPADDING, ypos, title, strlen(title));
ypos+=th;
title[0] = 0;
XFlush(display);
sleep(TIMEOUT);
XFlush(display);
if(WINDOW_LIST_WINDOW)
XDestroyWindow(display, WINDOW_LIST_WINDOW);
int select_window(int window)
if(windows_container[window] != None)
LOG_DEBUG("Selecting window at position: %d\n", window);
XRaiseWindow(display, windows_container[window]);
XSetInputFocus(display, windows_container[window], RevertToParent, CurrentTime);
selected = windows_container[window];
return 0;
} else {
return -1;
int get_free_position()
int x;
for(x = 0; x < max_windows; x++)
if(windows_container[x] == None)
LOG_DEBUG("Asigning position: %d\n", x);
return x;
return -1;
int get_position(Window window)
int x;
for(x = 0; x < max_windows; x++)
if(windows_container[x] == window)
LOG_DEBUG("Window has position: %d\n", x);
return x;
return -1;
int free_position(Window window)
int x;
for(x = 0; x < max_windows; x++)
if(windows_container[x] == window)
LOG_DEBUG("Freeing position: %d\n", x);
windows_container[x] = None;
return 1;
void handle_maprequest_event(XEvent *e)
XMapWindow(display, e->xmaprequest.window);
XMoveResizeWindow(display, e->xmaprequest.window, PADDING_WEST, PADDING_NORTH, SCREEN_WIDTH - PADDING_WEST - PADDING_EAST, SCREEN_HEIGHT - PADDING_NORTH - PADDING_SOUTH);
XRaiseWindow(display, e->xmaprequest.window);
XSetInputFocus(display, e->xmaprequest.window,RevertToParent, CurrentTime);
selected = e->xmaprequest.window;
windows_container[get_free_position()] = selected;
void handle_destroy_event(XEvent *e)
free_position(e->xdestroywindow.window);
XDestroyWindow(display, e->xdestroywindow.window);
void handle_configure_event(XEvent *e)
e->xconfigurerequest.type = ConfigureNotify;
e->xconfigurerequest.x = 0;
e->xconfigurerequest.y = 0;
e->xconfigurerequest.width = SCREEN_WIDTH;
e->xconfigurerequest.height = SCREEN_HEIGHT;
e->xconfigurerequest.window = e->xconfigure.window;
e->xconfigurerequest.border_width = 0;
e->xconfigurerequest.above = None;
XSendEvent(display, e->xconfigurerequest.window, False, StructureNotifyMask, (XEvent*)&e->xconfigurerequest);
void handle_expose_event(XEvent *e)
// Redraw stuff in here...window title etc
// Not handled yet but I'ma add it here for future dev
void handle_property_event(XEvent *e)
// In case properties like name etc change ... handle them in here
// Not handled yet but I'ma add it here for future dev
int handle_x_error(Display *display, XErrorEvent *e)
LOG_DEBUG("Xevent error: %d\n", e->error_code);
LOG_DEBUG("Operation: %d\n", e->request_code);
LOG_DEBUG("Resource: %lu (0x%lx)\n", e->resourceid, e->resourceid);
return 0;
void main_loop()
XEvent event;
XSetErrorHandler(handle_x_error); //Ignore X errors otherwise the WM would crash every other minute :)
while(1){
XNextEvent(display, &event);
switch(event.type){
case KeyPress:
handle_keypress_event(&event);
break;
case MapRequest:
handle_maprequest_event(&event);
break;
case DestroyNotify:
handle_destroy_event(&event);
break;
case ConfigureNotify:
handle_configure_event(&event);
break;
case Expose:
handle_expose_event(&event);
break;
case PropertyNotify:
handle_property_event(&event);
break;
default:
LOG_DEBUG("Received an unhandled event: %d\n", event.type);
break;
int main(int argc, char *argv[])
if(!(display = XOpenDisplay(DISPLAY))){
LOG("MMWM: cannot open display! Ending session.\n");
return -1;
if((root = DefaultRootWindow(display)))
XSetWindowBackground(display, root, BlackPixel(display, XDefaultScreen(display)));
XClearWindow(display, root);
} else {
LOG("MMWM: cannot get root window! Ending session.\n");
return -1;
if((screen = DefaultScreenOfDisplay(display)))
SCREEN_WIDTH = XWidthOfScreen(screen);
SCREEN_HEIGHT = XHeightOfScreen(screen);
LOG("Screen: %d x %d\n", SCREEN_WIDTH, SCREEN_HEIGHT);
} else {
LOG("MMWM: cannot get screen! Ending session.\n");
return -1;
fontstruct = XLoadQueryFont(display, FONT);
if (!fontstruct) {
LOG("Couldn't find font \"%s\", loading default\n", FONT);
fontstruct = XLoadQueryFont(display, "-*-fixed-medium-r-*-*-12-*-*-*-*-*-iso8859-1");
if (!fontstruct) {
LOG("Couldn't load default fixed font. Something is seriouslly wrong. Ending session.\n");
return -1;
grab_keyboard();
XSelectInput(display, root, SubstructureNotifyMask | SubstructureRedirectMask );
MMWM_colormap = DefaultColormap(display, 0);
init_gc();
main_loop();
XFree(MMWM_GC);
XFree(MMWM_SELECTED_GC);
XCloseDisplay(display);
return 0;
conf.h
#ifndef CONF_H
#define CONF_H
#define DISPLAY ":0"
#define MOD_MASK Mod4Mask /* Modifier key */
#define KEY_WINLIST 'w' /* key to show window list */
#define KEY_SELECT 's' /* key to spawn window selection input */
#define KEY_TERMINAL 't' /* key to spawn terminal */
#define KEY_KILL 'q' /* key to kill selected window */
#define KEY_MENU 'm' /* key to spawn menu */
#define KEY_PREV 'p' /* select previous window in list */
#define KEY_NEXT 'n' /* select next window in list */
#define TERMINAL "urxvt" /* terminal */
#define MENU "`dmenu_path | dmenu -fn '-xos4-terminus-*-r-*-*-12-*-*-*-*-*-*-*' -nb '#222222' -nf '#FFFFFF' -sf '#ffffff' -sb '#666666'`"
/* launcher menu to run */
#define FONT "-xos4-terminus-*-*-*-*-12-*-*-*-*-*-*-*"
/* font to use */
#define FGCOLOR "Grey90" /* window list and input window foreground color */
#define BGCOLOR "#191919" /* window list and input window background color */
#define SELFGCOLOR "#454545" /* window list background for selected window */
#define PADDING_NORTH 0 /* top screen edge unmanaged pixels */
#define PADDING_WEST 0 /* left screen edge unmanaged pixels */
#define PADDING_SOUTH 0 /* bottom screen edge unmanaged pixels */
#define PADDING_EAST 0 /* right screen edge unmanaged pixels */
#define INPUTPADDING 5 /* space around input area in the input window */
#define WLISTPADDING 5 /* left and right space in window list */
#define WLISTPOS 1 /* 0 = NW, 1 = NE, 2 = SE, 3 = SW, 4 = C */
#define TIMEOUT 1
#endif
Makefile
PREFIX?=/usr
CFLAGS?=-Os -Wall
all:
$(CC) $(CFLAGS) -I$(PREFIX)/include -L$(PREFIX)/lib -lX11 -o mmwm mmwm.c
install: mmwm
install -s mmwm $(PREFIX)/bin
clean:
rm -f mmwm
Last edited by Wra!th (2009-04-26 15:23:33)

Similar Messages

  • New window manager (with prototype!) [wmii-like] --- looking for help

    I have a prototype for a new window manager in the style of wmii. It is called
    cakewm. I currently have a prototype version implemented in pygame, and would
    like help moving this to use X---making it a real window manager.
    Disclaimer: I have a very limited knowledge of X11 and window manager
    development. The most I've done is add a couple new features to wmfs.
    To get the code
    > git clone git://github.com/saikobee/cakewm.git
    Then run main.py. cakewm depends on pygame.
    Upon running, press Alt-Enter to fullscreen cakewm and intercept keybinds, or
    Alt-Space to just intercept keybinds.  Press Alt-Esc to quit. The window
    manager related keybinds are listed in the file binds.conf.
    Config note: <WSCA-x> means Windows-Shift-Control-Alt-x
    Implementation note: pypixel.py is a large and mostly useless dependency. I
    forked a library I made previously rather than coding straight in pygame.
    cakewm's goals are to be similar to wmii, but with more functionality, easier
    configurability, and saner defaults.
    - cakewm is fully functional using the keyboard. Mouse support can come later.
    - cakewm provides 9 workspaces per monitor.
    - cakewm manages each workspace as a group of columns. Each column is like a
      wmii default split, except each window can have other windows "stacked" on
      top of or behind it.
    - cakewm manages column sizes (and window sizes within columns) using a
      master/slave paradigm, with the ability to adjust the size ratios.
    - cakewm's configuration file is simple key=val pairs, with the ability to
      include other files like in C.
    - cakewm has a slightly larger emphasis on window decorations (adjustable
      size---even in tiled mode) and themes (nothing bloated, like pixmaps or
      gradients---it's all still simple colors).
    - cakewm will have proper support for international text (Japanese text in
      window titles or the wmii status bar generally render as boxes) through the
      use of a more advanced text library such as Pango.
    Please let me know if you have comments, questions, or concerns. If you are
    interested in helping, get in touch with me. If you know somewhere better to
    look for volunteers, please let me know.

    m4co wrote:
    Wow is this forum active. Makes me feel welcome here
    The thing about wireless, I actually like command line, but there are a few things that are worth having a applet or something.
    And wireless is one of those. I guess I can take a look on wicd.
    It's a good idea to have compiz as the WM actually. Would it be lightweight to have it like that?
    Is there anybody here that uses compiz as a WM?
    For the xfce4-panel, is it possible to get transparency on it? That's probably the only thing holding me back with xfce4-panel.
    If "able to run compiz" wasn't a requisite, what other WM would you suggest for my "profile" ?
    I would like to hear other users opinions who like to customize everything on a WM.
    I recommend running Compiz by itself. There is a good wiki page on it in the Arch wiki. Some apps you'll want to go with it are:
    LXAppearance --change GTK/icon theme
    Feh or Nitrogen --Set Wallpaper
    Xfce4-panel --The lightest one that works with Compiz properly
    Or, if you don't want a panel: stalonetray
    Compiz-deskmenu --For a customizable right-click main menu
    Gmrun --Run dialog (Alt+F2 in most DEs)
    And this helped me a lot.
    Thank you all for the replies. I appreciate.
    Xfce4-panel can have transparency.  The only problem is that everything become transparent: text, icons, everything.
    I use Compiz as a standalone WM and it is much lighter than DE+Compiz. My Compiz setup uses about 30MB(out of 1GB) more RAM than my Openbox setup (which are both the same except for the WM).

  • Best tiling window manager for two monitors

    I am looking for a window manager, that will work thus, my main window on my main left monitor, and my stack (my unfocused windows) on my right monitor.  Is there a WM that can do this or anyone know one that comes close.
    Thanks

    skottish wrote:
    If it helps at all, this is a useful way to look at awesome vs. xmonad:
    awesome is pretty much a complete WM/DE (it's close to being a full DE) with a task bar, system tray, run dialog, something like nine preconfigured window management algorithms, right-click menus, etc. Through lua scripting it can be fully extended. There's a lot to awesome by default and more often than not users are going to start to tear it down because there's just so much of it.
    xmonad out of the box is about 5% WM and 95% toolkit to build your own. It has no DE features upon first start and few layouts. If your objective is to build up your WM and not to tear it down, this is a good place to start. The GHC dependency is irrelevant if this is your goal (assuming you can afford the hard drive space) in my opinion.
    One thing that's pretty cool about xmonad that a lot people may not realize is that some of it's developers are involved with Arch. Arch-haskell (the bazillion packages in AUR), Real World Haskell (the book), and GHC are all tied nicely together by some of these people.
    What is cool about XMonad too that you can integrate Gnome and KDE easily in XMonad and bluetile is really cool for starters

  • Window Manager\Window Manager Group

    Based on customer requirements we need to set Bypass traverse checking rights for our Server 2012 boxes. In doing so we noticed that there is a user or group named Window Manager\Window Manager Group. I have seen references in other threads to this user
    pointing to the SID (S-1-5-90-0), but this is not documented anywhere on Microsoft website that I can find. I used Powershell to list all of the users, and I do not see a user or group on my Server 2012 box that matches this.
    Given no response from Microsoft and no documentation, I cannot effectively decide what I should do with this.
    It looks kind of shady that we are granting rights to a SID / Account that we cannot see, so I am wondering if this is some remnant for a part of Server 2012 that didn't get deployed when the code was released to manufacturing. Can some please confirm that
    it is OK to drop this user or group (not even sure which one it is) from the Bypass Traverse Checking user right?

    Hi,
    Based on my research,it is not recommended to remove the group ‘Window manager\Windows manager group’ from Bypass traverse checking or Increase a process working set.
    • Both the above user rights are utilized in windows 8/2012 for performance impacts.
    • The above mentioned group cannot be added manually to any other groups or no user can be a part of it as it does not resolve in object picker. We cannot even add ACLs to this group.
    • Due to above reasons, it is not a security breach in your environment.
    This group is a virtual group that is present on every Windows 2012 machine. The DWM.EXE that is used to manage he desktop experience runs under the security context of an account under this group and this is used to provide less privilege to the DWM.EXE.
    As such this is not documented anywhere in any of public documents. This is a design decision made by the product team which is part of the architecture of the OS. As such the practice is not to remove this group from both the user rights assignment mentioned.
    How Bypass traverse checking affects performance:
    When you try to access c:\foo\bar\baz\bletch\george.txt, “the rules” say that you need to confirm that the user has traverse access to:
              C:\foo
              C:\foo\bar
              C:\foo\bar\baz
              C:\foo\bar\baz\bletch
    If you didn’t have the “bypass traverse checking” privilege, the system would have to open each of these directories in turn and do an access check to make sure you had access to all the intermediate nodes in the path to the file.  With bypass traverse
    checking, the filesystems skip all those checks and just check to make sure you have your desired access to the file you’re opening.
    How increase a process working set affects performance:
    This settings controls who can increase the working set of a process when in memory. Working set is the data that is resending in the Ram that is visible to the process. This helps in expanding the memory a process stores in RAM thereby reducing page faults
    (paging out memory to virtual memory which will induce delays of copying the memory back to RAM).
    Given the above reasons, I strongly recommend you not to remove ‘Windows manager\Windows manager group’ from Bypass traverse checking as well as increase a process working set user rights assignment.
    Thanks.

  • CDE Window Manager  configuration problem (Sol 8)

    Hi
    I have a strange problem with CDE. After having a proper PC instalation done, as I log in the CDE I get black background and only 2 windows ( a kind of help window and the File Manager) The windows don't have title bars, cannot be moved ot whatever. Now, I seems to me that the window manager failed to start. Since I'm new to Solaris, can anybody give me a hint where I can find the configuration scripts and error logs.
    Thanks
    Val

    if it were me I'd check /var/dt/Xerrors (Xservers log file)
    $HOME/.dt/errorlog & startlogs for clues ... this is where CDE would log
    problems.
    However you mentioned PC so I'll assume you are using ReflectionsX,
    Exceed
    or similar, all come with a log file and trace utility via the Xconfig
    screen
    which maybe worth your while looking into ?
    As to the window manager failing to start .... the process is called
    dtlogin
    and on the Solaris server you should see one parent process + 1 child per
    remote display if things are working correctly.
    Gotcha's : most likely problems are caused by either Fonts - check PC
    Xemulation log files or hostname resolution problems.

  • What do you value in a window manager?

    I have discovered that Metacity (the default window manager for Gnome) has compositing. This compositing is very basic, mostly adding shadows to windows, but it makes the desktop look and feel very nice (at least to me).  I find Compiz-Fusion or just plain Compiz too much, and this very refreshing.  There is how ever some functionality that I find myself missing.  The most notable is the ability to drag windows from one workspace to another.  This got me thinking about what functionality I value in a window manager:
    It looks pretty -- Inviting window dressing with shadowing and fading. The transparency effects I never found that interesting.  I have tried Openbox numerous times (played with its themes and everything) and I always find it dull and never used it for long.  This realization came as a bit of a surprise to me, I had no idea that I valued looks so much.
    Fast and clear way of browsing and selecting open windows -- I like it when this is not limited to one workspace, but does give distinction between the workspaces.  The window selector in the top right corner of the Gnome desktop or clicking the third button on the desktop in Xfce is prime examples of this.  Also, I like to have the option of doing this with the mouse or keyboard and I am annoyed that Alt Tab is limited to one workspace in most cases.
    The ability to drag windows from one workspace to another
    Simplicity -- I find that Compiz is too much.
    I am curious as to what functionality or aspects of window managers others value, and would appreciate any feedback.
    Thank you
    Last edited by Smith oo4 (2008-04-24 22:26:41)

    I value speed and configurability.  Consequently, I use Openbox.
    Smith oo4 wrote:It looks pretty -- Inviting window dressing with shadowing and fading. The transparency effects I never found that interesting.  I have tried Openbox numerous times (played with its themes and everything) and I always find it dull and never used it for long.  This realization came as a bit of a surprise to me, I had no idea that I valued looks so much.
    If all you need is shadows/fading, Xcompmgr will work inside Openbox and provide those 'features' (I personally dislike them).
    Smith oo4 wrote:Fast and clear way of browsing and selecting open windows -- I like it when this is not limited to one workspace, but does give distinction between the workspaces.  The window selector in the top right corner of the Gnome desktop or clicking the third button on the desktop in Xfce is prime examples of this.  Also, I like to have the option of doing this with the mouse or keyboard and I am annoyed that Alt Tab is limited to one workspace in most cases.
    Xfce can set the Alt-Tab window switcher to work on all workspaces (I think).  My favorite option is the Openbox desktop menu (accessible by middle-clicking the desktop), which I have mapped to the desktop button on Pypanel (see attached screenshot).
    Smith oo4 wrote:The ability to drag windows from one workspace to another
    On Openbox, I just right-click the title bar and select 'Send to desktop...'.  If you require the dragging functionality, most pagers (such as those in the GNOME or Xfce panels) allow you to drag windows.  Bear in mind that more minimal WM's such as the *boxes and Pekwm can run any panel that you want (or no panel at all), so you can bring your GNOME panel along with you.

  • Dreamweaver CC trial - no menu "commands - manage extensions" or "window - manage commands"

    Hi,
    I just installed the trial of DW CC as well as Extension Manager CC. I activated some extensions (zxp) but I don't see an extension bar or a menu "commands - manage extensions", both I know from DW CS4. Also no "window - manage extensions". Is this a limitation of the trial? I would really need to test my extensions.
    Thank you.

    Hi spryotone:
    See Dreamweaver Help | Add-Ons for installing extensions in DW CC 2014. If you have problems viewing your add ons later, see Newly installed add-ons not loaded | Dreamweaver CC 2014 to troubleshoot.
    Thanks,
    Preran

  • Replacement Windows Manager for OS X?

    Hi, i love my Mac for only two reasons -- digital video editing with iMovie and it's unix core -- i've probably used FreeBSD longer than any other server OS.
    I also love keyboard shortcuts.
    I've had extreme problems with tendonitis, and carpal tunnel/ulnar tunnel syndrome.
    Menus without lots of keyboard shortcuts are very frustrating since it forces me to use the mouse. The more I use the mouse, the worse my condition gets.
    #1 - With that background in mind, I need a Windows Manager (see http://en.wikipedia.org/wiki/Windowmanager#X_windowmanagers ) that would give me more keyboard shortcuts than OS X currently does.
    I love all the keyboard shortcuts available in practically every program built for Microsoft Windows as well as the default apps in it such as Windows Explorer, etc.
    I really, really need keyboard shortcuts like that or like they have in the Window Managers of KDE or GNOME.
    If I could get that here on my Mac then I think I would cease to be frustrated with it.
    #2 - One other thing, I would love a Windows Manager with a "taskbar" or "dock" or "menu bar" -- i don't care what you call it -- but I need a bar at the top or bottom of the screen that shows me ALL of my open windows.
    #3 - It also must let me Apple-Tab through all of my open windows, not just the applications.
    So... anybody know of a drop-in replacement Windows Manager that would let me still run native apps that I love like iMovie yet get the keyboard functionality that I need to prevent me from further exacerbating my medical condition?
    I've researched this for at least a few hours and the System Preferences tweaks don't even come close to what I need. Those of you that use both KDE/Microsoft Windows/GNOME && OS X every day will at least partially understand the big difference between the two camps of Windows Managers(again see http://en.wikipedia.org/wiki/Windowmanager#X_windowmanagers if necessary).
    Thanks so much to anybody that can even give me at least half of a solution -- i surely would appreciate it!!!

    Mac OS X is not X-windows. I doubt that there is a "drop-in Windows manager".
    Keyboard shortcuts are controlled on an application basis. But you can define your own shortcut for any menu command. See System Preferences > Keyboard & Mouse > Keyboard Shortcuts.
    Also, virtually anything you can do with the mouse can be done from the keyboard. See Mac Help, search for "Full keyboard navigation". For example, to navigate to a menu item, type Control-F2, then use the arrow keys to move to the menu item you want. Return activates the selected item, ESC cancels the operation. Control-F3 gives the same kind of access to the Dock.
    Navigating open windows is easy: Command-Tab to the application, Command-` (back quote:forward/tilde:backward) to the desired window.
    In dialogs, most buttons have a keyboard shortcut, although it is not always obvious what they are. The Blue button = Return, the Cancel button = ESC. Other buttons are typically Command-(first letter of the button name). For example "Don't Save"=Command-D, usually.

  • Pwm - a simplistic tiling window manager in python3

    Hello,
    I want to announce a project which I have been working on in the last couple of weeks to learn about python.
    PWM - A simplistic tiling window manager written in python3
    AUR package pwm-git
    github repo
    As already said, pwm tries to be relatively simplistic, both in functionality as well as in code.
    pwm includes:
    Multiple workspaces.
    A column-based layout, every window can be resized freely.
    Windows can also float or be fullscreen.
    A bar, similiar to i3bar.
    A menu like dmenu but with fuzzy search.
    Everything is configured in python.
    There is no multimonitor support because I only have a laptop now with no additional screens.
    For more information please check the github repo
    Last edited by mibitzi (2013-08-10 02:16:16)

    Yes, here are two of my screenshots from the August Screenshots Thread

  • Desktop Environment VS Window Manager, what is the difference?

    I was wondering about the difference between DE and WM?
    It is just like iconize VS minimize or directory VS folder?
    So it is the same just more Unix-like or more Windows-like?
    Or there is a difference?

    Strictly speaking, a window manager is in charge of managing windows. It draws the decorations (usually just the title bar and borders) and places each window onscreen. It's also in charge of moving and resizing windows. If you run X without a window manager, each window opens, without a border, in the top-left corner of the screen (you can usually use the -geom or --geometry option to pick a default position when running an app), and you can't move or resize them. (Examples: Xmonad, evilwm, Metacity)
    Many window managers offer a built-in application launcher, usually by showing a menu when you right-click on the desktop. I prefer to call this a "desktop shell", what Enlightenment calls itself, because it does more than manage windows but is still a single program. (Examples: Fluxbox, Openbox, Window Maker)
    A desktop environment is a collection of programs and libraries designed to create an integrated environment. It almost always includes a window manager, with the notable exception of the RoX desktop. The individual parts of a DE can be swapped out if you prefer another program. For example, before XFCE included Thunar, I ran it with Openbox as a WM and RoX as a file manager. (Examples: KDE, XFCE, Étoilé)

  • Maximize Application without Window Manager

    What I'd like to do is use xwininfo and wmctrl to maximize an application in X without a window manager. Here is what I've worked out:
    #!/bin/sh
    # ~/.xinitrc
    # Executed by startx (run your window manager from here)
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    # exec gnome-session
    # exec startkde
    # exec startxfce4
    # ...or the Window Manager of your choice
    MAXIMIZE_ID=$(xwininfo -root -child | grep "st-256color" | grep -o "^[[:space:]]*0x[[:alnum:]]*" | grep -o "0x[[:alnum:]]*")
    MAXIMIZE_WIDTH=$(xwininfo -root | grep "Width" | grep -o "[[:digit:]]*")
    MAXIMIZE_HEIGHT=$(xwininfo -root | grep "Height" | grep -o "[[:digit:]]*")
    while [ "$MAXIMIZE_ID" = "" ]
    do
    MAXIMIZE_ID=$(xwininfo -root -child | grep "st-256color" | grep -o "^[[:space:]]*0x[[:alnum:]]*" | grep -o "0x[[:alnum:]]*")
    if [ "$MAXIMIZE_ID" != "" ]
    then
    wmctrl -i -r $MAXIMIZE_ID -e 0,0,0,$MAXIMIZE_WIDTH,$MAXIMIZE_HEIGHT
    fi
    done &
    exec st
    As intended it maximizes the st terminal. However, the terminal simply hangs there, I can provide it with no input, any clues as to what I'm missing and/or doing incorrectly? I realize st uses the geometry parameter, I'm only using it here as an example application as not all applications support that parameter.
    Last edited by grimpirate (2014-08-12 19:20:00)

    It's much more complex than that.  Wmctrl requires a EWMH compliant window manager.  Many of the lightest weight WMs are not EWMH compliant.
    Is this just for st, or do you want all windows maximized?  Does st have a 'geometry' flag?
    You could write a WM that does nothing but fullscreen every window that is mapped in about a dozen lines of code.  Note, however, that without a WM, windows will generally not properly be assigned the input focus - one result is that cursors on most terminals will remain 'hollow'.  For the cost of one or two more lines of code, this new WM could also set input focus appropriately.
    EDIT: st does have a geometry flag, just use that.
    Also, your 'grep | grep' pipe could just be "awk '/Width/ { print $2;}'", or two get both width and height in one go:
    xwininfo -root | awk '/Width/ { printf "%s", $2;} /Height/ {printf "x%s", $2;}'
    Though this wouldn't be quite right for a st geometry string as that takes rows and columns, not pixels.
    EDIT2: your solution will also fail miserably for two other reasons.  There is not point in initializing the MAXIMIZEID variable before the loop starts - because if there actually are any windows there, the while loop will never run.  Also, without a sleep command, or something, all that while loop will be very good for will be to turn your cpu into a frying pan (100% cpu use -> heat).
    Here's a very plain WM that will do the same thing without melting your CPU:
    #include <X11/Xlib.h>
    int main(void) {
    Display *dpy;
    if(!(dpy = XOpenDisplay(0x0))) return 1;
    XEvent ev;
    int scr = DefaultScreen(dpy);
    int sw = DisplayWidth(dpy, scr);
    int sh = DisplayHeight(dpy, scr);
    Window w, root = RootWindow(dpy, scr);
    XSelectInput(dpy, root, SubstructureRedirectMask);
    while (!XNextEvent(dpy, &ev)) {
    if (ev.type == MapRequest && (w=ev.xmaprequest.window)) {
    XMoveResizeWindow(dpy, w, 0, 0, sw, sh);
    XMapWindow(dpy, w);
    XSetInputFocus(dpy, w, RevertToPointerRoot, CurrentTime);
    XFlush(dpy);
    return 0;
    Last edited by Trilby (2014-08-13 13:03:59)

  • WINDOWS MANAGEMENT FRAMEWORK 4.0 - A required certificate is not within its validity period

    Hello, 
    I can't figure out if this is because the Root Certificates were updated in April 2014 then apparently expired by Microsoft or if the PowerShell installer signed this file with a bad software release signature??
    We were deploying PowerShell 4.0 (Windows6.1-KB2819745-x64-MultiPkg.msu) with ConfigMgr 2012 with a dependency of .NET Framework 4.5.1.  Everything was working fine until sometime around April 24 (exact date unknown).  Now any 
    Win 7 SP1 machines I try to update will not install WMF 4.0.  They installed .NET 4.5.1 without any trouble.. 
    The digital signature on it it states it was signed Sept 27 2013 and the certificate expires 4/24/2014. 
    Even if we change the system clock to April 1 2014 it still will not install.. but this shouldn't matter anyway.  They just can't sign new software with that certificate.. surely I can install it..
    As for a log... If I run as C:\Windows\ccmcache\3>wusa.exe Windows6.1-KB2819745-x64-MultiPkg.msu /log:c:\windows\ccmcache\3\broken.txt 
    In the broken.txt I see: 
    Install Worker.01194: Operation Result Code of the installation: 0X4        HRESULT of the installation: 0X80240022                Operation
    Result Code of the update:0X4 HRESULT of the update: 0X800b0101 
    Install Worker.01243: Failed install update Update for Windows (KB2819745) 
    Install Worker.01287: Exit with error code 0X800b0101 (A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.) 
    WINDOWS MANAGEMENT FRAMEWORK 4.0 FOR MICROSOFT OPERATING SYSTEM PRODUCTS 
    Windows6.1-KB2819745-x64-MultiPkg.msu 
    I also see this same event information in Setup event log..
    I don’t know what to do here.  Anyone else having this problem? 

    Hi,
    Have you ever seen this article?
    Event ID 4107 or Event ID 11 is logged in the Application log in Windows and in Windows Server
    http://support.microsoft.com/kb/2328240/en-us
    If you have any feedback on our support, please click
    here
    Alex Zhao
    TechNet Community Support

  • My window manager only starts 50% of the time.

    Hello all, I installed arch about a week ago and it has run perfectly.
    Unfortunately about 2 days ago I have a strange issue that I can't seem to diagnose.
    When I boot my arch install, (dual boot win8 with seperate hard drive), and login using slim, around 50% of the time everything will load up and my panel will show etc.
    The other 50% of the time the desktop brings up just my mouse, I'm using a tiling manager and the hotkeys dont work either which makes me think that .xinit isn't being executed, yet other things in there work fine.
    bspwm is my window manager, slim is my login manager, I looked in xorg.0.log a few times and couldn't find anything.  Any help would be appreciated!
    (Sorry if this is in the wrong place, also ask for any files you need)

    Trilby wrote:
    Chazza, using exec is common, but not at all necessary.  Without the exec, the parent shell process just hangs around - this is unneeded, but it does no harm.  One can even put many WMs one after the other with no exec command to run one right after the other.  Or put a few (or just one) WM in a loop with no 'exec' in order to restart the WM without restarting X (this can be seen in the dwm wiki for one example).
    Toqoz, please post (or link to) 2 xorg logs: 1 for a successful run, and one for the failed attempt.
    Heres my /var/log/Xorg.0.log file for a successful boot, couldn't find the xorg folder in ~/.local/share/xorg.
    [ 15.806]
    X.Org X Server 1.17.1
    Release Date: 2015-02-10
    [ 15.806] X Protocol Version 11, Revision 0
    [ 15.806] Build Operating System: Linux 3.18.6-1-ARCH x86_64
    [ 15.806] Current Operating System: Linux qhost 3.19.2-1-ARCH #1 SMP PREEMPT Wed Mar 18 16:21:02 CET 2015 x86_64
    [ 15.806] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=db8748e8-ddcb-48c6-ac0c-e8560a1c3848 rw quiet
    [ 15.806] Build Date: 14 March 2015 06:45:50PM
    [ 15.806]
    [ 15.806] Current version of pixman: 0.32.6
    [ 15.807] Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    [ 15.807] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 15.807] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Apr 2 20:30:04 2015
    [ 15.871] (==) Using config file: "/etc/X11/xorg.conf"
    [ 15.872] (==) Using config directory: "/etc/X11/xorg.conf.d"
    [ 15.872] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
    [ 16.049] (==) ServerLayout "Layout0"
    [ 16.049] (**) |-->Screen "Screen0" (0)
    [ 16.049] (**) | |-->Monitor "Monitor0"
    [ 16.050] (**) | |-->Device "Device0"
    [ 16.050] (**) |-->Input Device "Keyboard0"
    [ 16.050] (**) |-->Input Device "Mouse0"
    [ 16.050] (==) Automatically adding devices
    [ 16.050] (==) Automatically enabling devices
    [ 16.050] (==) Automatically adding GPU devices
    [ 16.084] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/OTF/".
    [ 16.084] Entry deleted from font path.
    [ 16.084] (Run 'mkfontdir' on "/usr/share/fonts/OTF/").
    [ 16.084] (WW) The directory "/usr/share/fonts/Type1/" does not exist.
    [ 16.084] Entry deleted from font path.
    [ 16.084] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
    [ 16.084] Entry deleted from font path.
    [ 16.084] (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
    [ 16.085] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
    [ 16.085] Entry deleted from font path.
    [ 16.085] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
    [ 16.085] (==) FontPath set to:
    /usr/share/fonts/misc/,
    /usr/share/fonts/TTF/
    [ 16.085] (==) ModulePath set to "/usr/lib/xorg/modules"
    [ 16.085] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
    [ 16.085] (WW) Disabling Keyboard0
    [ 16.085] (WW) Disabling Mouse0
    [ 16.085] (II) Loader magic: 0x815d80
    [ 16.085] (II) Module ABI versions:
    [ 16.085] X.Org ANSI C Emulation: 0.4
    [ 16.085] X.Org Video Driver: 19.0
    [ 16.085] X.Org XInput driver : 21.0
    [ 16.085] X.Org Server Extension : 9.0
    [ 16.086] (EE) systemd-logind: failed to get session: PID 333 does not belong to any known session
    [ 16.086] (II) xfree86: Adding drm device (/dev/dri/card0)
    [ 16.088] (--) PCI:*(0:1:0:0) 10de:1187:3842:2765 rev 161, Mem @ 0xf6000000/16777216, 0xe8000000/134217728, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
    [ 16.088] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
    [ 16.088] (II) LoadModule: "glx"
    [ 16.097] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
    [ 17.059] (II) Module glx: vendor="NVIDIA Corporation"
    [ 17.059] compiled for 4.0.2, module version = 1.0.0
    [ 17.059] Module class: X.Org Server Extension
    [ 17.067] (II) NVIDIA GLX Module 346.47 Thu Feb 19 18:09:07 PST 2015
    [ 17.089] (II) LoadModule: "nvidia"
    [ 17.130] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
    [ 17.222] (II) Module nvidia: vendor="NVIDIA Corporation"
    [ 17.222] compiled for 4.0.2, module version = 1.0.0
    [ 17.222] Module class: X.Org Video Driver
    [ 17.232] (II) NVIDIA dlloader X Driver 346.47 Thu Feb 19 17:47:18 PST 2015
    [ 17.232] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
    [ 17.233] (++) using VT number 7
    [ 17.321] (II) Loading sub module "fb"
    [ 17.321] (II) LoadModule: "fb"
    [ 17.321] (II) Loading /usr/lib/xorg/modules/libfb.so
    [ 17.347] (II) Module fb: vendor="X.Org Foundation"
    [ 17.347] compiled for 1.17.1, module version = 1.0.0
    [ 17.347] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 17.347] (II) Loading sub module "wfb"
    [ 17.347] (II) LoadModule: "wfb"
    [ 17.347] (II) Loading /usr/lib/xorg/modules/libwfb.so
    [ 17.364] (II) Module wfb: vendor="X.Org Foundation"
    [ 17.364] compiled for 1.17.1, module version = 1.0.0
    [ 17.364] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 17.364] (II) Loading sub module "ramdac"
    [ 17.364] (II) LoadModule: "ramdac"
    [ 17.364] (II) Module "ramdac" already built-in
    [ 17.366] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
    [ 17.366] (==) NVIDIA(0): RGB weight 888
    [ 17.366] (==) NVIDIA(0): Default visual is TrueColor
    [ 17.366] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
    [ 17.368] (**) NVIDIA(0): Option "MetaModes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
    [ 17.368] (**) NVIDIA(0): Enabling 2D acceleration
    [ 18.022] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20150116)
    [ 18.024] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 760 (GK104) at PCI:1:0:0 (GPU-0)
    [ 18.024] (--) NVIDIA(0): Memory: 2097152 kBytes
    [ 18.024] (--) NVIDIA(0): VideoBIOS: 80.04.c4.00.60
    [ 18.024] (II) NVIDIA(0): Detected PCI Express Link width: 16X
    [ 18.033] (--) NVIDIA(0): Valid display device(s) on GeForce GTX 760 at PCI:1:0:0
    [ 18.033] (--) NVIDIA(0): CRT-0
    [ 18.033] (--) NVIDIA(0): DFP-0
    [ 18.033] (--) NVIDIA(0): Samsung S27B370 (DFP-1) (boot, connected)
    [ 18.033] (--) NVIDIA(0): DFP-2
    [ 18.033] (--) NVIDIA(0): DFP-3
    [ 18.033] (--) NVIDIA(0): DFP-4
    [ 18.033] (--) NVIDIA(GPU-0): CRT-0: 400.0 MHz maximum pixel clock
    [ 18.033] (--) NVIDIA(0): DFP-0: Internal TMDS
    [ 18.033] (--) NVIDIA(GPU-0): DFP-0: 330.0 MHz maximum pixel clock
    [ 18.033] (--) NVIDIA(0): Samsung S27B370 (DFP-1): Internal TMDS
    [ 18.033] (--) NVIDIA(GPU-0): Samsung S27B370 (DFP-1): 340.0 MHz maximum pixel clock
    [ 18.033] (--) NVIDIA(0): DFP-2: Internal TMDS
    [ 18.033] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
    [ 18.033] (--) NVIDIA(0): DFP-3: Internal TMDS
    [ 18.033] (--) NVIDIA(GPU-0): DFP-3: 330.0 MHz maximum pixel clock
    [ 18.033] (--) NVIDIA(0): DFP-4: Internal DisplayPort
    [ 18.033] (--) NVIDIA(GPU-0): DFP-4: 960.0 MHz maximum pixel clock
    [ 18.033] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
    [ 18.033] (**) NVIDIA(0): device Samsung S27B370 (DFP-1) (Using EDID frequencies has
    [ 18.033] (**) NVIDIA(0): been enabled on all display devices.)
    [ 18.035] (II) NVIDIA(0): Validated MetaModes:
    [ 18.036] (II) NVIDIA(0): "nvidia-auto-select+0+0{ForceFullCompositionPipeline=On}"
    [ 18.036] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
    [ 18.103] (--) NVIDIA(0): DPI set to (81, 80); computed from "UseEdidDpi" X config
    [ 18.103] (--) NVIDIA(0): option
    [ 18.103] (--) Depth 24 pixmap format is 32 bpp
    [ 18.103] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
    [ 18.103] (II) NVIDIA: access.
    [ 18.106] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
    [ 18.106] (II) NVIDIA(0): may not be running or the "AcpidSocketPath" X
    [ 18.106] (II) NVIDIA(0): configuration option may not be set correctly. When the
    [ 18.106] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
    [ 18.106] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
    [ 18.106] (II) NVIDIA(0): details, please see the "ConnectToAcpid" and
    [ 18.106] (II) NVIDIA(0): "AcpidSocketPath" X configuration options in Appendix B: X
    [ 18.106] (II) NVIDIA(0): Config Options in the README.
    [ 18.115] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0{ForceFullCompositionPipeline=On}"
    [ 18.327] (==) NVIDIA(0): Disabling shared memory pixmaps
    [ 18.327] (==) NVIDIA(0): Backing store enabled
    [ 18.327] (==) NVIDIA(0): Silken mouse enabled
    [ 18.328] (**) NVIDIA(0): DPMS enabled
    [ 18.328] (II) Loading sub module "dri2"
    [ 18.328] (II) LoadModule: "dri2"
    [ 18.328] (II) Module "dri2" already built-in
    [ 18.328] (II) NVIDIA(0): [DRI2] Setup complete
    [ 18.328] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
    [ 18.328] (--) RandR disabled
    [ 18.334] (II) Initializing extension GLX
    [ 18.334] (II) Indirect GLX disabled.(II) config/udev: Adding input device Power Button (/dev/input/event4)
    [ 18.892] (**) Power Button: Applying InputClass "evdev keyboard catchall"
    [ 18.892] (II) LoadModule: "evdev"
    [ 18.893] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 18.935] (II) Module evdev: vendor="X.Org Foundation"
    [ 18.935] compiled for 1.17.1, module version = 2.9.2
    [ 18.935] Module class: X.Org XInput Driver
    [ 18.935] ABI class: X.Org XInput driver, version 21.0
    [ 18.935] (II) Using input driver 'evdev' for 'Power Button'
    [ 18.935] (**) Power Button: always reports core events
    [ 18.935] (**) evdev: Power Button: Device: "/dev/input/event4"
    [ 18.935] (--) evdev: Power Button: Vendor 0 Product 0x1
    [ 18.935] (--) evdev: Power Button: Found keys
    [ 18.935] (II) evdev: Power Button: Configuring as keyboard
    [ 18.935] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input6/event4"
    [ 18.935] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
    [ 18.935] (**) Option "xkb_rules" "evdev"
    [ 18.935] (**) Option "xkb_model" "pc104"
    [ 18.935] (**) Option "xkb_layout" "us"
    [ 18.961] (II) config/udev: Adding input device Power Button (/dev/input/event3)
    [ 18.961] (**) Power Button: Applying InputClass "evdev keyboard catchall"
    [ 18.961] (II) Using input driver 'evdev' for 'Power Button'
    [ 18.961] (**) Power Button: always reports core events
    [ 18.961] (**) evdev: Power Button: Device: "/dev/input/event3"
    [ 18.961] (--) evdev: Power Button: Vendor 0 Product 0x1
    [ 18.961] (--) evdev: Power Button: Found keys
    [ 18.961] (II) evdev: Power Button: Configuring as keyboard
    [ 18.961] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input5/event3"
    [ 18.961] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 7)
    [ 18.961] (**) Option "xkb_rules" "evdev"
    [ 18.961] (**) Option "xkb_model" "pc104"
    [ 18.961] (**) Option "xkb_layout" "us"
    [ 18.961] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event13)
    [ 18.961] (II) No input driver specified, ignoring this device.
    [ 18.961] (II) This device may have been added with another device file.
    [ 18.962] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event14)
    [ 18.962] (II) No input driver specified, ignoring this device.
    [ 18.962] (II) This device may have been added with another device file.
    [ 18.962] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event15)
    [ 18.962] (II) No input driver specified, ignoring this device.
    [ 18.962] (II) This device may have been added with another device file.
    [ 18.962] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=9 (/dev/input/event16)
    [ 18.962] (II) No input driver specified, ignoring this device.
    [ 18.962] (II) This device may have been added with another device file.
    [ 18.962] (II) config/udev: Adding input device Logitech USB Keyboard (/dev/input/event0)
    [ 18.962] (**) Logitech USB Keyboard: Applying InputClass "evdev keyboard catchall"
    [ 18.962] (II) Using input driver 'evdev' for 'Logitech USB Keyboard'
    [ 18.962] (**) Logitech USB Keyboard: always reports core events
    [ 18.962] (**) evdev: Logitech USB Keyboard: Device: "/dev/input/event0"
    [ 18.962] (--) evdev: Logitech USB Keyboard: Vendor 0x46d Product 0xc31d
    [ 18.962] (--) evdev: Logitech USB Keyboard: Found keys
    [ 18.962] (II) evdev: Logitech USB Keyboard: Configuring as keyboard
    [ 18.963] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3:1.0/0003:046D:C31D.0001/input/input2/event0"
    [ 18.963] (II) XINPUT: Adding extended input device "Logitech USB Keyboard" (type: KEYBOARD, id 8)
    [ 18.963] (**) Option "xkb_rules" "evdev"
    [ 18.963] (**) Option "xkb_model" "pc104"
    [ 18.963] (**) Option "xkb_layout" "us"
    [ 18.963] (II) config/udev: Adding input device Logitech USB Keyboard (/dev/input/event1)
    [ 18.963] (**) Logitech USB Keyboard: Applying InputClass "evdev keyboard catchall"
    [ 18.963] (II) Using input driver 'evdev' for 'Logitech USB Keyboard'
    [ 18.963] (**) Logitech USB Keyboard: always reports core events
    [ 18.963] (**) evdev: Logitech USB Keyboard: Device: "/dev/input/event1"
    [ 18.963] (--) evdev: Logitech USB Keyboard: Vendor 0x46d Product 0xc31d
    [ 18.963] (--) evdev: Logitech USB Keyboard: Found absolute axes
    [ 18.963] (II) evdev: Logitech USB Keyboard: Forcing absolute x/y axes to exist.
    [ 18.963] (--) evdev: Logitech USB Keyboard: Found keys
    [ 18.963] (II) evdev: Logitech USB Keyboard: Forcing relative x/y axes to exist.
    [ 18.963] (II) evdev: Logitech USB Keyboard: Configuring as mouse
    [ 18.963] (II) evdev: Logitech USB Keyboard: Configuring as keyboard
    [ 18.963] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3:1.1/0003:046D:C31D.0002/input/input3/event1"
    [ 18.963] (II) XINPUT: Adding extended input device "Logitech USB Keyboard" (type: KEYBOARD, id 9)
    [ 18.963] (**) Option "xkb_rules" "evdev"
    [ 18.963] (**) Option "xkb_model" "pc104"
    [ 18.963] (**) Option "xkb_layout" "us"
    [ 18.964] (II) evdev: Logitech USB Keyboard: initialized for absolute axes.
    [ 18.964] (**) Logitech USB Keyboard: (accel) keeping acceleration scheme 1
    [ 18.964] (**) Logitech USB Keyboard: (accel) acceleration profile 0
    [ 18.964] (**) Logitech USB Keyboard: (accel) acceleration factor: 2.000
    [ 18.964] (**) Logitech USB Keyboard: (accel) acceleration threshold: 4
    [ 18.964] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/event2)
    [ 18.964] (**) Razer Razer DeathAdder: Applying InputClass "evdev pointer catchall"
    [ 18.964] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 18.964] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder'
    [ 18.964] (**) Razer Razer DeathAdder: always reports core events
    [ 18.964] (**) evdev: Razer Razer DeathAdder: Device: "/dev/input/event2"
    [ 19.016] (--) evdev: Razer Razer DeathAdder: Vendor 0x1532 Product 0x16
    [ 19.016] (--) evdev: Razer Razer DeathAdder: Found 12 mouse buttons
    [ 19.016] (--) evdev: Razer Razer DeathAdder: Found scroll wheel(s)
    [ 19.016] (--) evdev: Razer Razer DeathAdder: Found relative axes
    [ 19.016] (--) evdev: Razer Razer DeathAdder: Found x and y relative axes
    [ 19.016] (II) evdev: Razer Razer DeathAdder: Configuring as mouse
    [ 19.016] (II) evdev: Razer Razer DeathAdder: Adding scrollwheel support
    [ 19.016] (**) evdev: Razer Razer DeathAdder: YAxisMapping: buttons 4 and 5
    [ 19.016] (**) evdev: Razer Razer DeathAdder: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 19.016] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:1532:0016.0006/input/input22/event2"
    [ 19.016] (II) XINPUT: Adding extended input device "Razer Razer DeathAdder" (type: MOUSE, id 10)
    [ 19.016] (II) evdev: Razer Razer DeathAdder: initialized for relative axes.
    [ 19.017] (**) Option "AccelerationScheme" "none"
    [ 19.017] (**) Razer Razer DeathAdder: (accel) selected scheme none/0
    [ 19.017] (**) Razer Razer DeathAdder: (accel) acceleration factor: 2.000
    [ 19.017] (**) Razer Razer DeathAdder: (accel) acceleration threshold: 4
    [ 19.017] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/mouse0)
    [ 19.017] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 19.017] (II) No input driver specified, ignoring this device.
    [ 19.017] (II) This device may have been added with another device file.
    [ 19.017] (II) config/udev: Adding input device HDA Intel PCH Rear Mic (/dev/input/event7)
    [ 19.017] (II) No input driver specified, ignoring this device.
    [ 19.017] (II) This device may have been added with another device file.
    [ 19.018] (II) config/udev: Adding input device HDA Intel PCH Line (/dev/input/event8)
    [ 19.018] (II) No input driver specified, ignoring this device.
    [ 19.018] (II) This device may have been added with another device file.
    [ 19.018] (II) config/udev: Adding input device HDA Intel PCH Line Out Front (/dev/input/event9)
    [ 19.018] (II) No input driver specified, ignoring this device.
    [ 19.018] (II) This device may have been added with another device file.
    [ 19.018] (II) config/udev: Adding input device HDA Intel PCH Line Out Surround (/dev/input/event10)
    [ 19.018] (II) No input driver specified, ignoring this device.
    [ 19.018] (II) This device may have been added with another device file.
    [ 19.018] (II) config/udev: Adding input device HDA Intel PCH Line Out CLFE (/dev/input/event11)
    [ 19.018] (II) No input driver specified, ignoring this device.
    [ 19.018] (II) This device may have been added with another device file.
    [ 19.019] (II) config/udev: Adding input device HDA Intel PCH Front Headphone (/dev/input/event12)
    [ 19.019] (II) No input driver specified, ignoring this device.
    [ 19.019] (II) This device may have been added with another device file.
    [ 19.019] (II) config/udev: Adding input device HDA Intel PCH Front Mic (/dev/input/event6)
    [ 19.019] (II) No input driver specified, ignoring this device.
    [ 19.019] (II) This device may have been added with another device file.
    [ 19.019] (II) config/udev: Adding input device PC Speaker (/dev/input/event5)
    [ 19.019] (II) No input driver specified, ignoring this device.
    [ 19.019] (II) This device may have been added with another device file.
    [ 213.516] (II) config/udev: removing device Razer Razer DeathAdder
    [ 213.556] (II) evdev: Razer Razer DeathAdder: Close
    [ 213.556] (II) UnloadModule: "evdev"
    [ 328.612] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/mouse0)
    [ 328.612] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 328.612] (II) No input driver specified, ignoring this device.
    [ 328.612] (II) This device may have been added with another device file.
    [ 328.612] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/event2)
    [ 328.612] (**) Razer Razer DeathAdder: Applying InputClass "evdev pointer catchall"
    [ 328.612] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 328.612] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder'
    [ 328.612] (**) Razer Razer DeathAdder: always reports core events
    [ 328.612] (**) evdev: Razer Razer DeathAdder: Device: "/dev/input/event2"
    [ 328.663] (--) evdev: Razer Razer DeathAdder: Vendor 0x1532 Product 0x16
    [ 328.663] (--) evdev: Razer Razer DeathAdder: Found 12 mouse buttons
    [ 328.663] (--) evdev: Razer Razer DeathAdder: Found scroll wheel(s)
    [ 328.663] (--) evdev: Razer Razer DeathAdder: Found relative axes
    [ 328.663] (--) evdev: Razer Razer DeathAdder: Found x and y relative axes
    [ 328.663] (II) evdev: Razer Razer DeathAdder: Configuring as mouse
    [ 328.663] (II) evdev: Razer Razer DeathAdder: Adding scrollwheel support
    [ 328.663] (**) evdev: Razer Razer DeathAdder: YAxisMapping: buttons 4 and 5
    [ 328.663] (**) evdev: Razer Razer DeathAdder: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 328.663] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:1532:0016.000A/input/input26/event2"
    [ 328.663] (II) XINPUT: Adding extended input device "Razer Razer DeathAdder" (type: MOUSE, id 10)
    [ 328.663] (II) evdev: Razer Razer DeathAdder: initialized for relative axes.
    [ 328.663] (**) Option "AccelerationScheme" "none"
    [ 328.663] (**) Razer Razer DeathAdder: (accel) selected scheme none/0
    [ 328.663] (**) Razer Razer DeathAdder: (accel) acceleration factor: 2.000
    [ 328.663] (**) Razer Razer DeathAdder: (accel) acceleration threshold: 4
    [ 425.481] (II) config/udev: removing device Razer Razer DeathAdder
    [ 425.513] (II) evdev: Razer Razer DeathAdder: Close
    [ 425.513] (II) UnloadModule: "evdev"
    [ 425.536] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/mouse0)
    [ 425.536] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 425.536] (II) No input driver specified, ignoring this device.
    [ 425.536] (II) This device may have been added with another device file.
    [ 425.536] (II) config/udev: Adding input device Razer Razer DeathAdder (/dev/input/event2)
    [ 425.536] (**) Razer Razer DeathAdder: Applying InputClass "evdev pointer catchall"
    [ 425.536] (**) Razer Razer DeathAdder: Applying InputClass "My Mouse"
    [ 425.536] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder'
    [ 425.536] (**) Razer Razer DeathAdder: always reports core events
    [ 425.536] (**) evdev: Razer Razer DeathAdder: Device: "/dev/input/event2"
    [ 425.590] (--) evdev: Razer Razer DeathAdder: Vendor 0x1532 Product 0x16
    [ 425.590] (--) evdev: Razer Razer DeathAdder: Found 12 mouse buttons
    [ 425.590] (--) evdev: Razer Razer DeathAdder: Found scroll wheel(s)
    [ 425.590] (--) evdev: Razer Razer DeathAdder: Found relative axes
    [ 425.590] (--) evdev: Razer Razer DeathAdder: Found x and y relative axes
    [ 425.590] (II) evdev: Razer Razer DeathAdder: Configuring as mouse
    [ 425.590] (II) evdev: Razer Razer DeathAdder: Adding scrollwheel support
    [ 425.590] (**) evdev: Razer Razer DeathAdder: YAxisMapping: buttons 4 and 5
    [ 425.590] (**) evdev: Razer Razer DeathAdder: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 425.590] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4/3-1.4:1.0/0003:1532:0016.000B/input/input27/event2"
    [ 425.590] (II) XINPUT: Adding extended input device "Razer Razer DeathAdder" (type: MOUSE, id 10)
    [ 425.590] (II) evdev: Razer Razer DeathAdder: initialized for relative axes.
    [ 425.590] (**) Option "AccelerationScheme" "none"
    [ 425.590] (**) Razer Razer DeathAdder: (accel) selected scheme none/0
    [ 425.590] (**) Razer Razer DeathAdder: (accel) acceleration factor: 2.000
    [ 425.590] (**) Razer Razer DeathAdder: (accel) acceleration threshold: 4
    I've tried booting with the razer service disabled, I have to plug in my mouse again to use it when booting from Windows.
    Will edit with a failed boot very soon.

  • Looking for a new window manager

    Hello all!
    My first post here and I'd like to share a little discussion.
    So I have this idea of "perfect desktop" in my mind:
    - It must be lightweight
    - Very clean.
    - No menus
    - Highly customizable.
    - Able to run compiz
    I've come to Enlightenment 17 on Fedora and that was close to perfection.
    I just loved, everything I wanted. Nice animations, clean, and man you can change absolutely everything there.
    But then I started getting frustrated with bugs since it's not stable and I had to move on.
    Then I came to XFCE4.6. Great, fairly customizable. Fewer bugs that you can live with it.
    And I could run compiz. I just love using compiz here and got used to it. I use compiz to be more productive with the desktops , shortcuts and just a few animations.
    But I few like trying something new. XFCE is just here for a lack of a better choice. It doesn't feel it fits me.
    So maybe someone could recommend a new Window Manager for me?
    I am interested in OpenBox and FluxBox.
    I'm astonished with some OpenBox screenshots where you don't have anything, just the right-click menu and some apps running.
    That's exactly what I would want.
    But then, things like NetworkManager. How do you connect to internet (wireless)? On the command line?
    What if I'd need to scan for open wireless networks..everything would have to be on command line?
    Laptop Battery widget that warns when it's almost over, etc..
    Are those WM really that raw or am I missing a few hidden goodies?
    Would LXDE be a better choice?

    m4co wrote:
    Wow is this forum active. Makes me feel welcome here
    The thing about wireless, I actually like command line, but there are a few things that are worth having a applet or something.
    And wireless is one of those. I guess I can take a look on wicd.
    It's a good idea to have compiz as the WM actually. Would it be lightweight to have it like that?
    Is there anybody here that uses compiz as a WM?
    For the xfce4-panel, is it possible to get transparency on it? That's probably the only thing holding me back with xfce4-panel.
    If "able to run compiz" wasn't a requisite, what other WM would you suggest for my "profile" ?
    I would like to hear other users opinions who like to customize everything on a WM.
    I recommend running Compiz by itself. There is a good wiki page on it in the Arch wiki. Some apps you'll want to go with it are:
    LXAppearance --change GTK/icon theme
    Feh or Nitrogen --Set Wallpaper
    Xfce4-panel --The lightest one that works with Compiz properly
    Or, if you don't want a panel: stalonetray
    Compiz-deskmenu --For a customizable right-click main menu
    Gmrun --Run dialog (Alt+F2 in most DEs)
    And this helped me a lot.
    Thank you all for the replies. I appreciate.
    Xfce4-panel can have transparency.  The only problem is that everything become transparent: text, icons, everything.
    I use Compiz as a standalone WM and it is much lighter than DE+Compiz. My Compiz setup uses about 30MB(out of 1GB) more RAM than my Openbox setup (which are both the same except for the WM).

  • [SOLVED!] KDE 4.11 - Window Manager seems not to be running?

    Greetings,
    I still seem unable to fix the fact that systemsettings will run. However it will run if you do kdesu systemsettings.
    Doing so I started checking around in it and thought I'd look at the desktop effects, when I was greeted with this:
    So, I am guessing that the window borders and buttons are a figment of my imagination....
    This is after me pretty much starting over with KDE, removing the .kde and .kde4 folders.
    Help?
    Edit: That pic seems to not link right. Yay. Basically it says that effects can not be activated or whatever because a window manager seems not to be running. The irony of it is you can see the fact that there are window borders and buttons and such, evidence of a WM...
    I wonder if there is something here that is related to me not being able to run systemsettings... yet systemsettings will run fine in any other environment - including Gnome Shell.
    Another thing, KDE 4.11 ran great in testing and kde_unstable. Once it went to extra, things happened. I find that odd. Maybe something is missing on my end that most archers already have?
    Edit2: fixed image link
    Last edited by mythus (2013-08-25 20:49:38)

    No omeringen, Nvidia user.
    I can try again Thaodan since I've had some updates come through (and weeded out some dot files). Last time I tried I saw OpenGL 2 selected. Trying to change to 3 or anything else also got the screenshot in my OP.
    I'll log into KDE and see if it still does the same, after a brief check for last minute updates.
    EDIT: OK, so I can mark this as solved. I found an odd dot file, who's name excapes me but deals with kde sessions, just sitting around in the home folder. Once I deleted it and restarted, I found that not only System Settings finally ran again as a user, but I could also change and apply desktop effects. Peculiar. I thought that maybe it was a dot file that was causing the problem, that wasn't in the .kde or .kde4 folder. It just took finding it and removing it.
    I wish I knew more to tell, but this at least solves my issue, and the issue with the non-running-as-user system settings I had posted in another thread (thinking that they were separate events. Thanks again for all your help guys!
    Last edited by mythus (2013-08-25 20:49:05)

Maybe you are looking for