Improve the code and re format it :] #13
					 21 changed files with 599 additions and 1278 deletions
				
			
		| 
						 | 
				
			
			@ -26,4 +26,6 @@ add_executable(yo_dwm
 | 
			
		|||
        src/movestack.c
 | 
			
		||||
        src/transient.c
 | 
			
		||||
        src/util.c
 | 
			
		||||
        src/util.h)
 | 
			
		||||
        src/util.h src/keys/mouse.c src/keys/mouse.h src/keys/functions.h src/dwm.h)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(yo_dwm X11 Xft Xinerama)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
{
 | 
			
		||||
	"inputs" : 
 | 
			
		||||
	[
 | 
			
		||||
		{
 | 
			
		||||
			"path" : "CMakeLists.txt"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isGenerated" : true,
 | 
			
		||||
			"path" : "cmake-build-debug/CMakeFiles/3.23.2/CMakeSystem.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInitialize.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isGenerated" : true,
 | 
			
		||||
			"path" : "cmake-build-debug/CMakeFiles/3.23.2/CMakeCCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeGenericSystem.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeInitializeConfigs.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/UnixPaths.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-C.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU-C.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake"
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"kind" : "cmakeFiles",
 | 
			
		||||
	"paths" : 
 | 
			
		||||
	{
 | 
			
		||||
		"build" : "/home/anas/suckless_utils/yo-dwm/cmake-build-debug",
 | 
			
		||||
		"source" : "/home/anas/suckless_utils/yo-dwm"
 | 
			
		||||
	},
 | 
			
		||||
	"version" : 
 | 
			
		||||
	{
 | 
			
		||||
		"major" : 1,
 | 
			
		||||
		"minor" : 0
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,406 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
	"inputs" : 
 | 
			
		||||
	[
 | 
			
		||||
		{
 | 
			
		||||
			"path" : "CMakeLists.txt"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineSystem.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystem.cmake.in"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isGenerated" : true,
 | 
			
		||||
			"path" : "cmake-build-debug/CMakeFiles/3.23.2/CMakeSystem.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInitialize.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineCCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineCompilerId.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCompilerIdDetection.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/ADSP-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Borland-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Clang-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Cray-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GHS-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/HP-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IAR-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Intel-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/LCC-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/MSVC-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/PGI-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/PathScale-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/SCO-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/TI-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/Watcom-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/XL-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeFindBinUtils.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-FindBinUtils.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompiler.cmake.in"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isGenerated" : true,
 | 
			
		||||
			"path" : "cmake-build-debug/CMakeFiles/3.23.2/CMakeCCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeGenericSystem.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeInitializeConfigs.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/UnixPaths.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-C.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU-C.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeTestCCompiler.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeTestCompilerCommon.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineCompilerABI.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeParseImplicitIncludeInfo.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeParseImplicitLinkInfo.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeParseLibraryArchitecture.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeTestCompilerCommon.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompilerABI.c"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeDetermineCompileFeatures.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/Internal/FeatureTesting.cmake"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isCMake" : true,
 | 
			
		||||
			"isExternal" : true,
 | 
			
		||||
			"path" : "/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCCompiler.cmake.in"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"isGenerated" : true,
 | 
			
		||||
			"path" : "cmake-build-debug/CMakeFiles/3.23.2/CMakeCCompiler.cmake"
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"kind" : "cmakeFiles",
 | 
			
		||||
	"paths" : 
 | 
			
		||||
	{
 | 
			
		||||
		"build" : "/home/anas/suckless_utils/yo-dwm/cmake-build-debug",
 | 
			
		||||
		"source" : "/home/anas/suckless_utils/yo-dwm"
 | 
			
		||||
	},
 | 
			
		||||
	"version" : 
 | 
			
		||||
	{
 | 
			
		||||
		"major" : 1,
 | 
			
		||||
		"minor" : 0
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
				{
 | 
			
		||||
					"directoryIndex" : 0,
 | 
			
		||||
					"id" : "yo_dwm::@6890427a1f51a3e7e1df",
 | 
			
		||||
					"jsonFile" : "target-yo_dwm-Debug-619ca603d9f8a027e9c4.json",
 | 
			
		||||
					"jsonFile" : "target-yo_dwm-Debug-631731075c5f906219d9.json",
 | 
			
		||||
					"name" : "yo_dwm",
 | 
			
		||||
					"projectIndex" : 0
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +26,7 @@
 | 
			
		|||
	"objects" : 
 | 
			
		||||
	[
 | 
			
		||||
		{
 | 
			
		||||
			"jsonFile" : "codemodel-v2-a8c048656fcb1fb7324c.json",
 | 
			
		||||
			"jsonFile" : "codemodel-v2-47532c44014cf30e75ae.json",
 | 
			
		||||
			"kind" : "codemodel",
 | 
			
		||||
			"version" : 
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +44,7 @@
 | 
			
		|||
			}
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"jsonFile" : "cmakeFiles-v1-ad9218d2c69b47be0e82.json",
 | 
			
		||||
			"jsonFile" : "cmakeFiles-v1-10ab7de84491b2ad21c0.json",
 | 
			
		||||
			"kind" : "cmakeFiles",
 | 
			
		||||
			"version" : 
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@
 | 
			
		|||
		},
 | 
			
		||||
		"cmakeFiles-v1" : 
 | 
			
		||||
		{
 | 
			
		||||
			"jsonFile" : "cmakeFiles-v1-ad9218d2c69b47be0e82.json",
 | 
			
		||||
			"jsonFile" : "cmakeFiles-v1-10ab7de84491b2ad21c0.json",
 | 
			
		||||
			"kind" : "cmakeFiles",
 | 
			
		||||
			"version" : 
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@
 | 
			
		|||
		},
 | 
			
		||||
		"codemodel-v2" : 
 | 
			
		||||
		{
 | 
			
		||||
			"jsonFile" : "codemodel-v2-a8c048656fcb1fb7324c.json",
 | 
			
		||||
			"jsonFile" : "codemodel-v2-47532c44014cf30e75ae.json",
 | 
			
		||||
			"kind" : "codemodel",
 | 
			
		||||
			"version" : 
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +11,7 @@
 | 
			
		|||
		"commands" : 
 | 
			
		||||
		[
 | 
			
		||||
			"add_executable",
 | 
			
		||||
			"target_link_libraries",
 | 
			
		||||
			"include_directories"
 | 
			
		||||
		],
 | 
			
		||||
		"files" : 
 | 
			
		||||
| 
						 | 
				
			
			@ -31,23 +32,29 @@
 | 
			
		|||
			{
 | 
			
		||||
				"command" : 1,
 | 
			
		||||
				"file" : 0,
 | 
			
		||||
				"line" : 31,
 | 
			
		||||
				"parent" : 0
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"command" : 2,
 | 
			
		||||
				"file" : 0,
 | 
			
		||||
				"line" : 6,
 | 
			
		||||
				"parent" : 0
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"command" : 1,
 | 
			
		||||
				"command" : 2,
 | 
			
		||||
				"file" : 0,
 | 
			
		||||
				"line" : 7,
 | 
			
		||||
				"parent" : 0
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"command" : 1,
 | 
			
		||||
				"command" : 2,
 | 
			
		||||
				"file" : 0,
 | 
			
		||||
				"line" : 8,
 | 
			
		||||
				"parent" : 0
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"command" : 1,
 | 
			
		||||
				"command" : 2,
 | 
			
		||||
				"file" : 0,
 | 
			
		||||
				"line" : 9,
 | 
			
		||||
				"parent" : 0
 | 
			
		||||
| 
						 | 
				
			
			@ -69,19 +76,19 @@
 | 
			
		|||
			"includes" : 
 | 
			
		||||
			[
 | 
			
		||||
				{
 | 
			
		||||
					"backtrace" : 2,
 | 
			
		||||
					"backtrace" : 3,
 | 
			
		||||
					"path" : "/home/anas/suckless_utils/yo-dwm/."
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"backtrace" : 3,
 | 
			
		||||
					"backtrace" : 4,
 | 
			
		||||
					"path" : "/home/anas/suckless_utils/yo-dwm/src"
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"backtrace" : 4,
 | 
			
		||||
					"backtrace" : 5,
 | 
			
		||||
					"path" : "/home/anas/suckless_utils/yo-dwm/src/keys"
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"backtrace" : 5,
 | 
			
		||||
					"backtrace" : 6,
 | 
			
		||||
					"path" : "/home/anas/suckless_utils/yo-dwm/src/layouts"
 | 
			
		||||
				}
 | 
			
		||||
			],
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +113,8 @@
 | 
			
		|||
				13,
 | 
			
		||||
				14,
 | 
			
		||||
				15,
 | 
			
		||||
				16
 | 
			
		||||
				16,
 | 
			
		||||
				18
 | 
			
		||||
			]
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
| 
						 | 
				
			
			@ -122,6 +130,21 @@
 | 
			
		|||
			{
 | 
			
		||||
				"fragment" : "",
 | 
			
		||||
				"role" : "flags"
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"backtrace" : 2,
 | 
			
		||||
				"fragment" : "-lX11",
 | 
			
		||||
				"role" : "libraries"
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"backtrace" : 2,
 | 
			
		||||
				"fragment" : "-lXft",
 | 
			
		||||
				"role" : "libraries"
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				"backtrace" : 2,
 | 
			
		||||
				"fragment" : "-lXinerama",
 | 
			
		||||
				"role" : "libraries"
 | 
			
		||||
			}
 | 
			
		||||
		],
 | 
			
		||||
		"language" : "C"
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +172,8 @@
 | 
			
		|||
				13,
 | 
			
		||||
				14,
 | 
			
		||||
				15,
 | 
			
		||||
				16
 | 
			
		||||
				16,
 | 
			
		||||
				18
 | 
			
		||||
			]
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +186,10 @@
 | 
			
		|||
				9,
 | 
			
		||||
				10,
 | 
			
		||||
				12,
 | 
			
		||||
				17
 | 
			
		||||
				17,
 | 
			
		||||
				19,
 | 
			
		||||
				20,
 | 
			
		||||
				21
 | 
			
		||||
			]
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
| 
						 | 
				
			
			@ -268,6 +295,27 @@
 | 
			
		|||
			"backtrace" : 1,
 | 
			
		||||
			"path" : "src/util.h",
 | 
			
		||||
			"sourceGroupIndex" : 1
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"backtrace" : 1,
 | 
			
		||||
			"compileGroupIndex" : 0,
 | 
			
		||||
			"path" : "src/keys/mouse.c",
 | 
			
		||||
			"sourceGroupIndex" : 0
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"backtrace" : 1,
 | 
			
		||||
			"path" : "src/keys/mouse.h",
 | 
			
		||||
			"sourceGroupIndex" : 1
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"backtrace" : 1,
 | 
			
		||||
			"path" : "src/keys/functions.h",
 | 
			
		||||
			"sourceGroupIndex" : 1
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"backtrace" : 1,
 | 
			
		||||
			"path" : "src/dwm.h",
 | 
			
		||||
			"sourceGroupIndex" : 1
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"type" : "EXECUTABLE"
 | 
			
		||||
| 
						 | 
				
			
			@ -1,10 +1,4 @@
 | 
			
		|||
/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-1/222.4345.21/bin/ninja/linux/ninja -G Ninja -S /home/anas/suckless_utils/yo-dwm -B /home/anas/suckless_utils/yo-dwm/cmake-build-debug
 | 
			
		||||
-- The C compiler identification is GNU 12.2.0
 | 
			
		||||
-- Detecting C compiler ABI info
 | 
			
		||||
-- Detecting C compiler ABI info - done
 | 
			
		||||
-- Check for working C compiler: /usr/bin/cc - skipped
 | 
			
		||||
-- Detecting C compile features
 | 
			
		||||
-- Detecting C compile features - done
 | 
			
		||||
-- Configuring done
 | 
			
		||||
-- Generating done
 | 
			
		||||
-- Build files have been written to: /home/anas/suckless_utils/yo-dwm/cmake-build-debug
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
Start testing: Oct 31 07:03 EET
 | 
			
		||||
Start testing: Oct 31 10:02 EET
 | 
			
		||||
----------------------------------------------------------
 | 
			
		||||
End testing: Oct 31 07:03 EET
 | 
			
		||||
End testing: Oct 31 10:02 EET
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										18
									
								
								src/colors.h
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								src/colors.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,11 +1,6 @@
 | 
			
		|||
#ifndef colors_H
 | 
			
		||||
#define colors_H
 | 
			
		||||
 | 
			
		||||
// #define wal "/home/anas/.cache/wal/colors-wal-dwm.h"
 | 
			
		||||
 | 
			
		||||
// #if __has_include(wal)
 | 
			
		||||
// #include wal
 | 
			
		||||
// #else
 | 
			
		||||
static const char norm_fg[] = "#e4ded4";
 | 
			
		||||
static const char norm_bg[] = "#191b1f";
 | 
			
		||||
static const char norm_border[] = "#282c34";
 | 
			
		||||
| 
						 | 
				
			
			@ -18,12 +13,11 @@ static const char urg_fg[] = "#e4ded4";
 | 
			
		|||
static const char urg_bg[] = "#313036";
 | 
			
		||||
static const char urg_border[] = "#312e36";
 | 
			
		||||
 | 
			
		||||
static const char *colors[][3]      = {
 | 
			
		||||
    /*               fg           bg         border                         */
 | 
			
		||||
    [SchemeNorm] = { norm_fg,     norm_bg,   norm_border }, // unfocused wins
 | 
			
		||||
    [SchemeSel]  = { sel_fg,      sel_bg,    sel_border },  // the focused win
 | 
			
		||||
    [SchemeUrg] =  { urg_fg,      urg_bg,    urg_border },
 | 
			
		||||
static const char *colors[][3] = {
 | 
			
		||||
        /*               fg           bg         border                         */
 | 
			
		||||
        [SchemeNorm] = {norm_fg, norm_bg, norm_border}, // unfocused wins
 | 
			
		||||
        [SchemeSel]  = {sel_fg, sel_bg, sel_border},  // the focused win
 | 
			
		||||
        [SchemeUrg] =  {urg_fg, urg_bg, urg_border},
 | 
			
		||||
};
 | 
			
		||||
// #endif
 | 
			
		||||
 | 
			
		||||
#endif // !colors.h
 | 
			
		||||
#endif // colors_H
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,9 +20,7 @@ static const char *fonts[] = {"monospace:size=7", "Noto Color Emoji:size=8",
 | 
			
		|||
static const char dmenufont[] = "monospace:size=8";
 | 
			
		||||
 | 
			
		||||
#ifndef STDDEF_H
 | 
			
		||||
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "colors.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										324
									
								
								src/dwm.c
									
										
									
									
									
								
							
							
						
						
									
										324
									
								
								src/dwm.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -44,6 +44,7 @@
 | 
			
		|||
 | 
			
		||||
#include "drw.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "dwm.h"
 | 
			
		||||
 | 
			
		||||
/* macros */
 | 
			
		||||
#define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
 | 
			
		||||
| 
						 | 
				
			
			@ -71,327 +72,6 @@
 | 
			
		|||
#define VERSION_MINOR               0
 | 
			
		||||
#define XEMBED_EMBEDDED_VERSION (VERSION_MAJOR << 16) | VERSION_MINOR
 | 
			
		||||
 | 
			
		||||
/* enums */
 | 
			
		||||
enum {
 | 
			
		||||
    CurNormal, CurResize, CurMove, CurLast
 | 
			
		||||
}; /* cursor */
 | 
			
		||||
enum {
 | 
			
		||||
    SchemeNorm, SchemeSel, SchemeUrg
 | 
			
		||||
}; /* color schemes */
 | 
			
		||||
enum {
 | 
			
		||||
    NetSupported, NetWMName, NetWMState, NetWMCheck,
 | 
			
		||||
    NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, NetSystemTrayOrientationHorz,
 | 
			
		||||
    NetWMFullscreen, NetActiveWindow, NetWMWindowType,
 | 
			
		||||
    NetWMWindowTypeDialog, NetClientList, NetLast
 | 
			
		||||
}; /* EWMH atoms */
 | 
			
		||||
enum {
 | 
			
		||||
    Manager, Xembed, XembedInfo, XLast
 | 
			
		||||
}; /* Xembed atoms */
 | 
			
		||||
enum {
 | 
			
		||||
    WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast
 | 
			
		||||
}; /* default atoms */
 | 
			
		||||
enum {
 | 
			
		||||
    ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
 | 
			
		||||
    ClkClientWin, ClkRootWin, ClkLast
 | 
			
		||||
}; /* clicks */
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
    int i;
 | 
			
		||||
    unsigned int ui;
 | 
			
		||||
    float f;
 | 
			
		||||
    const void *v;
 | 
			
		||||
} Arg;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    unsigned int click;
 | 
			
		||||
    unsigned int mask;
 | 
			
		||||
    unsigned int button;
 | 
			
		||||
 | 
			
		||||
    void (*func)(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
    const Arg arg;
 | 
			
		||||
} Button;
 | 
			
		||||
 | 
			
		||||
typedef struct Monitor Monitor;
 | 
			
		||||
typedef struct Client Client;
 | 
			
		||||
struct Client {
 | 
			
		||||
    char name[256];
 | 
			
		||||
    float mina, maxa;
 | 
			
		||||
    int x, y, w, h;
 | 
			
		||||
    int oldx, oldy, oldw, oldh;
 | 
			
		||||
    int basew, baseh, incw, inch, maxw, maxh, minw, minh, hintsvalid;
 | 
			
		||||
    int bw, oldbw;
 | 
			
		||||
    unsigned int tags;
 | 
			
		||||
    int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, issticky;
 | 
			
		||||
    Client *next;
 | 
			
		||||
    Client *snext;
 | 
			
		||||
    Monitor *mon;
 | 
			
		||||
    Window win;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    unsigned int mod;
 | 
			
		||||
    KeySym chain;
 | 
			
		||||
    KeySym keysym;
 | 
			
		||||
 | 
			
		||||
    void (*func)(const Arg *);
 | 
			
		||||
 | 
			
		||||
    const Arg arg;
 | 
			
		||||
} Key;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    const char *symbol;
 | 
			
		||||
 | 
			
		||||
    void (*arrange)(Monitor *);
 | 
			
		||||
} Layout;
 | 
			
		||||
 | 
			
		||||
typedef struct Pertag Pertag;
 | 
			
		||||
struct Monitor {
 | 
			
		||||
    char ltsymbol[16];
 | 
			
		||||
    float mfact;
 | 
			
		||||
    int nmaster;
 | 
			
		||||
    int num;
 | 
			
		||||
    int by;               /* bar geometry */
 | 
			
		||||
    int mx, my, mw, mh;   /* screen size */
 | 
			
		||||
    int wx, wy, ww, wh;   /* window area  */
 | 
			
		||||
    unsigned int seltags;
 | 
			
		||||
    unsigned int sellt;
 | 
			
		||||
    unsigned int tagset[2];
 | 
			
		||||
    int showbar;
 | 
			
		||||
    int topbar;
 | 
			
		||||
    Client *clients;
 | 
			
		||||
    Client *sel;
 | 
			
		||||
    Client *stack;
 | 
			
		||||
    Monitor *next;
 | 
			
		||||
    Window barwin;
 | 
			
		||||
    const Layout *lt[2];
 | 
			
		||||
    Pertag *pertag;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    const char *class;
 | 
			
		||||
    const char *instance;
 | 
			
		||||
    const char *title;
 | 
			
		||||
    unsigned int tags;
 | 
			
		||||
    int isfloating;
 | 
			
		||||
    int monitor;
 | 
			
		||||
} Rule;
 | 
			
		||||
 | 
			
		||||
typedef struct Systray Systray;
 | 
			
		||||
struct Systray {
 | 
			
		||||
    Window win;
 | 
			
		||||
    Client *icons;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* function declarations */
 | 
			
		||||
static void applyrules(Client *c);
 | 
			
		||||
 | 
			
		||||
static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact);
 | 
			
		||||
 | 
			
		||||
static void arrange(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void arrangemon(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void attach(Client *c);
 | 
			
		||||
 | 
			
		||||
static void attachstack(Client *c);
 | 
			
		||||
 | 
			
		||||
static void buttonpress(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void checkotherwm(void);
 | 
			
		||||
 | 
			
		||||
static void cleanup(void);
 | 
			
		||||
 | 
			
		||||
static void cleanupmon(Monitor *mon);
 | 
			
		||||
 | 
			
		||||
static void clientmessage(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void configure(Client *c);
 | 
			
		||||
 | 
			
		||||
static void configurenotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void configurerequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static Monitor *createmon(void);
 | 
			
		||||
 | 
			
		||||
static void destroynotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void detach(Client *c);
 | 
			
		||||
 | 
			
		||||
static void detachstack(Client *c);
 | 
			
		||||
 | 
			
		||||
static Monitor *dirtomon(int dir);
 | 
			
		||||
 | 
			
		||||
static void drawbar(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void drawbars(void);
 | 
			
		||||
 | 
			
		||||
static void enternotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void expose(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void focus(Client *c);
 | 
			
		||||
 | 
			
		||||
static void focusin(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void focusmon(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void focusstack(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static Atom getatomprop(Client *c, Atom prop);
 | 
			
		||||
 | 
			
		||||
static int getrootptr(int *x, int *y);
 | 
			
		||||
 | 
			
		||||
static long getstate(Window w);
 | 
			
		||||
 | 
			
		||||
static unsigned int getsystraywidth();
 | 
			
		||||
 | 
			
		||||
static int gettextprop(Window w, Atom atom, char *text, unsigned int size);
 | 
			
		||||
 | 
			
		||||
static void grabbuttons(Client *c, int focused);
 | 
			
		||||
 | 
			
		||||
static void grabkeys(void);
 | 
			
		||||
 | 
			
		||||
static void incnmaster(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void keypress(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void killclient(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void manage(Window w, XWindowAttributes *wa);
 | 
			
		||||
 | 
			
		||||
static void mappingnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void maprequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void monocle(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void motionnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void movemouse(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static Client *nexttiled(Client *c);
 | 
			
		||||
 | 
			
		||||
static void pop(Client *);
 | 
			
		||||
 | 
			
		||||
static void propertynotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void quit(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static Monitor *recttomon(int x, int y, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void removesystrayicon(Client *i);
 | 
			
		||||
 | 
			
		||||
static void resize(Client *c, int x, int y, int w, int h, int interact);
 | 
			
		||||
 | 
			
		||||
static void resizebarwin(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void resizeclient(Client *c, int x, int y, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void resizemouse(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void resizerequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void restack(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void run(void);
 | 
			
		||||
 | 
			
		||||
static void scan(void);
 | 
			
		||||
 | 
			
		||||
static int sendevent(Window w, Atom proto, int m, long d0, long d1, long d2, long d3, long d4);
 | 
			
		||||
 | 
			
		||||
static void sendmon(Client *c, Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void setclientstate(Client *c, long state);
 | 
			
		||||
 | 
			
		||||
static void setfocus(Client *c);
 | 
			
		||||
 | 
			
		||||
static void setfullscreen(Client *c, int fullscreen);
 | 
			
		||||
 | 
			
		||||
static void fullscreen(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void setlayout(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void setmfact(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void setup(void);
 | 
			
		||||
 | 
			
		||||
static void seturgent(Client *c, int urg);
 | 
			
		||||
 | 
			
		||||
static void showhide(Client *c);
 | 
			
		||||
 | 
			
		||||
static void sigchld(int unused);
 | 
			
		||||
 | 
			
		||||
static void spawn(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static Monitor *systraytomon(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void tag(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void tagmon(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void tile(Monitor *);
 | 
			
		||||
 | 
			
		||||
static void togglebar(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void togglefloating(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void togglesticky(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void toggletag(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void toggleview(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void unfocus(Client *c, int setfocus);
 | 
			
		||||
 | 
			
		||||
static void unmanage(Client *c, int destroyed);
 | 
			
		||||
 | 
			
		||||
static void unmapnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void updatebarpos(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void updatebars(void);
 | 
			
		||||
 | 
			
		||||
static void updateclientlist(void);
 | 
			
		||||
 | 
			
		||||
static int updategeom(void);
 | 
			
		||||
 | 
			
		||||
static void updatenumlockmask(void);
 | 
			
		||||
 | 
			
		||||
static void updatesizehints(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatestatus(void);
 | 
			
		||||
 | 
			
		||||
static void updatesystray(void);
 | 
			
		||||
 | 
			
		||||
static void updatesystrayicongeom(Client *i, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void updatesystrayiconstate(Client *i, XPropertyEvent *ev);
 | 
			
		||||
 | 
			
		||||
static void updatetitle(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatewindowtype(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatewmhints(Client *c);
 | 
			
		||||
 | 
			
		||||
static void view(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static Client *wintoclient(Window w);
 | 
			
		||||
 | 
			
		||||
static Monitor *wintomon(Window w);
 | 
			
		||||
 | 
			
		||||
static Client *wintosystrayicon(Window w);
 | 
			
		||||
 | 
			
		||||
static int xerror(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static int xerrordummy(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static int xerrorstart(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static void zoom(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void autostart_exec(void);
 | 
			
		||||
 | 
			
		||||
/* variables */
 | 
			
		||||
static Systray *systray = NULL;
 | 
			
		||||
static const char broken[] = "broken";
 | 
			
		||||
| 
						 | 
				
			
			@ -440,6 +120,8 @@ static KeySym keychain = -1;
 | 
			
		|||
#include "movestack.c"
 | 
			
		||||
/* Keys bindings */
 | 
			
		||||
#include "keys/keys.h"
 | 
			
		||||
/* Mouse bindings */
 | 
			
		||||
#include "keys/mouse.h"
 | 
			
		||||
 | 
			
		||||
struct Pertag {
 | 
			
		||||
    unsigned int curtag, prevtag; /* current and previous tag */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										272
									
								
								src/dwm.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										272
									
								
								src/dwm.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,272 @@
 | 
			
		|||
//
 | 
			
		||||
// Created by anas on 10/31/22.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifndef DWM_H
 | 
			
		||||
#define DWM_H
 | 
			
		||||
 | 
			
		||||
/* enums */
 | 
			
		||||
enum {
 | 
			
		||||
    CurNormal, CurResize, CurMove, CurLast
 | 
			
		||||
}; /* cursor */
 | 
			
		||||
enum {
 | 
			
		||||
    SchemeNorm, SchemeSel, SchemeUrg
 | 
			
		||||
}; /* color schemes */
 | 
			
		||||
enum {
 | 
			
		||||
    NetSupported, NetWMName, NetWMState, NetWMCheck,
 | 
			
		||||
    NetSystemTray, NetSystemTrayOP, NetSystemTrayOrientation, NetSystemTrayOrientationHorz,
 | 
			
		||||
    NetWMFullscreen, NetActiveWindow, NetWMWindowType,
 | 
			
		||||
    NetWMWindowTypeDialog, NetClientList, NetLast
 | 
			
		||||
}; /* EWMH atoms */
 | 
			
		||||
enum {
 | 
			
		||||
    Manager, Xembed, XembedInfo, XLast
 | 
			
		||||
}; /* Xembed atoms */
 | 
			
		||||
enum {
 | 
			
		||||
    WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast
 | 
			
		||||
}; /* default atoms */
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
    int i;
 | 
			
		||||
    unsigned int ui;
 | 
			
		||||
    float f;
 | 
			
		||||
    const void *v;
 | 
			
		||||
} Arg;
 | 
			
		||||
 | 
			
		||||
typedef struct Monitor Monitor;
 | 
			
		||||
typedef struct Client Client;
 | 
			
		||||
struct Client {
 | 
			
		||||
    char name[256];
 | 
			
		||||
    float mina, maxa;
 | 
			
		||||
    int x, y, w, h;
 | 
			
		||||
    int oldx, oldy, oldw, oldh;
 | 
			
		||||
    int basew, baseh, incw, inch, maxw, maxh, minw, minh, hintsvalid;
 | 
			
		||||
    int bw, oldbw;
 | 
			
		||||
    unsigned int tags;
 | 
			
		||||
    int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, issticky;
 | 
			
		||||
    Client *next;
 | 
			
		||||
    Client *snext;
 | 
			
		||||
    Monitor *mon;
 | 
			
		||||
    Window win;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    const char *symbol;
 | 
			
		||||
 | 
			
		||||
    void (*arrange)(Monitor *);
 | 
			
		||||
} Layout;
 | 
			
		||||
 | 
			
		||||
typedef struct Pertag Pertag;
 | 
			
		||||
struct Monitor {
 | 
			
		||||
    char ltsymbol[16];
 | 
			
		||||
    float mfact;
 | 
			
		||||
    int nmaster;
 | 
			
		||||
    int num;
 | 
			
		||||
    int by;               /* bar geometry */
 | 
			
		||||
    int mx, my, mw, mh;   /* screen size */
 | 
			
		||||
    int wx, wy, ww, wh;   /* window area  */
 | 
			
		||||
    unsigned int seltags;
 | 
			
		||||
    unsigned int sellt;
 | 
			
		||||
    unsigned int tagset[2];
 | 
			
		||||
    int showbar;
 | 
			
		||||
    int topbar;
 | 
			
		||||
    Client *clients;
 | 
			
		||||
    Client *sel;
 | 
			
		||||
    Client *stack;
 | 
			
		||||
    Monitor *next;
 | 
			
		||||
    Window barwin;
 | 
			
		||||
    const Layout *lt[2];
 | 
			
		||||
    Pertag *pertag;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    const char *class;
 | 
			
		||||
    const char *instance;
 | 
			
		||||
    const char *title;
 | 
			
		||||
    unsigned int tags;
 | 
			
		||||
    int isfloating;
 | 
			
		||||
    int monitor;
 | 
			
		||||
} Rule;
 | 
			
		||||
 | 
			
		||||
typedef struct Systray Systray;
 | 
			
		||||
struct Systray {
 | 
			
		||||
    Window win;
 | 
			
		||||
    Client *icons;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* function declarations */
 | 
			
		||||
static void applyrules(Client *c);
 | 
			
		||||
 | 
			
		||||
static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact);
 | 
			
		||||
 | 
			
		||||
static void arrange(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void arrangemon(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void attach(Client *c);
 | 
			
		||||
 | 
			
		||||
static void attachstack(Client *c);
 | 
			
		||||
 | 
			
		||||
static void buttonpress(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void checkotherwm(void);
 | 
			
		||||
 | 
			
		||||
static void cleanup(void);
 | 
			
		||||
 | 
			
		||||
static void cleanupmon(Monitor *mon);
 | 
			
		||||
 | 
			
		||||
static void clientmessage(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void configure(Client *c);
 | 
			
		||||
 | 
			
		||||
static void configurenotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void configurerequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static Monitor *createmon(void);
 | 
			
		||||
 | 
			
		||||
static void destroynotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void detach(Client *c);
 | 
			
		||||
 | 
			
		||||
static void detachstack(Client *c);
 | 
			
		||||
 | 
			
		||||
static Monitor *dirtomon(int dir);
 | 
			
		||||
 | 
			
		||||
static void drawbar(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void drawbars(void);
 | 
			
		||||
 | 
			
		||||
static void enternotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void expose(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void focus(Client *c);
 | 
			
		||||
 | 
			
		||||
static void focusin(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static Atom getatomprop(Client *c, Atom prop);
 | 
			
		||||
 | 
			
		||||
static int getrootptr(int *x, int *y);
 | 
			
		||||
 | 
			
		||||
static long getstate(Window w);
 | 
			
		||||
 | 
			
		||||
static unsigned int getsystraywidth();
 | 
			
		||||
 | 
			
		||||
static int gettextprop(Window w, Atom atom, char *text, unsigned int size);
 | 
			
		||||
 | 
			
		||||
static void grabbuttons(Client *c, int focused);
 | 
			
		||||
 | 
			
		||||
static void grabkeys(void);
 | 
			
		||||
 | 
			
		||||
static void keypress(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void manage(Window w, XWindowAttributes *wa);
 | 
			
		||||
 | 
			
		||||
static void mappingnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void maprequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void monocle(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void motionnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static Client *nexttiled(Client *c);
 | 
			
		||||
 | 
			
		||||
static void pop(Client *);
 | 
			
		||||
 | 
			
		||||
static void propertynotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static Monitor *recttomon(int x, int y, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void removesystrayicon(Client *i);
 | 
			
		||||
 | 
			
		||||
static void resize(Client *c, int x, int y, int w, int h, int interact);
 | 
			
		||||
 | 
			
		||||
static void resizebarwin(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void resizeclient(Client *c, int x, int y, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void resizemouse(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void resizerequest(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void restack(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void run(void);
 | 
			
		||||
 | 
			
		||||
static void scan(void);
 | 
			
		||||
 | 
			
		||||
static int sendevent(Window w, Atom proto, int m, long d0, long d1, long d2, long d3, long d4);
 | 
			
		||||
 | 
			
		||||
static void sendmon(Client *c, Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void setclientstate(Client *c, long state);
 | 
			
		||||
 | 
			
		||||
static void setfocus(Client *c);
 | 
			
		||||
 | 
			
		||||
static void setfullscreen(Client *c, int fullscreen);
 | 
			
		||||
 | 
			
		||||
static void setup(void);
 | 
			
		||||
 | 
			
		||||
static void seturgent(Client *c, int urg);
 | 
			
		||||
 | 
			
		||||
static void showhide(Client *c);
 | 
			
		||||
 | 
			
		||||
static void sigchld(int unused);
 | 
			
		||||
 | 
			
		||||
static Monitor *systraytomon(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void tile(Monitor *);
 | 
			
		||||
 | 
			
		||||
static void toggletag(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void toggleview(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void unfocus(Client *c, int setfocus);
 | 
			
		||||
 | 
			
		||||
static void unmanage(Client *c, int destroyed);
 | 
			
		||||
 | 
			
		||||
static void unmapnotify(XEvent *e);
 | 
			
		||||
 | 
			
		||||
static void updatebarpos(Monitor *m);
 | 
			
		||||
 | 
			
		||||
static void updatebars(void);
 | 
			
		||||
 | 
			
		||||
static void updateclientlist(void);
 | 
			
		||||
 | 
			
		||||
static int updategeom(void);
 | 
			
		||||
 | 
			
		||||
static void updatenumlockmask(void);
 | 
			
		||||
 | 
			
		||||
static void updatesizehints(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatestatus(void);
 | 
			
		||||
 | 
			
		||||
static void updatesystray(void);
 | 
			
		||||
 | 
			
		||||
static void updatesystrayicongeom(Client *i, int w, int h);
 | 
			
		||||
 | 
			
		||||
static void updatesystrayiconstate(Client *i, XPropertyEvent *ev);
 | 
			
		||||
 | 
			
		||||
static void updatetitle(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatewindowtype(Client *c);
 | 
			
		||||
 | 
			
		||||
static void updatewmhints(Client *c);
 | 
			
		||||
 | 
			
		||||
static Client *wintoclient(Window w);
 | 
			
		||||
 | 
			
		||||
static Monitor *wintomon(Window w);
 | 
			
		||||
 | 
			
		||||
static Client *wintosystrayicon(Window w);
 | 
			
		||||
 | 
			
		||||
static int xerror(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static int xerrordummy(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static int xerrorstart(Display *dpy, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
static void autostart_exec(void);
 | 
			
		||||
 | 
			
		||||
#endif //DWM_H
 | 
			
		||||
							
								
								
									
										46
									
								
								src/keys/functions.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/keys/functions.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
//
 | 
			
		||||
// Created by anas on 10/31/22.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifndef FUNCTIONS_H
 | 
			
		||||
#define FUNCTIONS_H
 | 
			
		||||
 | 
			
		||||
#include "../dwm.h"
 | 
			
		||||
 | 
			
		||||
static void spawn(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void focusmon(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void fullscreen(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void focusstack(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void tagmon(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void incnmaster(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void killclient(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void movemouse(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void togglebar(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void togglesticky(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void togglefloating(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void setmfact(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void view(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void movestack(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void setlayout(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void tag(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void zoom(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
static void quit(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
#endif //FUNCTIONS_H
 | 
			
		||||
| 
						 | 
				
			
			@ -1,15 +1,11 @@
 | 
			
		|||
#include "../config.h"
 | 
			
		||||
#include "keys.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "../layouts/layouts.h"
 | 
			
		||||
// X11 keysym definitions
 | 
			
		||||
#include <X11/XF86keysym.h> // req (libxinerama1 and libxinerama-dev)
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
#define MODKEY Mod4Mask // win/super key
 | 
			
		||||
 | 
			
		||||
#define TAGKEYS(CHAIN, KEY, TAG) \
 | 
			
		||||
   { MODKEY,                       CHAIN,    KEY,      view,           {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ControlMask,           CHAIN,    KEY,      toggleview,     {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ShiftMask,             CHAIN,    KEY,      tag,            {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ControlMask|ShiftMask, CHAIN,    KEY,      toggletag,      {.ui = 1 << TAG} },
 | 
			
		||||
 | 
			
		||||
#include <X11/keysym.h>
 | 
			
		||||
 | 
			
		||||
static Key keys[] = {
 | 
			
		||||
        /* modifier                     chain key         key        function        argument */
 | 
			
		||||
| 
						 | 
				
			
			@ -84,8 +80,8 @@ static Key keys[] = {
 | 
			
		|||
        {MODKEY, -1, XK_i, incnmaster, {.i = +1}},
 | 
			
		||||
        {MODKEY, -1, XK_d, incnmaster, {.i = -1}},
 | 
			
		||||
        // Change the focus window size (in the tile mode)
 | 
			
		||||
        {MODKEY, -1, XK_h, setmfact, {.f = -0.05}},
 | 
			
		||||
        {MODKEY, -1, XK_l, setmfact, {.f = +0.05}},
 | 
			
		||||
        {MODKEY, -1, XK_h, setmfact, {.f = -0.05f}},
 | 
			
		||||
        {MODKEY, -1, XK_l, setmfact, {.f = +0.05f}},
 | 
			
		||||
//	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
        {MODKEY, -1, XK_Tab, view, {0}},
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -171,20 +167,4 @@ static Key keys[] = {
 | 
			
		|||
        // { MODKEY|ShiftMask|Mod1Mask,    -1,      XK_q,                   quit,           {0} },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
 | 
			
		||||
static Button buttons[] = {
 | 
			
		||||
        /* click                event mask      button          function        argument */
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button1, tag,            {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button3, toggletag,      {0}},
 | 
			
		||||
        {ClkWinTitle,   0,     Button2, zoom,           {0}},
 | 
			
		||||
        {ClkStatusText, 0,     Button2, spawn,          {.v = termcmd}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button1, movemouse,      {0}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button2, togglefloating, {0}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button3, resizemouse,    {0}},
 | 
			
		||||
        {ClkTagBar,     0,     Button1, view,           {0}},
 | 
			
		||||
        {ClkTagBar,     0,     Button3, toggleview,     {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button1, tag,            {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button3, toggletag,      {0}},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,442 +0,0 @@
 | 
			
		|||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
 | 
			
		||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
 | 
			
		||||
 | 
			
		||||
/* commands */
 | 
			
		||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
 | 
			
		||||
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", norm_bg, 
 | 
			
		||||
  "-nf", norm_fg, "-sb", sel_bg, "-sf", sel_fg, NULL };
 | 
			
		||||
static const char *termcmd[]  = { TERMINAL, NULL };
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
#define MODKEY Mod4Mask // win/super key
 | 
			
		||||
 | 
			
		||||
#define TAGKEYS(KEY,TAG) \
 | 
			
		||||
	{ MODKEY,                        KEY,      view,           {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ControlMask,            KEY,      toggleview,     {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,              KEY,      tag,            {.ui = 1 << TAG} }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,  KEY,      toggletag,      {.ui = 1 << TAG} },
 | 
			
		||||
 | 
			
		||||
// X11 keysym definitions
 | 
			
		||||
#include <X11/XF86keysym.h> // req (libxinerama1 and libxinerama-dev)
 | 
			
		||||
static Key keys[] = {
 | 
			
		||||
	/* modifier                     key        function        argument */
 | 
			
		||||
	/* ---------------------------------- Apps Keys ---------------------------------- */
 | 
			
		||||
	// Dmenu (launcher)
 | 
			
		||||
	{ MODKEY|ShiftMask,             XK_d,      spawn,                  {.v = dmenucmd } },
 | 
			
		||||
	// Rofi launcher (small)
 | 
			
		||||
	{ MODKEY|ShiftMask|ControlMask, XK_d,      spawn,                  SHCMD("rofi -show drun") }, 
 | 
			
		||||
	// Start the main terminal
 | 
			
		||||
	{ MODKEY,                       XK_Return, spawn,                  {.v = termcmd } },
 | 
			
		||||
        // Start the alacritty terminal
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
// 	{2, {{MODKEY, XK_t},                {0, XK_a}},      spawn,              SHCMD("alacritty")  },
 | 
			
		||||
// 	// Start the alacritty terminal with tmux
 | 
			
		||||
// 	{2, {{MODKEY, XK_t},                {ShiftMask, XK_a}},      spawn,           SHCMD("alacritty -e tmux")  },
 | 
			
		||||
//         // kitty
 | 
			
		||||
// 	{2, {{MODKEY, XK_t},                {0, XK_k}},              spawn,           SHCMD("kitty")  },
 | 
			
		||||
//         // kitty with tmux
 | 
			
		||||
// 	{2, {{MODKEY, XK_t},                {ShiftMask, XK_k}},      spawn,           SHCMD("kitty -e tmux")  },
 | 
			
		||||
// 	/************************************* File browsers *************************************/
 | 
			
		||||
//         // GUI filebrowser (pcmanfm)
 | 
			
		||||
// 	{2, {{MODKEY|ShiftMask, XK_f},      {0, XK_g}},     spawn,           SHCMD(GUI_FILEMANAGER) },
 | 
			
		||||
// 	// Rofi file browser (small)
 | 
			
		||||
//         {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_f}},     spawn,           SHCMD("rofi -show filebrowser") },
 | 
			
		||||
//         // ranger
 | 
			
		||||
//         {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_r}},     spawn,           SHCMD(TERMINAL " -e ranger") },
 | 
			
		||||
// 	/************************************* Start the web browers *************************************/
 | 
			
		||||
//         // Google chrome stable
 | 
			
		||||
// 	{2, {{MODKEY, XK_w},                {0, XK_g}},     spawn,           SHCMD(WEBBROWSER) },
 | 
			
		||||
//         // Tor brower
 | 
			
		||||
// 	{2, {{MODKEY, XK_w},                {0, XK_t}},     spawn,           SHCMD("tor-browser") },
 | 
			
		||||
// 	/************************************* Start the caht/email/\* apps *************************************/
 | 
			
		||||
// 	// Discord
 | 
			
		||||
// 	{2, {{MODKEY, XK_c},                {0, XK_d}},      spawn,           SHCMD("discord") },
 | 
			
		||||
//         // Obsidian
 | 
			
		||||
// 	{2, {{MODKEY, XK_c},                {0, XK_o}},      spawn,           SHCMD("obsidian") },
 | 
			
		||||
// 	/************************************* Start the dev apps *************************************/
 | 
			
		||||
// 	// Jetbrains toolbox
 | 
			
		||||
// 	{2, {{MODKEY, XK_a},                {0, XK_j}},     spawn,         SHCMD("jetbrains-toolbox") },
 | 
			
		||||
//         // NeoVim
 | 
			
		||||
// 	{2, {{MODKEY, XK_a},                {0, XK_n}},     spawn,         SHCMD(TERMINAL " -e nvim") },
 | 
			
		||||
//         // Vim
 | 
			
		||||
// 	{2, {{MODKEY, XK_a},                {0, XK_v}},     spawn,         SHCMD(TERMINAL " -e vim") },
 | 
			
		||||
//         // emacs
 | 
			
		||||
// 	{2, {{MODKEY, XK_a},                {0, XK_e}},     spawn,         SHCMD("emacs") },
 | 
			
		||||
// 	/************************************* Start personalize apps *************************************/
 | 
			
		||||
//         // nitrogen
 | 
			
		||||
//         {2, {{MODKEY, XK_p},                {0, XK_b}},    spawn,         SHCMD("nitrogen") },
 | 
			
		||||
//         // nm-connection-editor
 | 
			
		||||
//         {2, {{MODKEY, XK_p},                {0, XK_n}},    spawn,         SHCMD("nm-connection-editor") },
 | 
			
		||||
// 	/************************************* Start multi media apps *************************************/
 | 
			
		||||
//         // cmus
 | 
			
		||||
//         {2, {{MODKEY, XK_m},                 {0, XK_c}},    spawn,          SHCMD("sh -c \"" TERMINAL " -e cmus\" & sh -c \"cmus-rpc --link\"") },
 | 
			
		||||
//         // vlc
 | 
			
		||||
//         {2, {{MODKEY, XK_m},                 {0, XK_v}},    spawn,          SHCMD("vlc") },
 | 
			
		||||
//         // vlc in the main terminal
 | 
			
		||||
//         {2, {{MODKEY, XK_m},                 {ShiftMask, XK_v}},    spawn,          SHCMD(TERMINAL "nvlc") },
 | 
			
		||||
// 	/************************************* Start the emoji piker apps *************************************/
 | 
			
		||||
// 	// Emoji selector (rofi)
 | 
			
		||||
// 	{1, {{Mod4Mask,                    XK_e}},    spawn,          SHCMD("rofi -show emoji") },
 | 
			
		||||
// 	/************************************* dwm keys *************************************/
 | 
			
		||||
// 	// Full screen mode
 | 
			
		||||
// 	{1, {{MODKEY,			XK_f}},      fullscreen,     {0} },
 | 
			
		||||
// 	// Toggle the slstatus bar (hide/show)
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_b}},      togglebar,      {0} },
 | 
			
		||||
//         // Change the focus
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_j}},      focusstack,     {.i = +1 } },
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_k}},      focusstack,     {.i = -1 } },
 | 
			
		||||
//         // Change the stack layout (horizontal/virtecal)
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_i}},      incnmaster,     {.i = +1 } },
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_d}},      incnmaster,     {.i = -1 } },
 | 
			
		||||
//         // Change the focus window size (in the tile mode)
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_h}},      setmfact,       {.f = -0.05} },
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_l}},      setmfact,       {.f = +0.05} },
 | 
			
		||||
// //	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
// 	{1, {{MODKEY,                   XK_Tab}},    view,           {0} },
 | 
			
		||||
//
 | 
			
		||||
// 	{1, {{MODKEY|ShiftMask,          XK_j}},     movestack,      {.i = +1 } }, 
 | 
			
		||||
// 	{1, {{MODKEY|ShiftMask,          XK_k}},     movestack,      {.i = -1 } }, 
 | 
			
		||||
//         // Toogle styky mode
 | 
			
		||||
//         {1, {{MODKEY|ShiftMask,          XK_s}},     togglesticky,    {0} },
 | 
			
		||||
//     
 | 
			
		||||
// 	// Quit from the foucsed window (kill)
 | 
			
		||||
// 	{2, {{MODKEY, XK_q},            {0, XK_q}},      killclient,     {0} },
 | 
			
		||||
//         /************************* Switch between layouts *************************/
 | 
			
		||||
// 	// Tiled layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_t}},      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
// 	// Floating layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_f}},      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
// 	// Monocle layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_m}},      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
//         // Grid layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_g}},      setlayout,      {.v = &layouts[3]} },
 | 
			
		||||
//         // Spiral layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_r}},      setlayout,      {.v = &layouts[4]} },
 | 
			
		||||
//         // Dwindle layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {ShiftMask, XK_r}},      setlayout,      {.v = &layouts[5]} },
 | 
			
		||||
//         // Centerd master layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {0, XK_c}},      setlayout,      {.v = &layouts[6]} },
 | 
			
		||||
//         // Centerd floating master layout
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},           {ShiftMask, XK_c}},      setlayout,      {.v = &layouts[7]} },
 | 
			
		||||
//
 | 
			
		||||
//         // Toggle between current layout and tile layout  
 | 
			
		||||
// 	{2, {{MODKEY, XK_s},             {0, XK_space}},  setlayout,      {0} },
 | 
			
		||||
//         // Toggle floating window
 | 
			
		||||
// 	{1, {{MODKEY|Mod1Mask,           XK_f}},        togglefloating,     {0} },
 | 
			
		||||
//         // View all tags
 | 
			
		||||
// 	{1, {{MODKEY,                    XK_0}},        view,           {.ui = ~0 } },
 | 
			
		||||
//         // Mirror the current tagg in all tags
 | 
			
		||||
// 	{1, {{MODKEY|ShiftMask,          XK_0}},        tag,            {.ui = ~0 } },
 | 
			
		||||
//         // I don't know
 | 
			
		||||
// 	{1, {{MODKEY,                    XK_comma}},    focusmon,       {.i = -1 } },
 | 
			
		||||
// 	{1, {{MODKEY,                    XK_period}},   focusmon,       {.i = +1 } },
 | 
			
		||||
// 	{1, {{MODKEY|ShiftMask,          XK_comma}},    tagmon,         {.i = -1 } },
 | 
			
		||||
// 	{1, {{MODKEY|ShiftMask,          XK_period}},   tagmon,         {.i = +1 } },
 | 
			
		||||
||||||| 95139f7
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {0, XK_a}},      spawn,              SHCMD("alacritty")  },
 | 
			
		||||
	// Start the alacritty terminal with tmux
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {ShiftMask, XK_a}},      spawn,           SHCMD("alacritty -e tmux")  },
 | 
			
		||||
        // kitty
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {0, XK_k}},              spawn,           SHCMD("kitty")  },
 | 
			
		||||
        // kitty with tmux
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {ShiftMask, XK_k}},      spawn,           SHCMD("kitty -e tmux")  },
 | 
			
		||||
	/************************************* File browsers *************************************/
 | 
			
		||||
        // GUI filebrowser (pcmanfm)
 | 
			
		||||
	{2, {{MODKEY|ShiftMask, XK_f},      {0, XK_g}},     spawn,           SHCMD(GUI_FILEMANAGER) },
 | 
			
		||||
	// Rofi file browser (small)
 | 
			
		||||
        {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_f}},     spawn,           SHCMD("rofi -show filebrowser") },
 | 
			
		||||
        // ranger
 | 
			
		||||
        {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_r}},     spawn,           SHCMD(TERMINAL " -e ranger") },
 | 
			
		||||
	/************************************* Start the web browers *************************************/
 | 
			
		||||
        // Google chrome stable
 | 
			
		||||
	{2, {{MODKEY, XK_w},                {0, XK_g}},     spawn,           SHCMD(WEBBROWSER) },
 | 
			
		||||
        // Tor brower
 | 
			
		||||
	{2, {{MODKEY, XK_w},                {0, XK_t}},     spawn,           SHCMD("tor-browser") },
 | 
			
		||||
	/************************************* Start the caht/email/\* apps *************************************/
 | 
			
		||||
	// Discord
 | 
			
		||||
	{2, {{MODKEY, XK_c},                {0, XK_d}},      spawn,           SHCMD("discord") },
 | 
			
		||||
        // Obsidian
 | 
			
		||||
	{2, {{MODKEY, XK_c},                {0, XK_o}},      spawn,           SHCMD("obsidian") },
 | 
			
		||||
	/************************************* Start the dev apps *************************************/
 | 
			
		||||
	// Jetbrains toolbox
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_j}},     spawn,         SHCMD("jetbrains-toolbox") },
 | 
			
		||||
        // NeoVim
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_n}},     spawn,         SHCMD(TERMINAL " -e nvim") },
 | 
			
		||||
        // Vim
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_v}},     spawn,         SHCMD(TERMINAL " -e vim") },
 | 
			
		||||
        // emacs
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_e}},     spawn,         SHCMD("emacs") },
 | 
			
		||||
	/************************************* Start personalize apps *************************************/
 | 
			
		||||
        // nitrogen
 | 
			
		||||
        {2, {{MODKEY, XK_p},                {0, XK_b}},    spawn,         SHCMD("nitrogen") },
 | 
			
		||||
        // nm-connection-editor
 | 
			
		||||
        {2, {{MODKEY, XK_p},                {0, XK_n}},    spawn,         SHCMD("nm-connection-editor") },
 | 
			
		||||
	/************************************* Start multi media apps *************************************/
 | 
			
		||||
        // cmus
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {0, XK_c}},    spawn,          SHCMD("sh -c \"" TERMINAL " -e cmus\" & sh -c \"cmus-rpc --link\"") },
 | 
			
		||||
        // vlc
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {0, XK_v}},    spawn,          SHCMD("vlc") },
 | 
			
		||||
        // vlc in the main terminal
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {ShiftMask, XK_v}},    spawn,          SHCMD(TERMINAL "nvlc") },
 | 
			
		||||
	/************************************* Start the emoji piker apps *************************************/
 | 
			
		||||
	// Emoji selector (rofi)
 | 
			
		||||
	{1, {{Mod4Mask,                    XK_e}},    spawn,          SHCMD("rofi -show emoji") },
 | 
			
		||||
	/************************************* dwm keys *************************************/
 | 
			
		||||
	// Full screen mode
 | 
			
		||||
	{1, {{MODKEY,			XK_f}},      fullscreen,     {0} },
 | 
			
		||||
	// Toggle the slstatus bar (hide/show)
 | 
			
		||||
	{1, {{MODKEY,                   XK_b}},      togglebar,      {0} },
 | 
			
		||||
        // Change the focus
 | 
			
		||||
	{1, {{MODKEY,                   XK_j}},      focusstack,     {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY,                   XK_k}},      focusstack,     {.i = -1 } },
 | 
			
		||||
        // Change the stack layout (horizontal/virtecal)
 | 
			
		||||
	{1, {{MODKEY,                   XK_i}},      incnmaster,     {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY,                   XK_d}},      incnmaster,     {.i = -1 } },
 | 
			
		||||
        // Change the focus window size (in the tile mode)
 | 
			
		||||
	{1, {{MODKEY,                   XK_h}},      setmfact,       {.f = -0.05} },
 | 
			
		||||
	{1, {{MODKEY,                   XK_l}},      setmfact,       {.f = +0.05} },
 | 
			
		||||
//	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
	{1, {{MODKEY,                   XK_Tab}},    view,           {0} },
 | 
			
		||||
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_j}},     movestack,      {.i = +1 } }, 
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_k}},     movestack,      {.i = -1 } }, 
 | 
			
		||||
        // Toogle styky mode
 | 
			
		||||
        {1, {{MODKEY|ShiftMask,          XK_s}},     togglesticky,    {0} },
 | 
			
		||||
    
 | 
			
		||||
	// Quit from the foucsed window (kill)
 | 
			
		||||
	{2, {{MODKEY, XK_q},            {0, XK_q}},      killclient,     {0} },
 | 
			
		||||
        /************************* Switch between layouts *************************/
 | 
			
		||||
	// Tiled layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_t}},      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
	// Floating layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_f}},      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
	// Monocle layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_m}},      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
        // Grid layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_g}},      setlayout,      {.v = &layouts[3]} },
 | 
			
		||||
        // Spiral layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_r}},      setlayout,      {.v = &layouts[4]} },
 | 
			
		||||
        // Dwindle layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {ShiftMask, XK_r}},      setlayout,      {.v = &layouts[5]} },
 | 
			
		||||
        // Centerd master layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_c}},      setlayout,      {.v = &layouts[6]} },
 | 
			
		||||
        // Centerd floating master layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {ShiftMask, XK_c}},      setlayout,      {.v = &layouts[7]} },
 | 
			
		||||
 | 
			
		||||
        // Toggle between current layout and tile layout  
 | 
			
		||||
	{2, {{MODKEY, XK_s},             {0, XK_space}},  setlayout,      {0} },
 | 
			
		||||
        // Toggle floating window
 | 
			
		||||
	{1, {{MODKEY|Mod1Mask,           XK_f}},        togglefloating,     {0} },
 | 
			
		||||
        // View all tags
 | 
			
		||||
	{1, {{MODKEY,                    XK_0}},        view,           {.ui = ~0 } },
 | 
			
		||||
        // Mirror the current tagg in all tags
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_0}},        tag,            {.ui = ~0 } },
 | 
			
		||||
        // I don't know
 | 
			
		||||
	{1, {{MODKEY,                    XK_comma}},    focusmon,       {.i = -1 } },
 | 
			
		||||
	{1, {{MODKEY,                    XK_period}},   focusmon,       {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_comma}},    tagmon,         {.i = -1 } },
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_period}},   tagmon,         {.i = +1 } },
 | 
			
		||||
=======
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {0, XK_a}},      spawn,              SHCMD("alacritty")  },
 | 
			
		||||
	// Start the alacritty terminal with tmux
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {ShiftMask, XK_a}},      spawn,           SHCMD("alacritty -e tmux")  },
 | 
			
		||||
        // kitty
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {0, XK_k}},              spawn,           SHCMD("kitty")  },
 | 
			
		||||
        // kitty with tmux
 | 
			
		||||
	{2, {{MODKEY, XK_t},                {ShiftMask, XK_k}},      spawn,           SHCMD("kitty -e tmux")  },
 | 
			
		||||
	/************************************* File browsers *************************************/
 | 
			
		||||
        // GUI filebrowser (pcmanfm)
 | 
			
		||||
	{2, {{MODKEY|ShiftMask, XK_f},      {0, XK_g}},     spawn,           SHCMD(GUI_FILEMANAGER) },
 | 
			
		||||
	// Rofi file browser (small)
 | 
			
		||||
        {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_f}},     spawn,           SHCMD("rofi -show filebrowser") },
 | 
			
		||||
        // Terminal file manager (ranger)
 | 
			
		||||
        {2, {{MODKEY|ShiftMask, XK_f},      {0, XK_t}},     spawn,           SHCMD(TERMINAL " -e ranger") },
 | 
			
		||||
	/************************************* Start the web browers *************************************/
 | 
			
		||||
        // Google chrome stable
 | 
			
		||||
	{2, {{MODKEY, XK_w},                {0, XK_g}},     spawn,           SHCMD(WEBBROWSER) },
 | 
			
		||||
        // Tor brower
 | 
			
		||||
	{2, {{MODKEY, XK_w},                {0, XK_t}},     spawn,           SHCMD("tor-browser") },
 | 
			
		||||
	/************************************* Start the caht/email/\* apps *************************************/
 | 
			
		||||
	// Discord
 | 
			
		||||
	{2, {{MODKEY, XK_c},                {0, XK_d}},      spawn,           SHCMD("discord") },
 | 
			
		||||
        // Obsidian
 | 
			
		||||
	{2, {{MODKEY, XK_c},                {0, XK_o}},      spawn,           SHCMD("obsidian") },
 | 
			
		||||
	/************************************* Start the dev apps *************************************/
 | 
			
		||||
	// Jetbrains toolbox
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_j}},     spawn,         SHCMD("jetbrains-toolbox") },
 | 
			
		||||
        // NeoVim
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_n}},     spawn,         SHCMD(TERMINAL " -e nvim") },
 | 
			
		||||
        // Vim
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_v}},     spawn,         SHCMD(TERMINAL " -e vim") },
 | 
			
		||||
        // emacs
 | 
			
		||||
	{2, {{MODKEY, XK_a},                {0, XK_e}},     spawn,         SHCMD("emacs") },
 | 
			
		||||
	/************************************* Start personalize apps *************************************/
 | 
			
		||||
        // nitrogen
 | 
			
		||||
        {2, {{MODKEY, XK_p},                {0, XK_b}},    spawn,         SHCMD("nitrogen") },
 | 
			
		||||
        // nm-connection-editor
 | 
			
		||||
        {2, {{MODKEY, XK_p},                {0, XK_n}},    spawn,         SHCMD("nm-connection-editor") },
 | 
			
		||||
	/************************************* Start multi media apps *************************************/
 | 
			
		||||
        // cmus
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {0, XK_c}},    spawn,          SHCMD("sh -c \"" TERMINAL " -e cmus\" & sh -c \"cmus-rpc --link\"") },
 | 
			
		||||
        // vlc
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {0, XK_v}},    spawn,          SHCMD("vlc") },
 | 
			
		||||
        // vlc in the main terminal
 | 
			
		||||
        {2, {{MODKEY, XK_m},                 {ShiftMask, XK_v}},    spawn,          SHCMD(TERMINAL "nvlc") },
 | 
			
		||||
	/************************************* Start the emoji piker apps *************************************/
 | 
			
		||||
	// Emoji selector (rofi)
 | 
			
		||||
	{1, {{Mod4Mask,                    XK_e}},    spawn,          SHCMD("rofimoji") },
 | 
			
		||||
	/************************************* dwm keys *************************************/
 | 
			
		||||
	// Full screen mode
 | 
			
		||||
	{1, {{MODKEY,			XK_f}},      fullscreen,     {0} },
 | 
			
		||||
	// Toggle the slstatus bar (hide/show)
 | 
			
		||||
	{1, {{MODKEY,                   XK_b}},      togglebar,      {0} },
 | 
			
		||||
        // Change the focus
 | 
			
		||||
	{1, {{MODKEY,                   XK_j}},      focusstack,     {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY,                   XK_k}},      focusstack,     {.i = -1 } },
 | 
			
		||||
        // Change the stack layout (horizontal/virtecal)
 | 
			
		||||
	{1, {{MODKEY,                   XK_i}},      incnmaster,     {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY,                   XK_d}},      incnmaster,     {.i = -1 } },
 | 
			
		||||
        // Change the focus window size (in the tile mode)
 | 
			
		||||
	{1, {{MODKEY,                   XK_h}},      setmfact,       {.f = -0.05} },
 | 
			
		||||
	{1, {{MODKEY,                   XK_l}},      setmfact,       {.f = +0.05} },
 | 
			
		||||
//	{ MODKEY,                       XK_Return, zoom,           {0} },
 | 
			
		||||
	{1, {{MODKEY,                   XK_Tab}},    view,           {0} },
 | 
			
		||||
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_j}},     movestack,      {.i = +1 } }, 
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_k}},     movestack,      {.i = -1 } }, 
 | 
			
		||||
        // Toogle styky mode
 | 
			
		||||
        {1, {{MODKEY|ShiftMask,          XK_s}},     togglesticky,    {0} },
 | 
			
		||||
    
 | 
			
		||||
	// Quit from the foucsed window (kill)
 | 
			
		||||
	{2, {{MODKEY, XK_q},            {0, XK_q}},      killclient,     {0} },
 | 
			
		||||
        /************************* Switch between layouts *************************/
 | 
			
		||||
	// Tiled layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_t}},      setlayout,      {.v = &layouts[0]} },
 | 
			
		||||
	// Floating layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_f}},      setlayout,      {.v = &layouts[1]} },
 | 
			
		||||
	// Monocle layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_m}},      setlayout,      {.v = &layouts[2]} },
 | 
			
		||||
        // Grid layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_g}},      setlayout,      {.v = &layouts[3]} },
 | 
			
		||||
        // Spiral layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_r}},      setlayout,      {.v = &layouts[4]} },
 | 
			
		||||
        // Dwindle layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {ShiftMask, XK_r}},      setlayout,      {.v = &layouts[5]} },
 | 
			
		||||
        // Centerd master layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {0, XK_c}},      setlayout,      {.v = &layouts[6]} },
 | 
			
		||||
        // Centerd floating master layout
 | 
			
		||||
	{2, {{MODKEY, XK_s},           {ShiftMask, XK_c}},      setlayout,      {.v = &layouts[7]} },
 | 
			
		||||
 | 
			
		||||
        // Toggle between current layout and tile layout  
 | 
			
		||||
	{2, {{MODKEY, XK_s},             {0, XK_space}},  setlayout,      {0} },
 | 
			
		||||
        // Toggle floating window
 | 
			
		||||
	{1, {{MODKEY|Mod1Mask,           XK_f}},        togglefloating,     {0} },
 | 
			
		||||
        // View all tags
 | 
			
		||||
	{1, {{MODKEY,                    XK_0}},        view,           {.ui = ~0 } },
 | 
			
		||||
        // Mirror the current tagg in all tags
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_0}},        tag,            {.ui = ~0 } },
 | 
			
		||||
        // I don't know
 | 
			
		||||
	{1, {{MODKEY,                    XK_comma}},    focusmon,       {.i = -1 } },
 | 
			
		||||
	{1, {{MODKEY,                    XK_period}},   focusmon,       {.i = +1 } },
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_comma}},    tagmon,         {.i = -1 } },
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,          XK_period}},   tagmon,         {.i = +1 } },
 | 
			
		||||
