Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 18fc868123c77ede7d689d21f63d17160e31ad65
parent db725dfda06fef5647800b0871b734f588f4ea75
Author: Robbie D <>
Date:   Sun, 20 Jan 2019 12:17:53 -0600

Added Simon (Home Laptop)

simon/.Xdefaults | 50++++++++++++++++++++++++++++++++++++++++++++++++++
simon/.profile | 7+++++++
simon/.xsession | 12++++++++++++
simon/Config.h | 426+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 495 insertions(+), 0 deletions(-)

diff --git a/simon/.Xdefaults b/simon/.Xdefaults @@ -0,0 +1,50 @@ +! Geneal X settings + +Xcursor.theme: BMZ + +! Xterm and urxvt colors + +! special +*.foreground: #282a2e +*.background: #e9efe7 +*.cursorColor: #282a2e + +! black +*.color0: #282a2e +*.color8: #373b41 + +! red +*.color1: #a54242 +*.color9: #cc6666 + +! green +*.color2: #8c9440 +*.color10: #b5bd68 + +! yellow +*.color3: #de935f +*.color11: #f0b645 + +! blue +*.color4: #5f819d +*.color12: #81a2be + +! magenta +*.color5: #85678f +*.color13: #b294bb + +! cyan +*.color6: #5e8d87 +*.color14: #8abeb7 + +! white +*.color7: #707880 +*.color15: #2d2e2d + +! urxvt specific options + +URxvt*scrollColor: #cae6da +URxvt*scrollstyle: plain +URxvt*scrollBar_right: true +URxvt*termName: screen-256color +URxvt*visualBell: true diff --git a/simon/.profile b/simon/.profile @@ -0,0 +1,7 @@ +# $OpenBSD: dot.profile,v 1.5 2018/02/02 02:29:54 yasuoka Exp $ +# +# sh/ksh initialization + +PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games +export PATH HOME TERM +alias ls='ls -F' diff --git a/simon/.xsession b/simon/.xsession @@ -0,0 +1,12 @@ +# Use middle mouse button and TrackPoint to scroll +xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation" 1 & +xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Axes" 6 7 4 5 & +xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Button" 2 & +xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Timeout" 50 & +xinput set-prop "/dev/wsmouse" "WS Pointer Wheel Emulation Intertia" 3 & + +exec tint2 & +exec dunst -conf /home/overseer/.config/dunstrc/dunstrc & +exec feh --bg-fill /home/overseer/Pictures/Wallpapers/dragon.jpg & +xrdb ~/.Xresources & +exec wmx diff --git a/simon/Config.h b/simon/Config.h @@ -0,0 +1,426 @@ + +#ifndef _CONFIG_H_ +#define _CONFIG_H_ + +// ============================ +// Configuration header for wmx +// ============================ +// +// To configure: change the relevant bit of the file, and rebuild the +// manager. Make sure all necessary source files are built (by +// running "make depend" before you start). +// +// This file is in four sections. (This might imply that it's getting +// too long.) The sections are: +// +// I. Straightforward operational parameters +// II. Key bindings +// III. Colours and fonts +// IV. Flashy stuff: channels, pixmaps, skeletal feedback &c. +// +// All timing values are in milliseconds, but accuracy depends on the +// minimum timer value available to select, so they should be taken +// with a pinch of salt. On the machine I'm using now, I mentally +// double all the given values. +// +// -- Chris Cannam, January 1998 + + +// This isn't one of the sections. This is the structure for Stefan +// `Sec' Zehl's runtime configuration hack -- see Config.C. It's a +// bit incomplete, but works, mostly. Anything in this file that's +// #defined to DynamicConfig::config.something() will take its default +// from Config.C + +struct DynamicConfigImpl; +class DynamicConfig +{ +public: + DynamicConfig(); + ~DynamicConfig(); + void scan(char startup = 0); + + char clickFocus(); + char raiseFocus(); + char autoRaiseFocus(); + int raiseDelay(); + char useKeyboard(); + char fullMenu(); + char useFeedback(); + int feedbackDelay(); + char disableNew(); + char rightCirculate(); + char rightLower(); + char rightToggleHeight(); + char passFocusClick(); + int tabMargin(); + char *tabForeground(); + char *tabBackground(); + char *frameBackground(); + + static DynamicConfig config; + +private: + DynamicConfigImpl *m_impl; + void update(char *); +}; + + +// ================================================= +// Section I. Straightforward operational parameters +// ================================================= + +// List visible as well as hidden clients on the root menu? (Visible +// ones will be towards the bottom of the menu, flush-right.) +#define CONFIG_EVERYTHING_ON_ROOT_MENU (DynamicConfig::config.fullMenu()) + +// Spawn a temporary new shell between the wm and each new process? +#define CONFIG_EXEC_USING_SHELL False + +// What to run to get a new window (from the "New" menu option) +#define CONFIG_NEW_WINDOW_LABEL "New" +#define CONFIG_NEW_WINDOW_COMMAND "urxvt" +#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS 0 +// or, for example, +//#define CONFIG_NEW_WINDOW_COMMAND_OPTIONS "-ls","-sb","-sl","1024",0 +// alternatively, +#define CONFIG_DISABLE_NEW_WINDOW_COMMAND False + +// Area where [exit wmx] is added (0 -> everywhere -# -> px from other side) +#define CONFIG_EXIT_CLICK_SIZE_X 0 +#define CONFIG_EXIT_CLICK_SIZE_Y -3 + +// Directory under $HOME in which to look for commands for the +// middle-button menu +#define CONFIG_COMMAND_MENU ".wmx" +// only used if COMMAND_MENU is not found; ignored if invalid directory: +#define CONFIG_SYSTEM_COMMAND_MENU "/usr/local/lib/wmx/menu" +// append screennumber to COMMAND_MENU directory; +// use non screen style as fallback +#define CONFIG_ADD_SCREEN_TO_COMMAND_MENU False + +// Focus possibilities. +// +// You can't have CLICK_TO_FOCUS without RAISE_ON_FOCUS, but the other +// combinations should be okay. If you set AUTO_RAISE you must leave +// the other two False; you'll then get focus-follows, auto-raise, and +// a delay on auto-raise as configured in the DELAY settings below. + +#define CONFIG_CLICK_TO_FOCUS False +#define CONFIG_RAISE_ON_FOCUS False +#define CONFIG_AUTO_RAISE False + +#define CONFIG_PASS_FOCUS_CLICK (DynamicConfig::config.passFocusClick()) + +// Delays when using AUTO_RAISE focus method +// +// In theory these only apply when using AUTO_RAISE, not when just +// using RAISE_ON_FOCUS without CLICK_TO_FOCUS. First of these is the +// usual delay before raising; second is the delay after the pointer +// has stopped moving (only when over simple X windows such as xvt). + +#define CONFIG_AUTO_RAISE_DELAY (DynamicConfig::config.raiseDelay()) +#define CONFIG_POINTER_STOPPED_DELAY 80 +#define CONFIG_DESTROY_WINDOW_DELAY 600 + +// Number of pixels off the screen you have to push a window +// before the manager notices the window is off-screen (the higher +// the value, the easier it is to place windows at the screen edges) + +#define CONFIG_BUMP_DISTANCE 16 + +// If CONFIG_BUMP_EVERYWHERE is defined, windows will "bump" against +// other window edges as well as the edges of the screen + +#define CONFIG_BUMP_EVERYWHERE True + +// If CONFIG_PROD_SHAPE is True, all frame element shapes will be +// recalculated afresh every time their focus changes. This will +// probably slow things down hideously, but has been reported as +// necessary on some systems (possibly SunOS 4.x with OpenWindows). + +#define CONFIG_PROD_SHAPE False + +// If RESIZE_UPDATE is True, windows will opaque-resize "correctly"; +// if False, behaviour will be as in wm2 (stretching the background +// image only). + +#define CONFIG_RESIZE_UPDATE True + +// If USE_COMPOSITE is true, wmx will enable composite redirects for +// all windows if the Composite extension is present. This should +// make no difference at all to the appearance or behaviour of wmx, +// but it may make it substantially faster with modern video cards +// that optimise rendering more than old-fashioned window operations. + +#define CONFIG_USE_COMPOSITE True + +// If RAISELOWER_ON_CLICK is True, clicking on the title of the +// topmost window will lower instead of raising it (patch due to +// Kazushi (Jam) Marukawa) + +#define CONFIG_RAISELOWER_ON_CLICK True + +// If USE_WINDOW_GROUPS is True, then if an application marks a mapped +// window as a group leader, when iconified, moved between desktops, +// killed etc, the leader will take all the rest of its window group +// with it. Very few applications make any use of this -- indeed I +// haven't found any to test it on yet, so it probably doesn't work. +// This is different from the group stuff from Henri Naccache to be +// found further down this file + +#define CONFIG_USE_WINDOW_GROUPS True + +// If USE_SESSION_MANAGER is True, and you have an Xsmc session +// manager running, wmx will respond to session manager callbacks and +// notify the session manager of its restart command. + +#define CONFIG_USE_SESSION_MANAGER True + +// Specify the maximum length of an entry in the client menu or the command +// menu. Set this to zero if you want no limitation + +#define MENU_ENTRY_MAXLENGTH 80 + + +// ======================== +// Section II. Key bindings +// ======================== + +// Allow keyboard control? +#define CONFIG_USE_KEYBOARD (DynamicConfig::config.useKeyboard()) + +// This is the key for wm controls: e.g. Alt/Left and Alt/Right to +// flip channels, and Alt/Tab to switch windows. (On my 105-key +// PC keyboard, Meta_L corresponds to the left Windows key.) + +#define CONFIG_ALT_KEY XK_Super_L + +// And these define the rest of the keyboard controls, when the above +// modifier is pressed; they're keysyms as defined in <X11/keysym.h> +// and <X11/keysymdef.h> + +#define CONFIG_FLIP_UP_KEY XK_Right +#define CONFIG_FLIP_DOWN_KEY XK_Left +#define CONFIG_HIDE_KEY XK_Return +#define CONFIG_STICKY_KEY XK_Pause +#define CONFIG_RAISE_KEY XK_Up +#define CONFIG_LOWER_KEY XK_Down +// Prior and Next should be the same as Page_Up and Page_Down in R6 +#define CONFIG_FULLHEIGHT_KEY XK_Prior +#define CONFIG_NORMALHEIGHT_KEY XK_Next +#define CONFIG_FULLWIDTH_KEY XK_KP_Add +#define CONFIG_NORMALWIDTH_KEY XK_KP_Subtract +#define CONFIG_MAXIMISE_KEY XK_Home +#define CONFIG_UNMAXIMISE_KEY XK_End +#define CONFIG_SAME_KEY_MAX_UNMAX True + +// With modifier, print a list of client data to stdout +#define CONFIG_DEBUG_KEY XK_Print + +// The next two may clash badly with Emacs, if you use Alt as the +// modifier. The commented variants might work better for some. +#define CONFIG_CIRCULATE_KEY XK_Tab +//#define CONFIG_CIRCULATE_KEY XK_grave +//#define CONFIG_CIRCULATE_KEY XK_section +#define CONFIG_DESTROY_KEY XK_BackSpace +//#define CONFIG_DESTROY_KEY XK_Delete +//#define CONFIG_DESTROY_KEY XK_Insert + +// If WANT_KEYBOARD_MENU is True, then the MENU_KEY, when pressed with +// the modifier, will call up a client menu with keyboard navigation +#define CONFIG_WANT_KEYBOARD_MENU True +#define CONFIG_CLIENT_MENU_KEY XK_Escape +#define CONFIG_COMMAND_MENU_KEY XK_Multi_key +#define CONFIG_EXIT_ON_KBD_MENU True +// these are for navigating on the menu; they don't require a modifier +#define CONFIG_MENU_UP_KEY XK_Up +#define CONFIG_MENU_DOWN_KEY XK_Down +#define CONFIG_MENU_SELECT_KEY XK_Return +#define CONFIG_MENU_CANCEL_KEY XK_Escape + +// Useful for fortunate people with Sun Type-5 keyboards. These don't +// require the modifier to be pressed. +#define CONFIG_WANT_SUNKEYS False +#define CONFIG_WANT_SUNPOWERKEY True +#define CONFIG_QUICKRAISE_KEY XK_F15 +#define CONFIG_QUICKHIDE_KEY XK_F17 +#define CONFIG_QUICKHEIGHT_KEY XK_F13 +#define CONFIG_QUICKCLOSE_KEY XK_F11 +#define CONFIG_QUICKRAISE_ALSO_LOWERS True +#define CONFIG_SUNPOWER_EXEC "/usr/openwin/bin/sys-suspend" +#define CONFIG_SUNPOWER_OPTIONS "-x","-h",0 +#define CONFIG_SUNPOWER_SHIFTOPTIONS "-x","-n",0 + +// Mouse Configuration +// Use this section to remap your mouse button actions. +// Button1 = LMB, Button2 = MMB, Button3 = RMB +// Button4 = WheelUp, Button5 = WheelDown +// To prevent one or more of these from being supported +// at all, define it to CONFIG_NO_BUTTON. +#define CONFIG_NO_BUTTON 999 +#define CONFIG_CLIENTMENU_BUTTON Button1 +#define CONFIG_COMMANDMENU_BUTTON Button3 +#define CONFIG_CIRCULATE_BUTTON Button2 // switch window, when over frame +#define CONFIG_PREVCHANNEL_BUTTON Button5 // flip channel, when over frame +#define CONFIG_NEXTCHANNEL_BUTTON Button4 // flip channel, when over frame + + +// ============================== +// Section III. Colours and fonts +// ============================== + +// Define CONFIG_USE_XFT to enable Xft support for drawing fonts. +// Otherwise plain X calls will be used. The rest of the font +// configuration depends on whether or not this is set. + +//#define CONFIG_USE_XFT 1 + +#ifdef CONFIG_USE_XFT + +// Fonts used all over the place. FRAME_FONT is a comma-separated +// list of font names to use for the frame text (the first available +// font in the list is used). MENU_FONT is likewise for menu text. +// The SIZE values are in pixels. + +//!!! no proper way to handle italic/bold yet + +#define CONFIG_FRAME_FONT "Bitstream Vera Sans,Lucida Sans Unicode" +#define CONFIG_FRAME_FONT_SIZE 12 + +#define CONFIG_MENU_FONT "Bitstream Vera Sans,Lucida Sans Unicode" +#define CONFIG_MENU_FONT_SIZE 12 + +#else + +// Fonts used all over the place. NICE_FONT is for the frames, and +// NICE_MENU_FONT for the menus. NASTY_FONT is what you'll get if it +// can't find one of the NICE ones. These are font lists, rather than +// single fonts + +#define CONFIG_NICE_FONT "-misc-montserrat alternates-medium-r-normal--0-0-0-0-p-0-iso8859-1,-*-*-medium-r-*-*-14-*-75-75-*-*-*-*" +#define CONFIG_NICE_MENU_FONT "-*-lucida-medium-r-*-*-14-*-75-75-*-*-*-*,-*-*-medium-r-*-*-14-*-75-75-*-*-*-*" +#define CONFIG_NASTY_FONT "fixed,-*-*-*-*-*-*-14-*-75-75-*-*-*-*" + +#endif + +// CONFIG_TAB_MARGIN defines the size of the gap on the left and right of the +// text in the tab. + +#define CONFIG_TAB_MARGIN (DynamicConfig::config.tabMargin()) + + +// If USE_PLAIN_X_CURSORS is True, wmx will use cursors from the +// standard X cursor font; otherwise it will install its own. You may +// wish to set this if your X client and server are on different +// endian machines, or if you've aliased the cursor font to something +// else you like better, or if you just prefer the plain X cursors + +#define CONFIG_USE_PLAIN_X_CURSORS True + +// Colours for window decorations. The BORDERS one is for the +// one-pixel border around the edge of each piece of decoration, not +// for the whole decoration + +#define CONFIG_TAB_FOREGROUND (DynamicConfig::config.tabForeground()) +#define CONFIG_TAB_BACKGROUND (DynamicConfig::config.tabBackground()) +#define CONFIG_FRAME_BACKGROUND (DynamicConfig::config.frameBackground()) +#define CONFIG_BUTTON_BACKGROUND (DynamicConfig::config.frameBackground()) +#define CONFIG_BORDERS "black" +#define CONFIG_CHANNEL_NUMBER "green" +#define CONFIG_CLOCK_NUMBER "gray90" + +#define CONFIG_MENU_FOREGROUND (DynamicConfig::config.tabForeground()) +#define CONFIG_MENU_BACKGROUND (DynamicConfig::config.tabBackground()) +#define CONFIG_MENU_BORDERS "black" + +// Pixel width for the bit of frame to the left of the window and the +// sum of the two bits at the top +// Note that this value cannot be lower than 6 + +#define CONFIG_FRAME_THICKNESS 6 + + +// ======================== +// Section IV. Flashy stuff +// ======================== + +// If USE_PIXMAPS is True the frames will be decorated with the pixmap +// in ./background.xpm; if USE_PIXMAP_MENUS is also True, the menus +// will be too. The latter screws up in palette-based visuals, but +// should be okay in true-colour. + +#define CONFIG_USE_PIXMAPS True +#define CONFIG_USE_PIXMAP_MENUS True + +// Set CHANNEL_SURF for multi-channel switching; CHANNEL_CLICK_SIZE is +// how close you have to middle-button-click to the top-right corner +// of the root window before the channel change happens. Set +// USE_CHANNEL_KEYS if you want Alt-F1, Alt-F2 etc for quick channel +// changes, provided USE_KEYBOARD is also True. Set USE_CHANNEL_MENU +// if you want to change channels via a keyboard-controlled menu +// instead of linearly up and down one at a time like TV. + +#define CONFIG_CHANNEL_SURF True +#define CONFIG_CHANNEL_CLICK_SIZE 120 +#define CONFIG_CHANNEL_NUMBER_SIZE 5 +#define CONFIG_USE_CHANNEL_KEYS True +#define CONFIG_USE_CHANNEL_MENU False + +// FLIP_DELAY is the length of time the big green number stays in the +// top-right when flipping channels, before the windows reappear. +// QUICK_FLIP_DELAY is the equivalent figure used when flipping with +// the Alt-Fn keys or mouse wheel. Milliseconds. + +#define CONFIG_FLIP_DELAY 1000 +#define CONFIG_QUICK_FLIP_DELAY 500 + +// Set MAD_FEEDBACK for skeletal representations of windows when +// flicking through the client menu and changing channels. The DELAY +// is how long skeletal feedback has to persist before wmx decides to +// post the entire window contents instead; if it's negative, the +// contents will never be posted. Experiment with these -- if your +// machine is fast and you're really hyper, you might even like a +// delay of 0ms. + +#define CONFIG_MAD_FEEDBACK (DynamicConfig::config.useFeedback()) +#define CONFIG_FEEDBACK_DELAY 0 + +// Position of the geometry window: +// X < 0 left, X > 0 right, X = 0 center +// Y < 0 top, Y > 0 bottom, Y = 0 center +#define CONFIG_GEOMETRY_X_POS 10000 +#define CONFIG_GEOMETRY_Y_POS 10000 + +// Groups are fun. you can bind a bunch of windows to a number key +// and when you press CONFIG_ALT_KEY_MASK and the number key +// all the windows of that group are raised. + +// You bind a window to a group by pressing the +// CONFIG_ALT_KEY_MASK + CONFIG_GROUP_ADD + a number key + +// if you press CONFIG_ALT_KEY_MASK + CONFIG_GROUP_REMOVE_ALL +// + a number key that group is cleared of all windows. + +#define CONFIG_GROUPS True +#define CONFIG_GROUP_ADD ControlMask +#define CONFIG_GROUP_REMOVE_ALL ShiftMask + +// Set CLOCK if you want wmx to display a clock permanently in the +// background at top-left of screen 0. Use CONFIG_CLOCK_NUMBER +// to control the colour of the clock digits. + +#define CONFIG_CLOCK False + +// This lets you choose whether to keep the regular wmx +// mouse button behaviour, or go w/ the GNOME-described one. +// If this is True, the left mouse button (button1) lets you +// select 1 or more gmc 'icons' and drag them around etc, +// the right mouse button (button3) pops up the GNOME +// command menu, and the middle mouse button (button2) +// acts like the left mouse normally does (list of windows) + +#define CONFIG_GNOME_BUTTON_COMPLIANCE False + +#endif +