#Configuration for euclid-wm
#This file needs to be in $XDG_CONFIG_HOME (if $XDG_CONFIG_HOME is defined)
#Otherwise it needs to be in $HOME/.config
#it must be named euclid-wm.conf
#SYNTAX
#The parser is quite simple, so take note of case and spaces (including trailing whitespace)
#There are no quotation marks used (unless you want to send quote an argument being sent to an external app).
#Comments cannot be appended to a line, the # marker must be the first character.
#the general format is
#KEY = VALUE1 VALUE2
#or
#KEY = VALUE
#
#COLORS
#these get parsed by X, any colorname X recognizes will work
color_main_focus = #00000000ffff
color_stack_focus = #ffffffffffff
color_main_unfocus = #400040004000
color_stack_unfocus = #400040004000
color_stack_background = #010001000100
#RESERVED SPACE
#space can be reserved at the top or bottom of the screen, for example to allow dzen to be displayed,
#this only applies if the view is not in fullscreen mode:
reserved_top = 0
reserved_bottom = 0
reserved_left = 0
reserved_right = 0
#AUTOBALANCE
#if set to true, euclid will try to add windows to the view in order to give them all equal space,
#Specifically, it will try to keep the ratio of rows to columns = 1:1
#If not true, euclid places new windows below the currently focused window
autobalance = true
#SLOPPY FOCUS
#if set to true, euclid will automatically make window under mouse cursor focused
#If not true, focus should be changed via keyboard
#Note that new value of this option is applied to new windows
sloppy_focus = true
#RESIZE INCREMENT
#the incremental change for each resize keypress (kinda)
resize_increment = 30
#SEARCH WINDOW MENU
#euclid can use either dmenu or euclid-menu to present a list of windows when searching
#a non-zero value will result in euclid using euclid-menu
#otherwise, euclid will use dmenu
window_menu = 0
#MODKEY
#This is just a number, e.g, mod2 = 2.
modkey = 1
#BINDINGS
#binding format is bind_ACT = MOD KEY
#values of mod are M, MS, or N (mod, mod + shift, none)
#KEY is an X Keyname;
#you can find the X Keyname for a key by running xev in a terminal and prssing the key while the xev window is focused
#it will appear after the keysym
#spawn terminal or menu
#the second line of each pair is defining the command to send to /bin/sh
bind_spawn_menu = M Return
dmenu = dmenu_run
bind_spawn_term = MS Return
term = xterm
#goto view, as in as in, show the windows on it
bind_goto_next_view = M m
bind_goto_previous_view = M n
#move focused window to view
bind_move_to_next_view = MS m
bind_move_to_previous_view = MS n
#move the main focus:
bind_focus_left = M h
bind_focus_down = M j
bind_focus_up = M k
bind_focus_right = M l
#move windows within the current view
bind_shift_win_left = MS h
bind_shift_win_down = MS j
bind_shift_win_up = MS k
bind_shift_win_right = MS l
#resize windows (direction refers to the direction the lower right corner is moved relative to the top left corner)
bind_resize_left = M y
bind_resize_down = M u
bind_resize_up = M i
bind_resize_right = M o
#stack visibility
bind_toggle_stack = M space
#move windows to and from the stack (minimize and restore)
bind_move_to_stack = M period
bind_move_to_main = M comma
bind_swap_stack_and_main = M slash
#move the stack focus
bind_stack_focus_up = M semicolon
bind_stack_focus_down = M apostrophe
#push the item with stack focus up or down in the stack
bind_swap_stack_up = MS semicolon
bind_swap_stack_down = MS apostrophe
#flip the tracks of the current view
bind_toggle_orientation = M Tab
#close and kill windows
bind_close_win = M Escape
bind_kill_win = MS Escape
#toggle fullscreen
bind_toggle_fullscreen = MS space
#quit the session
bind_quit = MS q
#reload these settings
bind_reload_config = M r
#move focus to screen (Previous and Next are the X names for PgUp and PgDown:
bind_goto_previous_screen = M Prior
bind_goto_next_screen = M Next
#search for a window via dmenu
bind_search = MS slash
#switch to last view
bind_move_to_last_view = M backslash
#CUSTOM HOTKEYS
#euclid supports up to 99 hotkeys, bound to external commands
#the format for the binding is: bind_custom_[01-99] = [M | MS | N] [keyname] (just like normal bindings)
#the format for the associated commands is: custom_command_[01-99] = [command to pass to shell]
#e.g.,
#bind_custom_01 = N Print
#custom_command_01 = scrot -e 'mv $f ~/screenshots/'
#bind_custom_02 = M x
#custom_command_02 = slock
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/euclid-wm
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/euclid-wm
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master