>>>>>>> update-stuff
 | 
			
		||||
        /************************* Tag keys *************************/
 | 
			
		||||
	TAGKEYS(                         XK_1,                      0)
 | 
			
		||||
	TAGKEYS(                         XK_2,                      1)
 | 
			
		||||
	TAGKEYS(                         XK_3,                      2)
 | 
			
		||||
	TAGKEYS(                         XK_4,                      3)
 | 
			
		||||
	TAGKEYS(                         XK_5,                      4)
 | 
			
		||||
	TAGKEYS(                         XK_6,                      5)
 | 
			
		||||
	TAGKEYS(                         XK_7,                      6)
 | 
			
		||||
	TAGKEYS(                         XK_8,                      7)
 | 
			
		||||
	TAGKEYS(                         XK_9,                      8)
 | 
			
		||||
        TAGKEYS(                         XK_semicolon,              9)
 | 
			
		||||
	/* ---------------------------------- Control Keys ---------------------------------- */
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
	// // Brightness controllers (requires xbacklight)
 | 
			
		||||
	// {1, {{0,                               XF86XK_MonBrightnessUp}},   spawn, SHCMD("xbacklight -inc 5") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_MonBrightnessDown}}, spawn, SHCMD("xbacklight -dec 5") },
 | 
			
		||||
	// // Sound controllers (requires pamixer)
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioRaiseVolume}}, spawn, SHCMD("pamixer --allow-boost -i 4") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioLowerVolume}}, spawn, SHCMD("pamixer --allow-boost -d 4") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioMute}},        spawn, SHCMD("pamixer -t") },
 | 
			
		||||
	// // Media controls (requires playerctl)
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioPlay}},	 spawn,	SHCMD("playerctl play-pause") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioStop}},       spawn, SHCMD("playerctl stop") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioNext}},	 spawn,	SHCMD("playerctl next") },
 | 
			
		||||
	// {1, {{0,                               XF86XK_AudioPrev}},	 spawn,	SHCMD("playerctl previous")  },
 | 
			
		||||
 //        // Mute and unmute mic
 | 
			
		||||
	// {1, {{0,			       XF86XK_AudioMicMute}},	spawn, SHCMD("pactl set-source-mute @DEFAULT_SOURCE@ toggle") },
 | 
			
		||||
	// // Take a screenshot
 | 
			
		||||
	// {1, {{0,			       XK_Print}},		spawn, SHCMD(SCREENSHOT) },
 | 
			
		||||
	// /* ---------------------------------- lock Keys ---------------------------------- */
 | 
			
		||||
	// // Lock the screen
 | 
			
		||||
	// {1, {{MODKEY|ShiftMask,    	       XK_x}},     spawn,          SHCMD("betterlockscreen -l dim") },
 | 
			
		||||
	// // Kill dwm (super + shift + alt + q)
 | 
			
		||||
	// {1, {{MODKEY|ShiftMask|Mod1Mask,       XK_q}},      quit,           {0} },
 | 
			
		||||
