1/* 2 * Functions related to window occupation and workspaces. Not the 3 * workspace manager itself; that's off with the icon managers. 4 */ 5 6#include "ctwm.h" 7 8#include "functions_internal.h" 9#include "screen.h" 10#include "occupation.h" 11#include "workspace_utils.h" 12 13 14 15/* 16 * Setting occupation on a specific window. 17 */ 18DFHANDLER(occupy) 19{ 20 Occupy(tmp_win); 21} 22 23DFHANDLER(occupyall) 24{ 25 OccupyAll(tmp_win); 26} 27 28 29/* 30 * Selecting a window and passing a specific workspace as the function 31 * arg. 32 */ 33DFHANDLER(addtoworkspace) 34{ 35 AddToWorkSpace(action, tmp_win); 36} 37 38DFHANDLER(removefromworkspace) 39{ 40 RemoveFromWorkSpace(action, tmp_win); 41} 42 43DFHANDLER(toggleoccupation) 44{ 45 ToggleOccupation(action, tmp_win); 46} 47 48 49/* 50 * Pushing a window away from / pulling it to "here". 51 */ 52DFHANDLER(vanish) 53{ 54 WMgrRemoveFromCurrentWorkSpace(Scr->currentvs, tmp_win); 55} 56 57DFHANDLER(warphere) 58{ 59 WMgrAddToCurrentWorkSpaceAndWarp(Scr->currentvs, action); 60} 61 62 63/* 64 * Pushing a window away somewhere and potentially following it. 65 */ 66DFHANDLER(movetonextworkspace) 67{ 68 MoveToNextWorkSpace(Scr->currentvs, tmp_win); 69} 70 71DFHANDLER(movetoprevworkspace) 72{ 73 MoveToPrevWorkSpace(Scr->currentvs, tmp_win); 74} 75 76DFHANDLER(movetonextworkspaceandfollow) 77{ 78 MoveToNextWorkSpaceAndFollow(Scr->currentvs, tmp_win); 79} 80 81DFHANDLER(movetoprevworkspaceandfollow) 82{ 83 MoveToPrevWorkSpaceAndFollow(Scr->currentvs, tmp_win); 84} 85 86 87 88/* 89 * Switching to other workspaces. 90 */ 91DFHANDLER(gotoworkspace) 92{ 93 /* 94 * n.b.: referenced in the Developer Manual in doc/devman/; if you 95 * make any changes here be sure to tweak that if necessary. 96 */ 97 GotoWorkSpaceByName(Scr->currentvs, action); 98} 99 100DFHANDLER(prevworkspace) 101{ 102 GotoPrevWorkSpace(Scr->currentvs); 103} 104 105DFHANDLER(nextworkspace) 106{ 107 GotoNextWorkSpace(Scr->currentvs); 108} 109 110DFHANDLER(rightworkspace) 111{ 112 GotoRightWorkSpace(Scr->currentvs); 113} 114 115DFHANDLER(leftworkspace) 116{ 117 GotoLeftWorkSpace(Scr->currentvs); 118} 119 120DFHANDLER(upworkspace) 121{ 122 GotoUpWorkSpace(Scr->currentvs); 123} 124 125DFHANDLER(downworkspace) 126{ 127 GotoDownWorkSpace(Scr->currentvs); 128} 129