testing the monster (scrot)
Neuromatic Jun 01, 2013 (wms/monster)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /* see LICENSE for copyright and license */
#ifndef CONFIG_H
#define CONFIG_H
/** modifiers **/
#define MOD1 Mod1Mask /* ALT key */
#define MOD4 Mod4Mask /* Super/Windows key */
#define CONTROL ControlMask /* Control key */
#define SHIFT ShiftMask /* Shift key */
/** generic settings **/
#define MASTER_SIZE 0.50
#define SHOW_PANEL True /* show panel by default on exec */
#define TOP_PANEL True /* False means panel is on bottom */
#define PANEL_HEIGHT 18 /* 0 for no space for panel, thus no panel */
#define DEFAULT_MODE TILE /* initial layout/mode: TILE MONOCLE BSTACK GRID FLOAT */
#define ATTACH_ASIDE True /* False means new window is master */
#define FOLLOW_WINDOW False /* follow the window when moved to a different desktop */
#define FOLLOW_MOUSE False /* focus the window the mouse just entered */
#define CLICK_TO_FOCUS True /* focus an unfocused window when clicked */
#define FOCUS_BUTTON Button3 /* mouse button to be used along with CLICK_TO_FOCUS */
#define BORDER_WIDTH 1 /* window border width */
#define FOCUS "#395573" /* focused window border color */
#define UNFOCUS "#111111" /* unfocused window border color */
#define MINWSZ 50 /* minimum window size in pixels */
#define DEFAULT_DESKTOP 0 /* the desktop to focus initially */
#define DESKTOPS 5 /* number of desktops - edit DESKTOPCHANGE keys to suit */
/**
* open applications to specified desktop with specified mode.
* if desktop is negative, then current is assumed
*/
static const AppRule rules[] = { \
/* class desktop follow float */
{ "MPlayer", 3, True, False },
{ "dwb" , 1, True, False },
{ "mutt" , 4, False, False },
};
/* helper for spawning shell commands */
#define SHCMD(cmd) {.com = (const char*[]){"/bin/sh", "-c", cmd, NULL}}
/**
* custom commands
* must always end with ', NULL };'
*/
static const char *termcmd[] = { "urxvtc", NULL };
static const char *volup[] = { "volup.sh", NULL };
static const char *voldwn[] = { "voldwn.sh", NULL };
static const char *menucmd[] = { "dmenu_run", "-nb", "#000000", "-nf", "#aaaaaa", "-sb", "#000000", "-sf", "#ffffff", "-fn", "-*-ohsnap-medium-r-*-*-14-*-*-*-*-*-*-*", NULL };
#define DESKTOPCHANGE(K,N) \
{ MOD1, K, change_desktop, {.i = N}}, \
{ MOD1|ShiftMask, K, client_to_desktop, {.i = N}},
/**
* keyboard shortcuts
*/
static Key keys[] = {
/* modifier key function argument */
{ MOD4, XK_Return, spawn, {.com = termcmd}},
{ MOD4, XK_p, spawn, {.com = menucmd}},
{ MOD1, XK_u, spawn, {.com = volup}},
{ MOD1, XK_d, spawn, {.com = voldwn}},
{ MOD1, XK_b, togglepanel, {NULL}},
{ MOD1, XK_BackSpace, focusurgent, {NULL}},
{ MOD4|SHIFT, XK_c, killclient, {NULL}},
{ MOD4, XK_j, next_win, {NULL}},
{ MOD4, XK_k, prev_win, {NULL}},
{ MOD4, XK_h, resize_master, {.i = -10}}, /* decrease size in px */
{ MOD4, XK_l, resize_master, {.i = +10}}, /* increase size in px */
{ MOD1, XK_o, resize_stack, {.i = -10}}, /* shrink size in px */
{ MOD1, XK_p, resize_stack, {.i = +10}}, /* grow size in px */
{ MOD4, XK_Left, rotate, {.i = -1}},
{ MOD4, XK_Right, rotate, {.i = +1}},
{ MOD1|SHIFT, XK_h, rotate_filled, {.i = -1}},
{ MOD1|SHIFT, XK_l, rotate_filled, {.i = +1}},
{ MOD1, XK_Tab, last_desktop, {NULL}},
{ MOD1, XK_Return, swap_master, {NULL}},
{ MOD4|SHIFT, XK_j, move_down, {NULL}},
{ MOD4|SHIFT, XK_k, move_up, {NULL}},
{ MOD4 , XK_t, switch_mode, {.i = TILE}},
{ MOD1|SHIFT, XK_m, switch_mode, {.i = MONOCLE}},
{ MOD4, XK_b, switch_mode, {.i = BSTACK}},
{ MOD4, XK_g, switch_mode, {.i = GRID}},
{ MOD4, XK_f, switch_mode, {.i = FLOAT}},
{ MOD4|SHIFT, XK_r, quit, {.i = 0}}, /* quit with exit value 0 */
{ MOD4|SHIFT, XK_q, quit, {.i = 1}}, /* quit with exit value 1 */
{ MOD1, XK_j, moveresize, {.v = (int []){ 0, 25, 0, 0 }}}, /* move down */
{ MOD1, XK_k, moveresize, {.v = (int []){ 0, -25, 0, 0 }}}, /* move up */
{ MOD4, XK_l, moveresize, {.v = (int []){ 25, 0, 0, 0 }}}, /* move right */
{ MOD4, XK_h, moveresize, {.v = (int []){ -25, 0, 0, 0 }}}, /* move left */
{ MOD1|CONTROL, XK_j, moveresize, {.v = (int []){ 0, 0, 0, 25 }}}, /* height grow */
{ MOD1|CONTROL, XK_k, moveresize, {.v = (int []){ 0, 0, 0, -25 }}}, /* height shrink */
{ MOD1|SHIFT, XK_l, moveresize, {.v = (int []){ 0, 0, 25, 0 }}}, /* width grow */
{ MOD1|SHIFT, XK_h, moveresize, {.v = (int []){ 0, 0, -25, 0 }}}, /* width shrink */
DESKTOPCHANGE( XK_1, 0)
DESKTOPCHANGE( XK_2, 1)
DESKTOPCHANGE( XK_3, 2)
DESKTOPCHANGE( XK_4, 3)
DESKTOPCHANGE( XK_5, 4)
DESKTOPCHANGE( XK_6, 5)
};
/**
* mouse shortcuts
*/
static Button buttons[] = {
{ MOD4, Button1, mousemotion, {.i = MOVE}},
{ MOD1, Button3, mousemotion, {.i = RESIZE}},
{ MOD4, Button3, spawn, {.com = menucmd}},
};
#endif
/* vim: set expandtab ts=4 sts=4 sw=4 : */
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/env bash
wm="monsterwm"
ff="/tmp/monsterwm.fifo"
tags=('main' 'www' 'chat' 'foo' 'bar')
layouts=('[]=' '[ ]' 'T=' '[#]')
conky -c $HOME/.conkyrc | dzen2 -bg '#000000' -h 18 -x 320 -ta r -e -p -fn "-*-ohsnap-medium-r-*-*-14-*-*-*-*-*-*-*" &
# Check if it's a pipe, otherwise create it
[[ -p $ff ]] || mkfifo -m 600 "$ff"
while read -t 60 -r wmout || true; do
desktops=( $(cut -d"|" -f1 <<< "$wmout") )
title="$(cut -d"|" -f2- <<< "$wmout")"
if [[ "${desktops[@]}" =~ ^(([[:digit:]]+:)+[[:digit:]]+ ?)+$ ]]; then
unset tmp
for desktop in "${desktops[@]}"; do
IFS=':' read -r d w m c u <<< "$desktop"
# Tags labels
label="${tags[$d]}"
# Is this the current desktop ? save the layout
((c)) && fg="#ffffff" bg="#000000" && layout="${layouts[$m]}" \
|| fg="#aaaaaa" bg="#000000"
# Has windows ?
((w)) && fg="#395573"
# Urgent windows ?
((u)) && fg="#ef2929"
tmp+="^fg($fg)^bg($bg) $label ^bg()^fg()"
done
fi
# Merge the clients indications, the tile and the info
echo "$tmp $layout $title"
done < "$ff" | dzen2 -bg '#000000' -w 320 -h 18 -ta l -e -p -fn "-*-ohsnap-medium-r-*-*-14-*-*-*-*-*-*-*" &
while :; do "$wm" || break; done | tee -a "$ff"
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/bin/sh
#
# ~/.xinitrc
#
#makes Font useable
xset +fp /usr/share/fonts/local
xset fp rehash
#Starts rxct-unicode daemon for much better Performance
urxvtd -f &
#Set Wallpaer (if is wished)
feh --no-fehbg --bg-scale /home/danny/bilder/Wallpaper/linux.jpg
#Set Cursor theme
xsetroot -cursor_name left_ptr &
#Hide the Mouse-Cursor
unclutter -idle 1 &
#Adds a conky to Statusbar
#conky -c /home/danny/.conkyrc.2 | while read -r; do xsetroot -name "$REPLY"; done &
#sh /home/danny/.bin/sh/dzen.sh &
#Starts dwm with log file
#while true; do
# dwm 2> ~/.dwm.log
#done
#Execute this for monsterwm && dzen
exec bash /home/danny/.bin/sh/monsterbar.sh
#Starts dwm without log file
#exec dwm
|
x
Notes
Status script stolen from DjDexter ( thx ;) ) So look at his files.