||||||| 95139f7
 | 
			
		||||
	// Brightness controllers (requires xbacklight)
 | 
			
		||||
	{1, {{0,                               XF86XK_MonBrightnessUp}},   spawn, SHCMD("xbacklight -inc 5") },
 | 
			
		||||
	{1, {{0,                               XF86XK_MonBrightnessDown}}, spawn, SHCMD("xbacklight -dec 5") },
 | 
			
		||||
	// Sound controllers (requires pamixer)
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioRaiseVolume}}, spawn, SHCMD("pamixer --allow-boost -i 4") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioLowerVolume}}, spawn, SHCMD("pamixer --allow-boost -d 4") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioMute}},        spawn, SHCMD("pamixer -t") },
 | 
			
		||||
	// Media controls (requires playerctl)
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioPlay}},	 spawn,	SHCMD("playerctl play-pause") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioStop}},       spawn, SHCMD("playerctl stop") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioNext}},	 spawn,	SHCMD("playerctl next") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioPrev}},	 spawn,	SHCMD("playerctl previous")  },
 | 
			
		||||
        // Mute and unmute mic
 | 
			
		||||
	{1, {{0,			       XF86XK_AudioMicMute}},	spawn, SHCMD("pactl set-source-mute @DEFAULT_SOURCE@ toggle") },
 | 
			
		||||
	// Take a screenshot
 | 
			
		||||
	{1, {{0,			       XK_Print}},		spawn, SHCMD(SCREENSHOT) },
 | 
			
		||||
	/* ---------------------------------- lock Keys ---------------------------------- */
 | 
			
		||||
	// Lock the screen
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,    	       XK_x}},     spawn,          SHCMD("betterlockscreen -l dim") },
 | 
			
		||||
	// Kill dwm (super + shift + alt + q)
 | 
			
		||||
	{1, {{MODKEY|ShiftMask|Mod1Mask,       XK_q}},      quit,           {0} },
 | 
			
		||||
