gimp but for windows: a wayland compositor (Main remote: https://github.com/m-col/wimp)
git clone https://mcol.xyz/code/wimp
Log | Files | Refs | README

DateCommit messageAuthorFiles+-
2021-02-15 01:34Convert config-reading logic into client-message parsingmcol9+252-341
2021-02-15 00:05add server-side IPC handlermcol5+89-3
2021-02-14 19:53add skeleton for wimptool client interfacemcol3+65-9
2021-02-14 18:15DESKWM -> WIMP in headersmcol13+26-26
2021-02-14 12:01error if str_handler gets no arguments for config optionmcol1+4-0
2021-02-13 22:07Draw borders as hollow boxmcol1+31-29
2021-02-13 15:20set minimum window dimensions and do not go over when resizingmcol1+20-0
2021-02-13 14:34Don't unfocus when focussing to non-interactive layer surfacemcol1+3-0
2021-02-13 14:18centre cursor position when resetting zoommcol1+6-22
2021-02-13 12:10Rendering corner areas and drag on them to resize windowsmcol4+86-7
2021-02-12 23:45add general corner colours even without mods, to bind to actionsmcol7+41-61
2021-02-12 20:59return view from under_pointer() if the pointer is within its bordermcol1+19-2
2021-02-12 19:23Add `desk X corner resize` option, colouring view corners when mod heldmcol8+72-12
2021-02-12 14:34scale borders when zoomingmcol2+7-5
2021-02-12 11:55simplify on_request_cursormcol1+1-4
2021-02-12 11:19damage outputs when (re)setting wallpapermcol2+2-0
2021-02-12 11:16add damage_mark_indicatormcol4+34-6
2021-02-12 10:49pan_to_view: only damage when panning requiredmcol1+9-3
2021-02-12 10:46damage only necessary boxes when moving windowmcol1+19-0
2021-02-12 10:33use view_apply_geometry for maximizemcol1+7-7
2021-02-12 10:30add view_apply_geometry function to clean up some repeated code usemcol3+33-10
2021-02-12 10:07Fix focussing and damage tracking for layer shell surfacesmcol6+93-47
2021-02-12 09:38pan to view when trying to focus in direction even if none foundmcol1+5-1
2021-02-11 23:21focus_view will get surface from view if not providedmcol3+15-10
2021-02-11 23:13add output damage upon layer shell surface commitmcol2+12-12
2021-02-11 23:01avoid damage_box memcpy if possiblemcol1+10-8
2021-02-11 21:53focus next view when unmappingmcol1+1-1
2021-02-11 21:40fix readme rst syntaxmcol1+8-8
2021-02-11 21:34add logomcol2+2-11
2021-02-11 21:13update readmemcol2+41-10
2021-02-11 19:15add some acknowledgementsmcol1+11-0
2021-02-11 19:09Enable tap-to-click for libinput devicesmcol2+17-4
2021-02-10 23:23keyboard.c -> input.cmcol7+231-234
2021-02-10 22:28Warp cursor to centre of output layout upon startmcol3+12-0
2021-02-08 23:59remove erroneous mapping of scratchpad that duplicates wl_list insertionsmcol1+0-1
2021-02-08 23:55add scratchpad_from_idmcol3+16-8
2021-02-08 23:11Update wlroots min versionmcol5+94-13
2021-02-08 20:11fix issue where setting desk when scratchpad is focussed doesnt damage outputmcol1+1-2
2021-02-07 23:50damage only view area when focussingmcol1+29-27
2021-02-07 23:01add rudimentary damage trackingmcol8+130-12
2021-02-07 17:56Add early stage output managermcol2+96-0
2021-02-07 11:46Correctly place windows within additional monitorsmcol1+0-2
2021-02-07 11:43move output freeing into output.cmcol3+25-17
2021-02-06 23:59Add auto_focus config optionmcol5+19-2
2021-02-06 23:32go to the first desk when removing the last deskmcol1+1-2
2021-02-06 22:55Make sure focus falls to the right window when unfocussingmcol4+42-27
2021-02-06 21:01clean up view_to_deskmcol1+18-11
2021-02-06 20:55remove scratchpad from wl_list when droppingmcol1+1-0
2021-02-06 20:45correct borders config option inline commentmcol1+2-2
2021-02-06 20:42don't free keyboards twicemcol2+4-10
2021-02-06 19:07remove scratchpads upon config reload or shutdownmcol4+21-8
2021-02-06 14:28update example config with scratchpad geometrymcol1+5-2
2021-02-06 14:25move scratchpad functions into dedicated filemcol6+86-68
2021-02-06 14:06Pass widthxheight+x+y geometry to scratchpads to set geometrymcol3+137-22
2021-02-04 21:55Add scratchpad windowsmcol9+189-14
2021-02-03 23:28log error when failing to execmcol1+4-1
2021-02-03 22:56hit precise zoom min and max valuesmcol1+6-5
2021-02-02 21:41implement virtual keyboard protocolmcol2+36-2
2021-02-01 18:48Correctly position windows on additional outputsmcol1+5-3
2021-01-31 21:16focus highest visible window when going to a markmcol1+26-12
2021-01-31 20:26add maximize actionmcol4+25-0
2021-01-31 20:15unfullscreen when zooming/panning/focussing etcmcol3+21-5
2021-01-31 19:34don't try to set desk to current deskmcol1+14-12
2021-01-31 18:59take into account border when position new windowsmcol1+2-0
2021-01-30 22:48fix markingmcol1+3-2
2021-01-30 22:05Let the pointer interact with layer surfacesmcol5+80-40
2021-01-30 20:13reorganise some lines in move_windowmcol1+2-3
2021-01-30 19:39reduce default zoom boundsmcol2+4-4
2021-01-30 19:38if focussed layer shell is unmapped, focus top viewmcol2+13-1
2021-01-30 19:28Arrange layer shell layers (taking code from sway)mcol3+82-15
2021-01-30 18:25Fix send_to_desk crash and add action to example configmcol3+13-6
2021-01-30 18:00XF86Switch_VT_X no longer required for vt switching when using altmcol1+1-20
2021-01-30 17:52Take into account zoom when panning to viewmcol1+7-6
2021-01-30 16:40reset cursor mode after doing client side moving/resizingmcol1+2-0
2021-01-30 16:21add pinch gesture bindings with pinch zoom actionmcol8+105-27
2021-01-30 12:11set up passthrough pointer gesturesmcol2+78-11
2021-01-30 11:09remove mistakenly-commited printfsmcol1+0-2
2021-01-30 11:09explicitly wl_list_remove listeners upon shutdownmcol1+24-0
2021-01-30 10:51factor in zoom when panning deskmcol1+2-2
2021-01-30 10:49factor in zoom when filtering views to render on an outputmcol1+1-1
2021-01-30 01:51Set desks with single value, and have desk-specific background/border optsmcol5+165-79
2021-01-30 01:30add action to move window to other deskmcol5+26-0
2021-01-28 23:59simplify view_atmcol1+12-23
2021-01-28 23:47take border into account when halfimisingmcol1+5-2
2021-01-28 22:35explicity destroy some managersmcol2+5-0
2021-01-28 22:23Don't try to render windows that are offscreenmcol1+25-17
2021-01-28 21:50Organise layers into arrays on struct outputmcol4+39-40
2021-01-28 20:23fix small mistake in draggingmcol2+1-2
2021-01-28 18:54grab window when moving so it doesnt get dropped by fast motionmcol2+20-6
2021-01-28 14:09fix wrong pan_desk directionmcol1+2-2
2021-01-28 11:54add drag mouse handlers for better movingmcol6+56-4
2021-01-27 22:40Use shift level 0 key syms for custom key bindingsmcol2+17-15
2021-01-27 22:13remove unnecessary linesmcol1+7-9
2021-01-26 22:26don't die when there is a mistake in the configmcol1+8-1
2021-01-26 21:35exit if execl action failsmcol1+3-1
2021-01-26 21:19neaten shutting down codemcol1+7-13
2021-01-26 21:15move first current_desk allocation into desk.cmcol2+4-1
2021-01-26 21:14free stuff even when backend startup failsmcol1+1-0
2021-01-26 21:14only free wimp.auto_start oncemcol1+0-1
2021-01-26 20:43Move config folder to ~/.config/wimp and add auto-start functionalitymcol5+90-24
2021-01-26 13:00add wlr_gamma_control_v1mcol1+2-0
2021-01-26 12:54correctly clean protocol filesmcol1+1-1
2021-01-26 12:18add xdg-output protocolmcol1+3-0
2021-01-25 23:39implement first steps in layer shell protocolmcol7+494-22
2021-01-24 23:44add move_window actionmcol6+32-9
2021-01-24 23:43correct zoom orientationmcol1+1-1
2021-01-24 23:16don't fail when using motion in a bindingmcol1+2-2
2021-01-24 22:48use zoom factor when finding view at a coordinatemcol1+5-4
2021-01-24 22:17free everything when exitingmcol3+56-7
2021-01-24 22:13remove THIS definitionmcol3+7-12
2021-01-24 21:07Add building steps to readme, and install command to makefilemcol2+24-0
2021-01-24 20:52make server a global instance as "wimp"mcol18+342-373
2021-01-24 16:57move to do list from readme to issues on githubmcol1+4-7
2021-01-24 16:49reformat readmemcol1+1-0
2021-01-24 16:46Rename project to WIMPmcol8+119-119
2021-01-24 16:36Pan to window when focussing in direction if not visiblemcol4+33-2
2021-01-24 16:11Make pan_desk configurable by keybindings and percentagesmcol6+55-11
2021-01-24 14:29Explicitly focus next window when changing deskmcol1+4-0
2021-01-24 14:19improve some default config optionsmcol1+4-4
2021-01-24 14:04Draw borders around windows and allow configuration per deskmcol6+52-12
2021-01-24 11:03add super basic server decoration managermcol3+17-6
2021-01-24 01:03Add wlr_xdg_decoration_manager_v1 (credit to sway)mcol4+70-0
2021-01-24 00:16Add tiled state when halfimizing windowsmcol2+5-2
2021-01-23 22:17Properly set up halfimize and check viewsmcol2+4-3
2021-01-23 21:40rename deskwm.{c,h} main.{c,h}mcol3+118-118
2021-01-23 21:39make things that are static explicitly staticmcol6+45-45
2021-01-23 20:53Clean up action keybinding handlersmcol4+72-66
2021-01-23 14:00scale fullscreened windows when zoomedmcol1+2-1
2021-01-23 13:56unify config array gettersmcol1+20-43
2021-01-23 12:39neaten up getting values from config optionsmcol1+60-39
2021-01-23 11:27remove unnecessary DIST macromcol1+4-4
2021-01-23 00:37Clear keybindings when loading config; ensure all settings are set-ablemcol1+18-0
2021-01-23 00:24just always load defaults prior to loading configmcol4+24-24
2021-01-23 00:06Load defaults using load_config(), set up config reloading actionmcol8+104-62
2021-01-22 11:31Drop repeated code for focussing in directionmcol2+28-57
2021-01-22 00:19add to domcol1+1-0
2021-01-22 00:18correctly find nearest output when fullscreening windowmcol1+3-2
2021-01-22 00:18add actions to halfmize windows to take half screen areamcol5+68-1
2021-01-22 00:16add some to-dos to the readmemcol1+5-1
2021-01-21 21:48Split cursor and keyboard code from input.{c,h} into separate filesmcol8+416-409
2021-01-21 21:21Add actions and keybindings to focus windows in given directionmcol6+106-3
2021-01-20 21:41Remove redundant gotomcol1+4-8
2021-01-20 21:39Only bind the 6 vt switching keys that will work with the configured modmcol1+16-5
2021-01-20 20:52Complete fullscreen implementationmcol4+16-12
2021-01-20 20:16Don't fail if fullscreen client requests don't specify an outputmcol2+9-12
2021-01-20 18:50Set fullscreen windows size to that of specified or nearest outputmcol3+37-17
2021-01-20 00:23Reset original window dimensions when unsetting fullscreenmcol1+9-1
2021-01-19 23:01Add action and basic listener to start fullscreening implementationmcol5+34-6
2021-01-18 23:24Add old XKB_KEY_FX keysyms for VT switching for when mod is MOD4mcol1+10-2
2021-01-18 23:05Windows should be able to steal focusmcol1+1-1
2021-01-18 22:40Use XKB_KEY_XF86Switch_VT_ keysyms for vt switchingmcol1+6-6
2021-01-18 21:33Add log handling, printing all log messages to stdoutmcol3+52-6
2021-01-18 22:58Log when exec-ing commandmcol1+2-0
2020-12-06 21:13add config parameter to fullscreen windows (implementation next)mcol4+15-0
2020-12-05 22:52do not rotate window list when changing deskmcol2+7-5
2020-12-05 18:02Replace save_pan and reset_pan with only reset_zoommcol4+14-17
2020-12-05 15:41make zoom_desk option compatible with mousemcol3+11-5
2020-11-24 13:15add indicator to indicate set_mark or go_to_mark is waiting for a keymcol4+30-2
2020-11-23 22:53add primary-selection-unstable-v1 managermcol3+7-4
2020-11-23 22:01add help messagemcol1+17-4
2020-11-23 21:45remove screenshots todomcol1+0-1
2020-11-23 14:02add manager for screencopy protocolmcol1+3-0
2020-11-22 23:47implement vi-like marks for saving positionsmcol7+122-16
2020-11-22 21:53implement VT switchingmcol7+53-3
2020-11-22 19:02don't change focus when changing desksmcol4+6-1
2020-11-22 17:53add reverse_scrolling optionmcol5+8-5
2020-11-22 17:30reorganise functions, move actions into single file, check includesmcol12+297-334
2020-11-22 16:11remove unneeded commentsmcol1+0-2
2020-11-22 16:02Implement mouse bindings with same configuration as key bindingsmcol7+140-38
2020-11-22 12:03Print config errors to WLR_ERROR log levelmcol1+5-2
2020-11-22 01:49remove erroneous testing linemcol1+0-1
2020-11-22 01:35actually enable -i optionmcol1+1-1
2020-11-22 01:35fallback global modifier to logomcol1+2-1
2020-11-22 01:29Implement custom keybindings for various deskwm actionsmcol9+176-75
2020-11-22 01:19always ignore unused parametersmcol1+1-1
2020-11-21 22:38add -i flag to set logging to info modemcol1+3-0
2020-11-20 23:49add set_modifier option to choose modifier key for bindingsmcol4+29-3
2020-11-14 01:02add more todosmcol1+2-0
2020-11-14 00:45add "handle TTY changing" to to do listmcol1+1-0
2020-11-14 00:21add to do list to readmemcol1+13-2
2020-11-13 11:11add min and max zoom boundsmcol4+28-4
2020-11-12 23:18focus next window on unmapmcol2+11-0
2020-11-12 23:07add testing keybind to launch thunarmcol1+6-0
2020-11-12 23:07remove testing keybindings for zoomingmcol1+0-8
2020-11-12 22:21translate windows relative to cursor when zooming, and zoom wallpaper toomcol2+19-5
2020-11-12 10:18dont propogate cursor axis while zoomingmcol1+5-5
2020-11-12 00:53simplify resizing and make compatible with zoommcol3+27-50
2020-11-11 23:25remove unnecessary desktop_view_at call on cursor buttonmcol1+5-5
2020-11-11 23:24apply zoom factor when moving mouse and dragging windowsmcol3+13-11
2020-11-11 22:37implement desk zooming, bind to M-m and M-nmcol6+31-4
2020-11-11 17:45add desk related types into desk.hmcol3+16-15
2020-11-11 16:14add close_current_window and bind to mod+S+qmcol3+16-0
2020-11-11 12:39add save_pan function and bind to M-S-rmcol3+10-0
2020-11-11 00:04add binding to mod-r to reset any panningsmcol3+15-0
2020-11-10 23:43add example configmcol1+24-0
2020-11-10 23:27Allow setting of image as wallpaper, tile wallpaper, and pan itmcol6+92-20
2020-11-08 23:23Change approach to panning to instead change view coordsmcol4+9-6
2020-11-08 23:23remove testing keybindings for panningmcol1+0-8
2020-11-08 23:15add CURSOR_PAN to pan across deskmcol3+25-13
2020-11-08 21:05use desk.{x,y} to calculate position of viewsmcol4+25-10
2020-11-08 18:37remove unnecessary wlr_seat_set_keyboard callsmcol1+0-2
2020-11-08 18:33map and unmap views when setting new deskmcol1+16-2
2020-11-08 17:55move desk-related code into dedicated filesmcol6+57-47
2020-11-08 17:47move views wl_lists for desks, thereby implementing workspacesmcol4+6-6
2020-11-08 17:30remove in_mapped flag; draw all views in wl_listmcol3+0-5
2020-11-08 17:24remove F1 keybinding to switch viewmcol1+0-13
2020-11-08 17:23add unmap_view, map_view, and remove on_unmap listenermcol3+12-10
2020-11-08 17:19set inital desk with next and not prevmcol1+1-1
2020-11-07 23:43store current desk as server member to avoid per-frame calculationmcol4+21-11
2020-11-07 23:06Add skeleton workspaces (desks) with configurable background coloursmcol9+106-36
2020-11-06 22:47replace pragma once with ifdefsmcol6+25-15
2020-11-06 01:43add basic config parser, and opt to set background colourmcol5+74-2
2020-11-05 23:01add keyboard struct; fix some formattingmcol3+38-29
2020-11-05 23:00add basic rendering, based on tinywmmcol2+85-9
2020-11-05 22:59fill in basic cursor handlers, based on tinywmmcol2+181-11
2020-11-05 22:54add wlr_data_device_manager_createmcol1+2-0
2020-11-05 22:49make compiler more pedanticmcol1+1-2
2020-11-05 12:29add template shell callbacks from tinywmmcol2+90-20
2020-11-05 12:09add readmemcol1+14-0
2020-11-05 11:44Add template cursor-processing from wlroots/tinywmmcol2+128-4
2020-11-05 10:58add placeholder draw on new framesmcol1+12-1
2020-11-05 10:32move types to dedicated header to avoid recursions. Add initial start codemcol9+195-43
2020-11-04 00:34move logic out of main and into dedicated files where appropr.mcol6+108-87
2020-11-04 00:11Init with basic project skeletonmcol6+236-0