diff options
Diffstat (limited to 'modules.def.h')
| -rw-r--r-- | modules.def.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/modules.def.h b/modules.def.h new file mode 100644 index 0000000..8917d99 --- /dev/null +++ b/modules.def.h @@ -0,0 +1,124 @@ +#pragma once + +/* vxwm compile-time options */ + +/* KILLER FEATURES */ +#define INFINITE_TAGS 1 +/* +Most tiling window managers (like the default dwm) treat your screen like a slide-projector. You click a button, and the current "slide" is swapped for another. If an window is off-screen, it doesn't exist. + +With infinite tags enabled, vxwm treats your screen like a magnifying glass over a giant wooden desk. + +1. The Canvas is Infinite +Your windows aren't "on" tags. They are placed on a massive, invisible surface. Your monitor is just a small window through which you look at that surface. + +2. Move the View, Not Just the Windows +Instead of managing "layers" or "hidden states," you manage position. + +Want more space? Slide the view over. +Can't find a window? Switch your focus to it, and the world slides until that window is right under your nose. +Lost? Hit the "homecanvas" keybind to snap your view back to the start. +Even though this sounds complex, it is actually pretty lightweight, and is very easy to use. + + */ +#define IT_SHOW_COORDINATES_IN_BAR 1 // Shows your coordinates in the bar, pretty impossible to use infinite tags without this. + + + +/* Move/Resize */ +#define BETTER_RESIZE 1 // Enables 8 sided window resize. +#define BR_CHANGE_CURSOR 1 // When resizing windows while having BETTER_RESIZE set to 1, the cursor will change depending on from which side you are resizing. +#define LOCK_MOVE_RESIZE_REFRESH_RATE 1 // Recommended to use on every pc, because cpu (software) rendered apps like ST will lag when resizing even if you have a good pc. +#define USE_RESIZECLIENT_FUNC 0 // Use resizeclient function instead of resize function which ignores window's resize hints, not recommended. +#define RESIZING_WINDOWS_IN_ALL_LAYOUTS_FLOATS_THEM 1 // yeah. +#define MOVE_RESIZE_WITH_KEYBOARD 1 // Allows to move and resize windows with keyboard. + + + +/* Kind of eye candy */ +#define GAPS 1 // Gaps support. +#define XRDB 1 // Xrdb support. + + + +/* Tagging */ +#define TAG_TO_TAG 1 // If you switch to tag where you already are, it'll switch to previous tag. +#define SLOWER_TAGS_ANIMATION 0 // This slows down tags animation speed, which results in smoother tags animations (requires picom to see any difference). +#define WINDOWMAP 1 +/* This makes the windows get mapped or unmapped in X11. This results in certain + behaviour being enabled, some examples are: fix issues with some applications + losing input forever after a tag change or when you use a compositor like picom, + your windows will fade in and out when you switch dwm tags. */ + +#define PDWM_LIKE_TAGS_ANIMATION 0 +/* This makes function showhide be like in pdwm, if using a compositor like picom, + this results in an alternative tags animation. */ + + + +/* Bar */ +/* Internal */ +#define ALT_CENTER_OF_BAR_COLOR 1 // changes center of bar color to a dark color. +#define BAR_HEIGHT 1 // Support for changing bar height. +#define BAR_PADDING 1 // Support for changing the bar padding. +#define OCCUPIED_TAGS_DECORATION 0 // This provides the ability to use an alternative text for tags which contain at least one window aka occupied tags. + +/* External */ +#define EXTERNAL_BARS 1 // Support for external bars, essencial if you want to use external bars. +#define EWMH_TAGS 1 // Support for EWMH tags, recommended if you want to use external bars with less pain + + + +/* Warp to client */ +#define WARP_TO_CLIENT 0 // Includes the warp to client function needed for all options below. +#define WARP_TO_CENTER_OF_NEW_WINDOW 0 // Warps the cursor to center of the new window. +#define WARP_TO_CENTER_OF_PREVIOUS_WINDOW 0 // Warps cursor to center of the previous window after closing a window. +#define WARP_TO_CENTER_OF_ZOOMED_WINDOW 0 // Warps cursor to center of the window that was zoomed using zoom function. +#define WARP_TO_CENTER_OF_WINDOW_AFFECTED_BY_INCNMASTER 0 // Warps the cursor to center of the window that gets affected in use of incnmaster. +#define WARP_TO_CENTER_OF_WINDOW_AFFECTED_BY_ENHANCED_TOGGLE_FLOATING 0 // Warps cursor to center of the window that was affected by using enhancedtogglefloating function. +#define WARP_TO_CENTER_OF_WINDOW_AFFECTED_BY_FOCUSSTACK 0 // Warps cursor to center of the window that was focused by using focusstack function. +#define WARP_TO_CENTER_OF_WINDOW_MOVED_BY_KEYBOARD 0 // Warps cursor to center of the window that is moved by moveresize function. + + + +/* Misc */ +#define AUTOSTART 1 // Support for vxwm being able to start apps defined in config.h in startup. +#define FULLSCREEN 1 // Support for toggling fullscreen. +#define MOVE_IN_TILED 1 // Support for moving windows in tiled mode. +#define DIRECTIONAL_FOCUS 1 // yeah. +#define DIRECTIONAL_MOVE 1 +/* Makes moving windows in tiled layout possible with keyboard and it is directional, + bind for move is in #if MOVE_RESIZE_WITH_KEYBOARD section which makes it depending on + MOVE_RESIZE_WITH_KEYBOARD at the first sight but, it doesn't. You can bind the movedir + function manually which makes it independent like this: +#if DIRECTIONAL_MOVE + { MODKEY|ALTERNATE_MODKEY, XK_Left, movedir, {.i = 0} }, // Left + { MODKEY|ALTERNATE_MODKEY, XK_Right, movedir, {.i = 1} }, // Right + { MODKEY|ALTERNATE_MODKEY, XK_Up, movedir, {.i = 2} }, // Up + { MODKEY|ALTERNATE_MODKEY, XK_Down, movedir, {.i = 3} }, // Down +#endif +*/ + + + +/* Floating */ +/* Recomended to use with ALWAYS_CENTER_NEW_FLOATING_WINDOWS set to 1. */ + +#define FLOATING_LAYOUT_FLOATS_WINDOWS 1 +/* By default, in floating layout, windows appear to be floating, but, for dwm, + they are not. Because of this, when switching to tiled layout after floating + layout, windows will be tiled, enable this if you don't want that behaviour. */ + +#define ENHANCED_TOGGLE_FLOATING 1 +/* Support for enhanced toggle floating, when toggling floating window will + resize to its natural size, and in floating layout, window will be tiled. + REQUIRES "FLOATING_LAYOUT_FLOATS_WINDOWS" SET TO 1 TO WORK PROPERLY. */ + +#define RESTORE_SIZE_AND_POS_ETF 1 // Restore previous size and position of window when toggling floating + + + +/* Dependency list */ +/* INFINITE_TAGS requires WINDOWMAP, please set WINDOWMAP to 1, if not, it will be automatically enabled. + * ENHANCED_TOGGLE_FLOATING requires FLOATING_LAYOUT_FLOATS_WINDOWS, please set FLOATING_LAYOUT_FLOATS_WINDOWS to 1, if not, it will be automatically enabled. */ + |