=======
 | 
			
		||||
	// Brightness controllers (requires xbacklight)
 | 
			
		||||
	{1, {{0,                               XF86XK_MonBrightnessUp}},   spawn, SHCMD("xbacklight -inc 5") },
 | 
			
		||||
	{1, {{0,                               XF86XK_MonBrightnessDown}}, spawn, SHCMD("xbacklight -dec 5") },
 | 
			
		||||
	// Sound controllers (requires pamixer)
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioRaiseVolume}}, spawn, SHCMD("pamixer --allow-boost -i 4") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioLowerVolume}}, spawn, SHCMD("pamixer --allow-boost -d 4") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioMute}},        spawn, SHCMD("pamixer -t") },
 | 
			
		||||
	// Media controls (requires playerctl)
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioPlay}},	 spawn,	SHCMD("playerctl play-pause") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioStop}},       spawn, SHCMD("playerctl stop") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioNext}},	 spawn,	SHCMD("playerctl next") },
 | 
			
		||||
	{1, {{0,                               XF86XK_AudioPrev}},	 spawn,	SHCMD("playerctl previous")  },
 | 
			
		||||
        // Mute and unmute mic
 | 
			
		||||
	{1, {{0,			       XF86XK_AudioMicMute}},	spawn, SHCMD("pactl set-source-mute @DEFAULT_SOURCE@ toggle") },
 | 
			
		||||
	// Take a screenshot
 | 
			
		||||
	{1, {{0,			       XK_Print}},		spawn, SHCMD(SCREENSHOT) },
 | 
			
		||||
	/* ---------------------------------- lock Keys ---------------------------------- */
 | 
			
		||||
	// Lock the screen
 | 
			
		||||
	{1, {{MODKEY|ShiftMask,    	       XK_x}},     spawn,          SHCMD("betterlockscreen -l dim") },
 | 
			
		||||
	{1, {{0,                     XF86XK_Suspend}},     spawn,          SHCMD("betterlockscreen -l dim") },
 | 
			
		||||
	// Kill dwm (super + shift + alt + q)
 | 
			
		||||
	// {1, {{MODKEY|ShiftMask|Mod1Mask,       XK_q}},      quit,           {0} },
 | 
			
		||||
>>>>>>> update-stuff
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
 | 
			
		||||
static Button buttons[] = {
 | 
			
		||||
	/* click                event mask      button          function        argument */
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
 | 
			
		||||
	{ ClkWinTitle,          0,              Button2,        zoom,           {0} },
 | 
			
		||||
	{ ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },
 | 
			
		||||
	{ ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },
 | 
			
		||||
	{ ClkTagBar,            0,              Button1,        view,           {0} },
 | 
			
		||||
	{ ClkTagBar,            0,              Button3,        toggleview,     {0} },
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
 | 
			
		||||
	{ ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +1,31 @@
 | 
			
		|||
#ifndef keys_H
 | 
			
		||||
#define keys_H
 | 
			
		||||
#ifndef KEYS_H
 | 
			
		||||
#define KEYS_H
 | 
			
		||||
 | 
			
		||||
// X11 keysym definitions
 | 
			
		||||
#include <X11/XF86keysym.h> // req (libxinerama1 and libxinerama-dev)
 | 
			
		||||
 | 
			
		||||
#include <X11/keysym.h>
 | 
			
		||||
#include <X11/X.h>
 | 
			
		||||
#include "../dwm.h"
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    unsigned int mod;
 | 
			
		||||
    KeySym chain;
 | 
			
		||||
    KeySym keysym;
 | 
			
		||||
 | 
			
		||||
    void (*func)(const Arg *);
 | 
			
		||||
 | 
			
		||||
    const Arg arg;
 | 
			
		||||
} Key;
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
#define MODKEY Mod4Mask // win/super key
 | 
			
		||||
 | 
			
		||||
#define TAGKEYS(CHAIN, KEY, TAG) \
 | 
			
		||||
   { MODKEY,                       CHAIN,    KEY,      view,           {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ControlMask,           CHAIN,    KEY,      toggleview,     {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ShiftMask,             CHAIN,    KEY,      tag,            {.ui = 1 << TAG} }, \
 | 
			
		||||
   { MODKEY|ControlMask|ShiftMask, CHAIN,    KEY,      toggletag,      {.ui = 1 << TAG} },
 | 
			
		||||
 | 
			
		||||
// Include all the key bindings
 | 
			
		||||
#ifndef KEYS_C
 | 
			
		||||
#include "keys.c"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // keys_H
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										23
									
								
								src/keys/mouse.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/keys/mouse.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
//
 | 
			
		||||
// Created by anas on 10/31/22.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#include "mouse.h"
 | 
			
		||||
#include "keys.h"
 | 
			
		||||
 | 
			
		||||
/* button definitions */
 | 
			
		||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
 | 
			
		||||
static Button buttons[] = {
 | 
			
		||||
        /* click                event mask      button          function        argument */
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button1, tag,            {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button3, toggletag,      {0}},
 | 
			
		||||
        {ClkWinTitle,   0,     Button2, zoom,           {0}},
 | 
			
		||||
        {ClkStatusText, 0,     Button2, spawn,          {.v = termcmd}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button1, movemouse,      {0}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button2, togglefloating, {0}},
 | 
			
		||||
        {ClkClientWin, MODKEY, Button3, resizemouse,    {0}},
 | 
			
		||||
        {ClkTagBar,     0,     Button1, view,           {0}},
 | 
			
		||||
        {ClkTagBar,     0,     Button3, toggleview,     {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button1, tag,            {0}},
 | 
			
		||||
        {ClkTagBar,    MODKEY, Button3, toggletag,      {0}},
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										29
									
								
								src/keys/mouse.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/keys/mouse.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
//
 | 
			
		||||
// Created by anas on 10/31/22.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
#ifndef MOUSE_H
 | 
			
		||||
#define MOUSE_H
 | 
			
		||||
 | 
			
		||||
#include <X11/X.h>
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    unsigned int click;
 | 
			
		||||
    unsigned int mask;
 | 
			
		||||
    unsigned int button;
 | 
			
		||||
 | 
			
		||||
    void (*func)(const Arg *arg);
 | 
			
		||||
 | 
			
		||||
    const Arg arg;
 | 
			
		||||
} Button;
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
    ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
 | 
			
		||||
    ClkClientWin, ClkRootWin, ClkLast
 | 
			
		||||
}; /* clicks */
 | 
			
		||||
 | 
			
		||||
#ifndef MOUSE_C
 | 
			
		||||
#include "mouse.c"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif //MOUSE_H
 | 
			
		||||
| 
						 | 
				
			
			@ -10,15 +10,15 @@
 | 
			
		|||
 | 
			
		||||
// Layouts array
 | 
			
		||||
static const Layout layouts[] = {
 | 
			
		||||
	/* symbol     arrange function */
 | 
			
		||||
	{ "[]=",      tile                      },    /* first entry is default */
 | 
			
		||||
	{ "><>",      NULL                      },    /* no layout function means floating behavior */
 | 
			
		||||
	{ "[M]",      monocle                   }, // 2
 | 
			
		||||
	{ "HHH",      grid                      }, // 3
 | 
			
		||||
        { "[@]",      spiral                    }, // 4
 | 
			
		||||
        { "[\\]",     dwindle                   }, // 5
 | 
			
		||||
        { "|M|",      centeredmaster            }, // 6
 | 
			
		||||
 	{ ">M>",      centeredfloatingmaster    }, // 7
 | 
			
		||||
        /* symbol     arrange function */
 | 
			
		||||
        {"[]=",  tile},    /* first entry is default */
 | 
			
		||||
        {"><>", NULL},    /* no layout function means floating behavior */
 | 
			
		||||
        {"[M]",  monocle}, // 2
 | 
			
		||||
        {"HHH",  grid}, // 3
 | 
			
		||||
        {"[@]",  spiral}, // 4
 | 
			
		||||
        {"[\\]", dwindle}, // 5
 | 
			
		||||
        {"|M|",  centeredmaster}, // 6
 | 
			
		||||
        {">M>",  centeredfloatingmaster}, // 7
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // !layouts.h
 | 
			
		||||
#endif // layouts_H
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
void
 | 
			
		||||
static void
 | 
			
		||||
movestack(const Arg *arg) {
 | 
			
		||||
	Client *c = NULL, *p = NULL, *pc = NULL, *i;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue