├── README.md ├── HomeGesture.plist ├── en.lproj.zip ├── .gitignore ├── preferences ├── Resources │ ├── banner.png │ ├── icon@2x.png │ ├── icon@3x.png │ ├── banners │ │ ├── x_bar.png │ │ ├── carrier.png │ │ ├── cc_hint.png │ │ ├── cc_vert.png │ │ ├── homebar.png │ │ ├── ls_dots.png │ │ ├── breadcrumb.png │ │ ├── cc_status.png │ │ ├── swipe_up.png │ │ ├── cc_landscape.png │ │ ├── torch_camera.png │ │ └── round_screenshot.png │ ├── icons │ │ ├── donate@2x.png │ │ ├── donate@3x.png │ │ ├── blacklist@2x.png │ │ ├── blacklist@3x.png │ │ ├── buttons@2x.png │ │ ├── buttons@3x.png │ │ ├── changes@2x.png │ │ ├── changes@3x.png │ │ ├── homeBar@2x.png │ │ ├── homeBar@3x.png │ │ ├── statusBar@2x.png │ │ ├── statusBar@3x.png │ │ ├── vertical@2x.png │ │ ├── vertical@3x.png │ │ ├── appSwitcher@2x.png │ │ ├── appSwitcher@3x.png │ │ ├── horizontal@2x.png │ │ ├── horizontal@3x.png │ │ ├── lockScreen@2x.png │ │ ├── lockScreen@3x.png │ │ ├── backupRestore@2x.png │ │ ├── backupRestore@3x.png │ │ ├── controlCentre@2x.png │ │ ├── controlCentre@3x.png │ │ ├── currentVersion@2x.png │ │ ├── currentVersion@3x.png │ │ ├── miscellaneous@2x.png │ │ └── miscellaneous@3x.png │ ├── quickSetup │ │ ├── back.png │ │ ├── siri.png │ │ ├── final.png │ │ ├── homeBar.mp4 │ │ ├── statusBar.mp4 │ │ ├── appSwitcher.mp4 │ │ ├── homeGesture.png │ │ ├── screenshot.png │ │ ├── swipeToClose.mp4 │ │ ├── controlCentre.mp4 │ │ └── swipeToGoHome.mp4 │ ├── ar.lproj │ │ ├── Root.strings │ │ ├── Support.strings │ │ ├── homeBar.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Localizable.strings │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── controlCentre.strings │ │ └── miscellaneous.strings │ ├── it.lproj │ │ ├── blackList.strings │ │ ├── miscellaneous.strings │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── homeBar.strings │ │ ├── controlCentre.strings │ │ ├── Root.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── ko.lproj │ │ ├── miscellaneous.strings │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── homeBar.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── Root.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── nl.lproj │ │ ├── miscellaneous.strings │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── homeBar.strings │ │ ├── controlCentre.strings │ │ ├── Root.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── es.lproj │ │ ├── miscellaneous.strings │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── homeBar.strings │ │ ├── controlCentre.strings │ │ ├── Root.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── zh-CN.lproj │ │ ├── appSwitcher.strings │ │ ├── miscellaneous.strings │ │ ├── buttonMapping.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── zh-TW.lproj │ │ ├── appSwitcher.strings │ │ ├── miscellaneous.strings │ │ ├── buttonMapping.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── globals.plist │ ├── base.lproj │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── miscellaneous.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── lockScreen.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── en-GB.lproj │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── miscellaneous.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── lockScreen.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── en.lproj │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── miscellaneous.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── lockScreen.strings │ │ ├── controlCentre.strings │ │ ├── blackList.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── vi.lproj │ │ ├── appSwitcher.strings │ │ ├── buttonMapping.strings │ │ ├── miscellaneous.strings │ │ ├── controlCentre.strings │ │ ├── homeBar.strings │ │ ├── Root.strings │ │ ├── blackList.strings │ │ ├── lockScreen.strings │ │ ├── statusBar.strings │ │ ├── Support.strings │ │ └── Localizable.strings │ ├── defaults.plist │ ├── Info.plist │ ├── buttonMapping.plist │ ├── miscellaneous.plist │ ├── appSwitcher.plist │ ├── blackList.plist │ ├── homeBar.plist │ ├── lockScreen.plist │ ├── controlCentre.plist │ ├── statusBar.plist │ ├── Root.plist │ └── Support.plist ├── HGPPreferenceController.h ├── Makefile ├── entry.plist └── HGPPreferenceController.m ├── source ├── HGPProvider.h ├── HGGestureBlacklist.xm ├── HGPip.xm ├── HGAppSpecific.xm.testing ├── HGPProvider.m ├── HGKeyboard.xm ├── HGBlacklist+Remap.xm ├── HGInset.xm ├── HGControlCenter.xm ├── HGMisc.xm ├── HGStatusBar.xm ├── HomeGesture.h └── HGSpringBoard.xm ├── control └── Makefile /README.md: -------------------------------------------------------------------------------- 1 | HomeGesture 2 | -------------------------------------------------------------------------------- /HomeGesture.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.apple.UIKit" ); }; } 2 | -------------------------------------------------------------------------------- /en.lproj.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/en.lproj.zip -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | packages/ 5 | 6 | 7 | 8 | \.vscode/ipch/620d22ea30674c23/mmap_address\.bin 9 | -------------------------------------------------------------------------------- /preferences/Resources/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banner.png -------------------------------------------------------------------------------- /preferences/Resources/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icon@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icon@3x.png -------------------------------------------------------------------------------- /preferences/Resources/banners/x_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/x_bar.png -------------------------------------------------------------------------------- /preferences/Resources/banners/carrier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/carrier.png -------------------------------------------------------------------------------- /preferences/Resources/banners/cc_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/cc_hint.png -------------------------------------------------------------------------------- /preferences/Resources/banners/cc_vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/cc_vert.png -------------------------------------------------------------------------------- /preferences/Resources/banners/homebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/homebar.png -------------------------------------------------------------------------------- /preferences/Resources/banners/ls_dots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/ls_dots.png -------------------------------------------------------------------------------- /preferences/Resources/icons/donate@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/donate@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/donate@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/donate@3x.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/back.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/siri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/siri.png -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/Root.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/Root.strings -------------------------------------------------------------------------------- /preferences/Resources/banners/breadcrumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/breadcrumb.png -------------------------------------------------------------------------------- /preferences/Resources/banners/cc_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/cc_status.png -------------------------------------------------------------------------------- /preferences/Resources/banners/swipe_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/swipe_up.png -------------------------------------------------------------------------------- /preferences/Resources/icons/blacklist@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/blacklist@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/blacklist@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/blacklist@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/buttons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/buttons@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/buttons@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/buttons@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/changes@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/changes@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/changes@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/changes@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/homeBar@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/homeBar@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/homeBar@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/homeBar@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/statusBar@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/statusBar@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/statusBar@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/statusBar@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/vertical@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/vertical@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/vertical@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/vertical@3x.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/final.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/homeBar.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/homeBar.mp4 -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/Support.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/Support.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/homeBar.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/homeBar.strings -------------------------------------------------------------------------------- /preferences/Resources/banners/cc_landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/cc_landscape.png -------------------------------------------------------------------------------- /preferences/Resources/banners/torch_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/torch_camera.png -------------------------------------------------------------------------------- /preferences/Resources/icons/appSwitcher@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/appSwitcher@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/appSwitcher@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/appSwitcher@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/horizontal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/horizontal@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/horizontal@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/horizontal@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/lockScreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/lockScreen@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/lockScreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/lockScreen@3x.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/statusBar.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/statusBar.mp4 -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/blackList.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/blackList.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/lockScreen.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/lockScreen.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/statusBar.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/statusBar.strings -------------------------------------------------------------------------------- /preferences/Resources/icons/backupRestore@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/backupRestore@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/backupRestore@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/backupRestore@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/controlCentre@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/controlCentre@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/controlCentre@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/controlCentre@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/currentVersion@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/currentVersion@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/currentVersion@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/currentVersion@3x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/miscellaneous@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/miscellaneous@2x.png -------------------------------------------------------------------------------- /preferences/Resources/icons/miscellaneous@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/icons/miscellaneous@3x.png -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/blackList.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/it.lproj/blackList.strings -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/appSwitcher.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/appSwitcher.mp4 -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/homeGesture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/homeGesture.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/screenshot.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/swipeToClose.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/swipeToClose.mp4 -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/Localizable.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/appSwitcher.strings -------------------------------------------------------------------------------- /preferences/Resources/banners/round_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/banners/round_screenshot.png -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/controlCentre.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/controlCentre.mp4 -------------------------------------------------------------------------------- /preferences/Resources/quickSetup/swipeToGoHome.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/quickSetup/swipeToGoHome.mp4 -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/buttonMapping.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/controlCentre.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/controlCentre.strings -------------------------------------------------------------------------------- /preferences/Resources/ar.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midnightchip/HomeGesture-Full/HEAD/preferences/Resources/ar.lproj/miscellaneous.strings -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "둥근 스크린샷 미리보기"; 3 | "Miscellaneous" = "기타"; 4 | "Does_itself" = "스크린샷 자체에는 영향을 끼치지 않습니다"; 5 | } -------------------------------------------------------------------------------- /preferences/HGPPreferenceController.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | @interface HGPPreferenceController : CSPListController 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Anteprima Screenshot arrotondata"; 3 | "Miscellaneous" = "Varie"; 4 | "Does_itself" = "Non condiziona lo screenshot"; 5 | } -------------------------------------------------------------------------------- /source/HGPProvider.h: -------------------------------------------------------------------------------- 1 | #include 2 | #define prefs [HGPProvider sharedProvider] 3 | 4 | @interface HGPProvider : NSObject 5 | 6 | + (CSPreferencesProvider *)sharedProvider; 7 | 8 | @end -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Ronde Screenshot VoortVertoning"; 3 | "Miscellaneous" = "Overige"; 4 | "Does_itself" = "Past de screenshot zelf niet aan!"; 5 | } 6 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Previsualización de la captura de pantalla redonda"; 3 | "Miscellaneous" = "Varios"; 4 | "Does_itself" = "No afecta a la captura de pantalla en sí"; 5 | } 6 | -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "上滑关闭软件"; 3 | "Round_Card_Corners" = "圆角程序栏"; 4 | "App_Switcher" = " 程序切换"; 5 | "Swipe_them" = "上滑程序来关闭"; 6 | "Also_dock" = "同时启用 iPhone X Dock栏"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "上滑關閉軟件"; 3 | "Round_Card_Corners" = "圓角程序欄"; 4 | "App_Switcher" = " 程序切換"; 5 | "Swipe_them" = "上滑程序來關閉"; 6 | "Also_dock" = "同時啟用 iPhone X Dock欄"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "쓸어올려서 종료"; 3 | "Round_Card_Corners" = "둥근 모서리"; 4 | "App_Switcher" = "앱 스위쳐"; 5 | "Swipe_them" = "앱 카드를 쓸어올려서 백그라운드에서 종료합니다; 6 | "Also_dock" = "iPhone X Dock 또한 활성화 됩니다"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "圓角截圖速覽"; 3 | "Miscellaneous" = "雜項"; 4 | "Does_itself" = "不會影響截圖形狀"; 5 | "iPhone_X_KEYBOARD" = "iPhone X 樣式鍵盤"; 6 | "iPhone_X_STYLE" = "iPhone X 樣式的鍵盤,按鍵在底部"; 7 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "圆角截图速览"; 3 | "Miscellaneous" = "杂项"; 4 | "Does_itself" = "不会影响截图形状"; 5 | "iPhone_X_KEYBOARD" = "iPhone X 样式键盘"; 6 | "iPhone_X_STYLE" = "iPhone X 样式的键盘,按键在底部"; 7 | } 8 | -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "截图方式"; 3 | "Press_Home" = "Home 键激活 Siri"; 4 | "Hardware_Buttons" = "实体按键"; 5 | "Use_Lock" = "使用 Home 键+锁屏键 或 音量加+锁屏键"; 6 | "Activate_Button" = "长按 Home 键来激活Siri"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "截圖方式"; 3 | "Press_Home" = "Home 鍵激活 Siri"; 4 | "Hardware_Buttons" = "實體按鍵"; 5 | "Use_Lock" = "使用 Home 鍵+鎖屏鍵 或 音量加+鎖屏鍵"; 6 | "Activate_Button" = "長按 Home 鍵來激活Siri"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "원래의 스크린샷"; 3 | "Press_Home" = "홈 버튼을 눌러 시리"; 4 | "Hardware_Buttons" = "하드웨어 버튼"; 5 | "Use_Lock" = "볼륨 상/잠자기 대신 홈/잠자기를 이용하여 스크린샷을 찍습니다"; 6 | "Activate_Button" = "홈 버튼을 길게 눌러 시리를 부릅니다"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/globals.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | globalTintColor 6 | 000000 7 | 8 | 9 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Swipe Up to Close"; 3 | "Round_Card_Corners" = "Round Card Corners"; 4 | "App_Switcher" = " App Switcher"; 5 | "Swipe_them" = "Swipe up app cards to close them"; 6 | "Also_dock" = "Also enables iPhone X dock"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Swipe Up to Close"; 3 | "Round_Card_Corners" = "Round Card Corners"; 4 | "App_Switcher" = " App Switcher"; 5 | "Swipe_them" = "Swipe up app cards to close them"; 6 | "Also_dock" = "Also enables iPhone X dock"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Swipe Up to Close"; 3 | "Round_Card_Corners" = "Round Card Corners"; 4 | "App_Switcher" = " App Switcher"; 5 | "Swipe_them" = "Swipe up app cards to close them"; 6 | "Also_dock" = "Also enables iPhone X dock"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "홈바 (바탕화면)"; 3 | "Home_Bar_(LockScreen)" = "홈바 (잠금화면)"; 4 | "Custom_Homebar_Color" = "홈바 색상 사용자화"; 5 | "Select_HomeBar_Color" = "홈바 생상을 선택하세요"; 6 | "Home_Bar" = "홈바"; 7 | "Only_LockScreen" = "잠금화면에서만 적용시킵니다"; 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Swipe omhoog om te sluiten"; 3 | "Round_Card_Corners" = "Ronde kaart knoppen"; 4 | "App_Switcher" = " App Switcher"; 5 | "Swipe_them" = "Swipe omhoog om kaart te sluiten"; 6 | "Also_dock" = "Zet iPhone X dock aan"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Vuốt lên để đóng"; 3 | "Round_Card_Corners" = "Bo tròn các thẻ"; 4 | "App_Switcher" = "Giao diện đa nhiệm"; 5 | "Swipe_them" = "Vuốt thẻ ứng dụng lên để đóng chúng"; 6 | "Also_dock" = "Cũng bật thanh dock giống iPhone X"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "狀態欄"; 3 | "Top_Padding" = "頂部間距"; 4 | "Top_Padding_(Landscape)" = "頂部間距(橫屏)"; 5 | "Control_Centre" = "控制面板"; 6 | "Show_Centre" = "在控制面板顯示狀態欄"; 7 | "Change_Centre" = "變更狀態欄和控制面板的間距"; 8 | "Change_CC" = "變更橫屏狀態下,狀態欄和控制面板的間距"; 9 | 10 | } -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Scorri verso l'alto per chiudere"; 3 | "Round_Card_Corners" = "Angoli app arrotondati"; 4 | "App_Switcher" = " App Switcher"; 5 | "Swipe_them" = "Scorri le App verso l'alto per chiuderle"; 6 | "Also_dock" = "Abilita anche il dock iPhone X"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Original Screenshot"; 3 | "Press_Home" = "Press Home for Siri"; 4 | "Hardware_Buttons" = "Hardware Buttons"; 5 | "Use_Lock" = "Use Home/Lock instead of Volume Up/Lock"; 6 | "Activate_Button" = "Activate Siri by holding the Home Button"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Original Screenshot"; 3 | "Press_Home" = "Press Home for Siri"; 4 | "Hardware_Buttons" = "Hardware Buttons"; 5 | "Use_Lock" = "Use Home/Lock instead of Volume Up/Lock"; 6 | "Activate_Button" = "Activate Siri by holding the Home Button"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Original Screenshot"; 3 | "Press_Home" = "Press Home for Siri"; 4 | "Hardware_Buttons" = "Hardware Buttons"; 5 | "Use_Lock" = "Use Home/Lock instead of Volume Up/Lock"; 6 | "Activate_Button" = "Activate Siri by holding the Home Button"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Round Screenshot Preview"; 3 | "Miscellaneous" = "Miscellaneous"; 4 | "Does_itself" = "Does not affect the screenshot itself"; 5 | "iPhone_X_KEYBOARD" = "iPhone X Keyboard"; 6 | "iPhone_X_STYLE" = "iPhone X styled keyboard, with bottom inset"; 7 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "状态栏"; 3 | "Top_Padding" = "顶部间距"; 4 | "Top_Padding_(Landscape)" = "顶部间距(横屏)"; 5 | "Control_Centre" = "控制面板"; 6 | "Show_Centre" = "在控制面板显示状态栏"; 7 | "Change_Centre" = "变更状态栏和控制面板的间距"; 8 | "Change_CC" = "变更横屏状态下,状态栏和控制面板的间距"; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Screenshot normale"; 3 | "Press_Home" = "Premi Home per Siri"; 4 | "Hardware_Buttons" = "Tasti Hardware"; 5 | "Use_Lock" = "Usa Home/Blocco invece di Volume su/Blocco"; 6 | "Activate_Button" = "Attiva Siri tenendo premuto il tasto Home"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Round Screenshot Preview"; 3 | "Miscellaneous" = "Miscellaneous"; 4 | "Does_itself" = "Does not affect the screenshot itself"; 5 | "iPhone_X_KEYBOARD" = "iPhone X Keyboard"; 6 | "iPhone_X_STYLE" = "iPhone X styled keyboard, with bottom inset"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Originele Screenshot"; 3 | "Press_Home" = "Duw Home voor Siri"; 4 | "Hardware_Buttons" = "Hardware Knoppen"; 5 | "Use_Lock" = "Gebruik Home/Lock In plaats van Volume Up/Lock"; 6 | "Activate_Button" = "Activeer Siri door ThuisBar vast te houden"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Chụp ảnh màn hình mặc định"; 3 | "Press_Home" = "Nhấn Home để mở Siri"; 4 | "Hardware_Buttons" = "Nút cứng"; 5 | "Use_Lock" = "Dùng nút Home/Nguồn thay thế cho Tăng âm/Nguồn"; 6 | "Activate_Button" = "Kích hoạt Siri bằng cách nhấn giữ nút Home"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Round Screenshot Preview"; 3 | "Miscellaneous" = "Miscellaneous"; 4 | "Does_itself" = "Does not affect the screenshot itself"; 5 | "iPhone_X_KEYBOARD" = "iPhone X Keyboard"; 6 | "iPhone_X_STYLE" = "iPhone X styled keyboard, with bottom inset"; 7 | 8 | } -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/appSwitcher.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Swipe_Up_Close" = "Desliza hacia arriba para cerrar"; 3 | "Round_Card_Corners" = "Esquinas redondeadas de las pantallas"; 4 | "App_Switcher" = "Multitarea"; 5 | "Swipe_them" = "Desliza las pantallas de las apps para cerrarlas"; 6 | "Also_dock" = "También activa el dock del iPhone X"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "상단바"; 3 | "Top_Padding" = "상단 패딩"; 4 | "Top_Padding_(Landscape)" = "상단 패딩 (가로모드)"; 5 | "Control_Centre" = "제어 센터"; 6 | "Show_Centre" = "제어 센터에서 상단바를 보입니다"; 7 | "Change_Centre" = "제어 센터에서의 상단 패딩을 조정합니다"; 8 | "Change_CC" = "가로모드의 제어 센터에서의 상단 패딩을 조정합니다"; 9 | 10 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Thuis Bar (HomeScreen)"; 3 | "Home_Bar_(LockScreen)" = "Thuis Bar (LockScreen)"; 4 | "Custom_Homebar_Color" = "Custom ThuisBar Kleur"; 5 | "Select_HomeBar_Color" = "Selecteer ThuisBar Kleur"; 6 | "Home_Bar" = "Thuis Bar"; 7 | "Only_LockScreen" = "Alleen voor lockscreen"; 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/miscellaneous.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Round_Screenshot_Preview" = "Bo tròn ảnh xem trước ảnh chụp màn hình"; 3 | "Miscellaneous" = "Linh tinh"; 4 | "Does_itself" = "Không ảnh hưởng đến ảnh chụp màn hình"; 5 | "iPhone_X_KEYBOARD" = "Bàn phím iPhone X"; 6 | "iPhone_X_STYLE" = "Bàn phím giống iPhone X, có thêm khoảng trống dưới bàn phím"; 7 | } 8 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/buttonMapping.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Original_Screenshot" = "Captura de pantalla original"; 3 | "Press_Home" = "Pulsa el botón de inicio para Siri"; 4 | "Hardware_Buttons" = "Botones físicos"; 5 | "Use_Lock" = "Usa botón de inicio/reposo en vez de Subir volumen/Silenciar"; 6 | "Activate_Button" = "Activa Siri manteniendo el botón de inicio"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "使用键盘时禁用手势"; 3 | "Enable_App_Blacklist" = "开启程序黑名单"; 4 | "Select_Blacklisted_Apps" = "添加黑名单程序"; 5 | "Select_Apps_Fully_Disabled" = "添加完全禁用的程序"; 6 | "Disables_present." = "在使用键盘时禁用手势操作"; 7 | "Disables_mode" = "设备处于横向模式时禁用手势"; 8 | "Disables_app" = "在选中的程序里完全禁用 HomeGestures 的功能"; 9 | } 10 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "使用鍵盤時禁用手勢"; 3 | "Enable_App_Blacklist" = "開啟軟體黑名單"; 4 | "Select_Blacklisted_Apps" = "添加黑名單軟件"; 5 | "Select_Apps_Fully_Disabled" = "添加完全禁用的軟件"; 6 | "Disables_present." = "在使用鍵盤時禁用手勢操作"; 7 | "Disables_mode" = "設備處於橫向模式時禁用手勢"; 8 | "Disables_app" = "在選中的軟件中完全禁用 HomeGestures 的功能"; 9 | } 10 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "隱藏手電筒按鈕"; 3 | "Hide_Camera" = "隱藏相機按鈕"; 4 | "Hide_Page_Dots" = "隱藏頁面指示器"; 5 | "Hide_swipe" = '隱藏“向上輕掃以解鎖”"'; 6 | "Hide_Hint" = "隱藏控制中心標線"; 7 | "Lock_Screen" = "鎖屏"; 8 | "Hide_dots_LockScreen" = "在鎖屏界面隱藏頁面指示器"; 9 | "Hide_text_LockScreen" = "隱藏鎖屏界面下方的文字"; 10 | "Hide_small_LockScreen" = "隱藏右上角的小標線"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/defaults.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | kHGPEnabled 6 | 7 | kHGPText 8 | test 9 | kHGPFont 10 | .SFUIDisplay-Regular 11 | 12 | 13 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Barra Home (HomeScreen)"; 3 | "Home_Bar_(LockScreen)" = "Barra Home (LockScreen)"; 4 | "Custom_Homebar_Color" = "Colore Barra Home personalizzato"; 5 | "Select_HomeBar_Color" = "Scegli il colore della Barra Home"; 6 | "Home_Bar" = "Barra Home"; 7 | "Only_LockScreen" = "Si applica solo alla LockScreen"; 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "隐藏手电筒按钮"; 3 | "Hide_Camera" = "隐藏相机按钮"; 4 | "Hide_Page_Dots" = "隐藏页面指示器"; 5 | "Hide_swipe" = '隐藏“向上轻扫以解锁”"'; 6 | "Hide_Hint" = "隐藏控制中心标线"; 7 | "Lock_Screen" = "锁屏"; 8 | "Hide_dots_LockScreen" = "在锁屏界面隐藏页面指示器"; 9 | "Hide_text_LockScreen" = "隐藏锁屏界面下方的文字"; 10 | "Hide_small_LockScreen" = "隐藏右上角的小标线"; 11 | } 12 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "키보드와 함께 제스쳐 비활성화"; 3 | "Enable_App_Blacklist" = "블랙리스트 앱 활성화"; 4 | "Select_Blacklisted_Apps" = "블랙리스트 앱 선택"; 5 | "Select_Apps_Fully_Disabled" = "완벽 블랙리스트 앱 선택"; 6 | "Disables_present." = "키보드가 올라와 있을 때, 제스쳐를 비활성화 시킵니다"; 7 | "Disables_mode" = "기기가 가로모드일 때 제스쳐를 비활성화 시킵니다"; 8 | "Disables_app" = "앱에서 완벽히 제스쳐를 비활성화 시킵니다"; 9 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Home 条 (主界面)"; 3 | "Home_Bar_(LockScreen)" = "Home Bar (锁屏)"; 4 | "Custom_Homebar_Color" = "自定义 Home 条颜色"; 5 | "Select_HomeBar_Color" = "选择 Home 条颜色"; 6 | "Home_Bar" = "Home 条"; 7 | "Only_LockScreen" = "仅在锁屏界面下启用"; 8 | "iPhone_X_INSET" = "iPhone X 样式 Home 条 底栏"; 9 | "iPhone_X_STYLEIN" = "在 Home 条位置添加一条底栏"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Home 鍵條 (主界面)"; 3 | "Home_Bar_(LockScreen)" = "Home 鍵條 (鎖屏)"; 4 | "Custom_Homebar_Color" = "自定義 Home 鍵條顏色"; 5 | "Select_HomeBar_Color" = "選擇 Home 鍵條顏色"; 6 | "Home_Bar" = "Home 鍵條"; 7 | "Only_LockScreen" = "僅在鎖屏界面下啟用"; 8 | "iPhone_X_INSET" = "iPhone X 樣式 Home 鍵條 底欄"; 9 | "iPhone_X_STYLEIN" = "在 Home 鍵條位置添加一條底欄"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Status Bar"; 3 | "Top_Padding" = "Boven marge"; 4 | "Top_Padding_(Landscape)" = "Boven marge (landschap)"; 5 | "Control_Centre" = "Control Center"; 6 | "Show_Centre" = "Toon status bar in Control Center"; 7 | "Change_Centre" = "Verander boven marge in Control Center"; 8 | "Change_CC" = "Verander Boven Marge in Landschap CC"; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "앱 스위쳐"; 3 | "Blacklisting" = "블랙리스트"; 4 | "Control_Center" = "제어 센터"; 5 | "Hardware_Buttons" = "하드웨어 버튼"; 6 | "Home_Bar" = "홈바"; 7 | "Lock_Screen" = "잠금화면"; 8 | "Status_Bar" = "상단바"; 9 | "Miscellaneous" = "기타"; 10 | "Support" = "지원"; 11 | "Backup_Restore" = "백업과 복원"; 12 | "Version" = "버전:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Barra de inicio (Pantalla de inicio)"; 3 | "Home_Bar_(LockScreen)" = "Barra de inicio (Pantalla de bloqueo)"; 4 | "Custom_Homebar_Color" = "Color de la barra de inicio personalizada"; 5 | "Select_HomeBar_Color" = "Elige el color de la barra de inicio"; 6 | "Home_Bar" = "Barra de inicio"; 7 | "Only_LockScreen" = "Sólo se aplica en la pantalla de bloqueo"; 8 | } 9 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "플래시 버튼 숨기기"; 3 | "Hide_Camera" = "카메라 버튼 숨기기"; 4 | "Hide_Page_Dots" = "페이지 도트 숨기기"; 5 | "Hide_swipe" = '"쓸어올려서 잠금해제" 숨기기'; 6 | "Hide_Hint" = "제어 센터 손잡이 숨기기"; 7 | "Lock_Screen" = "잠금화면"; 8 | "Hide_dots_LockScreen" = "잠금화면에서 페이지 도트를 숨깁니다"; 9 | "Hide_text_LockScreen" = "잠금화면에서 텍스트를 숨깁니다"; 10 | "Hide_small_LockScreen" = "잠금화면에서 우측 상단에 있는 작은 막대를 숨깁니다" 11 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "多任务界面"; 3 | "Blacklisting" = "黑名单"; 4 | "Control_Center" = "控制中心"; 5 | "Hardware_Buttons" = "实体按键"; 6 | "Home_Bar" = "Home 条"; 7 | "Lock_Screen" = "锁屏"; 8 | "Status_Bar" = "状态栏"; 9 | "Miscellaneous" = "杂项"; 10 | "Support" = "支持"; 11 | "Backup_Restore" = "备份和还原"; 12 | "Version" = "版本:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "多任務界面"; 3 | "Blacklisting" = "黑名單"; 4 | "Control_Center" = "控制中心"; 5 | "Hardware_Buttons" = "實體按鍵"; 6 | "Home_Bar" = "Home 條"; 7 | "Lock_Screen" = "鎖屏"; 8 | "Status_Bar" = "狀態欄"; 9 | "Miscellaneous" = "雜項"; 10 | "Support" = "支持"; 11 | "Backup_Restore" = "備份和還原"; 12 | "Version" = "版本:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /source/HGGestureBlacklist.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | %hook SBHomeGestureSettings 3 | %new 4 | + (id)sharedInstance 5 | { 6 | static SBHomeGestureSettings *sharedInstance = nil; 7 | static dispatch_once_t onceToken; 8 | dispatch_once(&onceToken, ^{ 9 | sharedInstance = [[objc_getClass("SBHomeGestureSettings") alloc] init]; 10 | // Do any other initialisation stuff here 11 | }); 12 | return sharedInstance; 13 | } 14 | %end -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Home Bar (HomeScreen)"; 3 | "Home_Bar_(LockScreen)" = "Home Bar (LockScreen)"; 4 | "Custom_Homebar_Color" = "Custom Homebar Color"; 5 | "Select_HomeBar_Color" = "Select HomeBar Color"; 6 | "Home_Bar" = "Home Bar"; 7 | "Only_LockScreen" = "Only applies to the Lock Screen"; 8 | "iPhone_X_INSET" = "iPhone X HomeBar Inset"; 9 | "iPhone_X_STYLEIN" = "Add Inset to Homebar"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Home Bar (HomeScreen)"; 3 | "Home_Bar_(LockScreen)" = "Home Bar (LockScreen)"; 4 | "Custom_Homebar_Color" = "Custom Homebar Color"; 5 | "Select_HomeBar_Color" = "Select HomeBar Color"; 6 | "Home_Bar" = "Home Bar"; 7 | "Only_LockScreen" = "Only applies to the Lock Screen"; 8 | "iPhone_X_INSET" = "iPhone X HomeBar Inset"; 9 | "iPhone_X_STYLEIN" = "Add Inset to Homebar"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Home Bar (HomeScreen)"; 3 | "Home_Bar_(LockScreen)" = "Home Bar (LockScreen)"; 4 | "Custom_Homebar_Color" = "Custom Homebar Color"; 5 | "Select_HomeBar_Color" = "Select HomeBar Color"; 6 | "Home_Bar" = "Home Bar"; 7 | "Only_LockScreen" = "Only applies to the Lock Screen"; 8 | "iPhone_X_INSET" = "iPhone X HomeBar Inset"; 9 | "iPhone_X_STYLEIN" = "Add Inset to Homebar"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X 스타일 상단바"; 3 | "Add_additional_space" = "노치에 대한 추가 공간을 넣습니다"; 4 | "Hide_Carrier" = "상단바 추노마크 숨기기"; 5 | "Hide_carrier_Status" = "상단바에서 통신사 추노마크를 숨깁니다"; 6 | "Disable_BreadCrumbs" = "전 앱으로 이동 비활성화"; 7 | "Hide_back_app" = "상단바에서 전 앱으로 이동을 비활성화 시킵니다"; 8 | "Status_Bar" = "제어 센터에서 상단바"; 9 | "Show_CC" = "제어 센터에서 상단바를 보입니다"; 10 | "Status_Bar" = "상단바"; 11 | "Show_Centre" = "제어 센터에서 상단바를 보입니다"; 12 | } 13 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Status Bar"; 3 | "Top_Padding" = "Posizionamento dall'alto"; 4 | "Top_Padding_(Landscape)" = "Posizionamento dall'alto (Landscape)"; 5 | "Control_Centre" = "Control Center"; 6 | "Show_Centre" = "Mostra la Status Bar nel Control Center"; 7 | "Change_Centre" = "Modifca il posizionamento dall'alto nel Control Center"; 8 | "Change_CC" = "Modifica il posizionamento dall'alto nel Control Center (Landscape)"; 9 | 10 | } -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Barra de estado"; 3 | "Top_Padding" = "Relleno de arriba"; 4 | "Top_Padding_(Landscape)" = "Relleno de arriba (Modo horizontal)"; 5 | "Control_Centre" = "Centro de control"; 6 | "Show_Centre" = "Muestra la barra de estado en el centro de control"; 7 | "Change_Centre" = "Cambia el rekkeno de arriba en el centro de control"; 8 | "Change_CC" = "Cambia el centro de control en el centro de control en modo horizontal"; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "App Switcher"; 3 | "Blacklisting" = "Blacklisting"; 4 | "Control_Center" = "Control Center"; 5 | "Hardware_Buttons" = "Hardware Buttons"; 6 | "Home_Bar" = "Home Bar"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Status_Bar" = "Status Bar"; 9 | "Miscellaneous" = "Miscellaneous"; 10 | "Support" = "Support"; 11 | "Backup_Restore" = "Backup and Restore"; 12 | "Version" = "Version:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "App Switcher"; 3 | "Blacklisting" = "Uitsluiten"; 4 | "Control_Center" = "Control Center"; 5 | "Hardware_Buttons" = "Hardware Buttons"; 6 | "Home_Bar" = "Home Bar"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Status_Bar" = "Status Bar"; 9 | "Miscellaneous" = "Andere"; 10 | "Support" = "Support"; 11 | "Backup_Restore" = "Backup and Restore"; 12 | "Version" = "Versie:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Thanh trạng thái"; 3 | "Top_Padding" = "Khoảng cách phía trên"; 4 | "Top_Padding_(Landscape)" = "Khoảng cách phía trên (nằm ngang)"; 5 | "Control_Centre" = "Trung tâm kiểm soát"; 6 | "Show_Centre" = "Hiển thị thanh trạng thái trong Trung tâm kiểm soát"; 7 | "Change_Centre" = "Thay đổi khoảng cách phía trên trong Trung tâm kiểm soát"; 8 | "Change_CC" = "Thay đổi khoảng cách phía trên trong Trung tâm kiểm soát nằm ngang"; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/homeBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Home_Bar_(HomeScreen)" = "Thanh Home (Màn hình chính)"; 3 | "Home_Bar_(LockScreen)" = "Thanh Home (Màn hình khóa)"; 4 | "Custom_Homebar_Color" = "Tùy biến màu thanh Home"; 5 | "Select_HomeBar_Color" = "Chọn màu thanh Home"; 6 | "Home_Bar" = "Thanh Home"; 7 | "Only_LockScreen" = "Chỉ áp dụng cho Màn hình khóa"; 8 | "iPhone_X_INSET" = "Chừa khoảng cách trong ứng dụng cho thanh Home"; 9 | "iPhone_X_STYLEIN" = "Chừa khoảng cách cho thanh Home"; 10 | } 11 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "App Switcher"; 3 | "Blacklisting" = "Blacklisting"; 4 | "Control_Center" = "Control Center"; 5 | "Hardware_Buttons" = "Hardware Buttons"; 6 | "Home_Bar" = "Home Bar"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Status_Bar" = "Status Bar"; 9 | "Miscellaneous" = "Miscellaneous"; 10 | "Support" = "Support"; 11 | "Backup_Restore" = "Backup and Restore"; 12 | "Version" = "Version:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "App Switcher"; 3 | "Blacklisting" = "Blacklisting"; 4 | "Control_Center" = "Control Centre"; 5 | "Hardware_Buttons" = "Hardware Buttons"; 6 | "Home_Bar" = "Home Bar"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Status_Bar" = "Status Bar"; 9 | "Miscellaneous" = "Miscellaneous"; 10 | "Support" = "Support"; 11 | "Backup_Restore" = "Backup and Restore"; 12 | "Version" = "Version:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Hide Torch Button"; 3 | "Hide_Camera" = "Hide Camera Button"; 4 | "Hide_Page_Dots" = "Hide Page Dots"; 5 | "Hide_swipe" = 'Hide "Swipe Up to Unlock"'; 6 | "Hide_Hint" = "Hide Control Center Hint"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Hide_dots_LockScreen" = "Hide page dots from the LockScreen"; 9 | "Hide_text_LockScreen" = "Hide the text from the LockScreen"; 10 | "Hide_small_LockScreen" = "Hide small top right bar on LockScreen"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Hide Torch Button"; 3 | "Hide_Camera" = "Hide Camera Button"; 4 | "Hide_Page_Dots" = "Hide Page Dots"; 5 | "Hide_swipe" = 'Hide "Swipe Up to Unlock"'; 6 | "Hide_Hint" = "Hide Control Center Hint"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Hide_dots_LockScreen" = "Hide page dots from the LockScreen"; 9 | "Hide_text_LockScreen" = "Hide the text from the LockScreen"; 10 | "Hide_small_LockScreen" = "Hide small top right bar on LockScreen"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Hide Torch Button"; 3 | "Hide_Camera" = "Hide Camera Button"; 4 | "Hide_Page_Dots" = "Hide Page Dots"; 5 | "Hide_swipe" = 'Hide "Swipe Up to Unlock"'; 6 | "Hide_Hint" = "Hide Control Center Hint"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Hide_dots_LockScreen" = "Hide page dots from the LockScreen"; 9 | "Hide_text_LockScreen" = "Hide the text from the LockScreen"; 10 | "Hide_small_LockScreen" = "Hide small top right bar on LockScreen"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "App Switcher"; 3 | "Blacklisting" = "Blacklisting"; 4 | "Control_Center" = "Control Center"; 5 | "Hardware_Buttons" = "Tasti Hardware"; 6 | "Home_Bar" = "Barra Home"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Status_Bar" = "Status Bar"; 9 | "Miscellaneous" = "Varie"; 10 | "Support" = "Supporto"; 11 | "Backup_Restore" = "Backup e Ripristino"; 12 | "Version" = "Versione:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Verwijder Beweging met Keyboard"; 3 | "Enable_App_Blacklist" = "Zet App Blacklist aan"; 4 | "Select_Blacklisted_Apps" = "Selecteer Blacklisted Apps"; 5 | "Select_Apps_Fully_Disabled" = "Selecteer Apps om volledig uit te zetten"; 6 | "Disables_present." = "Verwijder Beweging met Keyboard nu"; 7 | "Disables_mode" = "Verwijder ThuisBewegingen in landscape mode"; 8 | "Disables_app" = "Verwijder ThuisBewegingen in volledig in app"; 9 | } 10 | -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X 样式t状态栏"; 3 | "Add_additional_space" = "添加空间来模拟 iPhone X 的刘海"; 4 | "Hide_Carrier" = "隐藏状态栏运营商"; 5 | "Hide_carrier_Status" = "隐藏状态栏上的运营商标识"; 6 | "Disable_BreadCrumbs" = "关闭返回"; 7 | "Hide_back_app" = "隐藏状态栏上的返回按钮"; 8 | "Status_Bar" = "控制中心上的状态栏"; 9 | "Show_CC" = "显示控制中心上的状态栏"; 10 | "Status_Bar" = "状态栏"; 11 | "Show_Centre" = "显示控制中心上的状态栏"; 12 | "iPad_STYLE" = "iPad 风格状态栏"; 13 | "Mimic_iPad" = "模仿iPad状态栏,添加日期"; 14 | } 15 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X 樣式狀態欄"; 3 | "Add_additional_space" = "添加空間來模擬 iPhone X 的劉海"; 4 | "Hide_Carrier" = "隱藏狀態欄運營商"; 5 | "Hide_carrier_Status" = "隱藏狀態欄上的運營商標識"; 6 | "Disable_BreadCrumbs" = "關閉返回"; 7 | "Hide_back_app" = "隱藏狀態欄上的返回按鈕"; 8 | "Status_Bar" = "控制中心上的狀態欄"; 9 | "Show_CC" = "顯示控制中心上的狀態欄"; 10 | "Status_Bar" = "狀態欄"; 11 | "Show_Centre" = "顯示控制中心上的狀態欄"; 12 | "iPad_STYLE" = "iPad 風格狀態欄"; 13 | "Mimic_iPad" = "模仿iPad狀態欄,添加日期"; 14 | } 15 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "Giao diện đa nhiệm"; 3 | "Blacklisting" = "Danh sách đen"; 4 | "Control_Center" = "Trung tâm kiểm soát"; 5 | "Hardware_Buttons" = "Nút cứng"; 6 | "Home_Bar" = "Thanh Home"; 7 | "Lock_Screen" = "Màn hình khóa"; 8 | "Status_Bar" = "Thanh trạng thái"; 9 | "Miscellaneous" = "Linh tinh"; 10 | "Support" = "Hỗ trợ"; 11 | "Backup_Restore" = "Sao lưu và Khôi phục"; 12 | "Version" = "Phiên bản:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Vô hiệu hóa cử chỉ với bàn phím"; 3 | "Enable_App_Blacklist" = "Bật danh sách đen ứng dụng"; 4 | "Select_Blacklisted_Apps" = "Chọn ứng dụng trong danh sách đen"; 5 | "Select_Apps_Fully_Disabled" = "Chọn ứng dụng được tắt hoàn toàn"; 6 | "Disables_present." = "Vô hiệu hóa các cử chỉ khi có bàn phím."; 7 | "Disables_mode" = "Vô hiệu hóa HomeGestures khi ở chế độ ngang"; 8 | "Disables_app" = "Vô hiệu hóa HomeGestures hoàn toàn trong ứng dụng"; 9 | } 10 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | { 2 | "App_Switcher" = "Multitarea"; 3 | "Blacklisting" = "Bloqueando"; 4 | "Control_Center" = "Centro de control"; 5 | "Hardware_Buttons" = "Botones físicos"; 6 | "Home_Bar" = "Barra de inicio"; 7 | "Lock_Screen" = "Pantalla de bloqueo"; 8 | "Status_Bar" = "Barra de estado"; 9 | "Miscellaneous" = "Varios"; 10 | "Support" = "Soporte"; 11 | "Backup_Restore" = "Hacer copia de seguridad y restaurar"; 12 | "Version" = "Versión:"; 13 | "HomeGesture" = "HomeGesture"; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Ẩn nút đèn pin"; 3 | "Hide_Camera" = "Ẩn nút camera"; 4 | "Hide_Page_Dots" = "Ẩn dấu chấm trang"; 5 | "Hide_swipe" = 'Ẩn "Vuốt lên để mở khóa"'; 6 | "Hide_Hint" = "Ẩn gợi ý của Trung tâm kiểm soát"; 7 | "Lock_Screen" = "Màn hình khóa"; 8 | "Hide_dots_LockScreen" = "Ẩn dấu chấm trang khỏi màn hình khóa"; 9 | "Hide_text_LockScreen" = "Ẩn dòng chữ khởi màn hình khóa"; 10 | "Hide_small_LockScreen" = "Ẩn thanh ngang nhỏ ở góc trên bên phải trên màn hình khóa"; 11 | } 12 | -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: com.vitataf.homegesture 2 | Name: HomeGesture 3 | Pre-Depends: com.spark.libsparkapplist 4 | Depends: firmware (>= 11.0), mobilesubstrate, preferenceloader, com.creaturecoding.libcspreferences, com.creaturesurvive.libcscolorpicker, org.thebigboss.libcolorpicker 5 | Version: 2.1.4 6 | Architecture: iphoneos-arm 7 | Description: Enable iPhone X home gesture on other devices. 8 | Maintainer: MidnightChips/PINPAL 9 | Author: VitaTaf/MidnightChips/PINPAL 10 | Section: Tweaks 11 | Icon: https://cdn.discordapp.com/attachments/418170831592488972/465268776091254815/icon.png 12 | -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Status Bar"; 3 | "Top_Padding" = "Top Padding"; 4 | "Top_Padding_(Landscape)" = "Top Padding (Landscape)"; 5 | "Control_Centre" = "Control Center"; 6 | "Show_Centre" = "Show the status bar in Control Center"; 7 | "Change_Centre" = "Change top padding in Control Center"; 8 | "Change_CC" = "Change top padding in Landscape CC"; 9 | "Enable_Padding" = "Enable Padding options below"; 10 | "Padding_Info" = "This will cause the status bar to glitch when returning from the control center"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Verwijder Flash Knop"; 3 | "Hide_Camera" = "Verwijder Camera Knop"; 4 | "Hide_Page_Dots" = "Verwijder pagina punten"; 5 | "Hide_swipe" = 'Verwijder "Swipe Up to Unlock"'; 6 | "Hide_Hint" = "Verwijder Control Center Hint"; 7 | "Lock_Screen" = "Lock Screen"; 8 | "Hide_dots_LockScreen" = "Verwijder pagina punten van de LockScreen"; 9 | "Hide_text_LockScreen" = "Verwijder text van de LockScreen"; 10 | "Hide_small_LockScreen" = "Verwijder kleine bovenaan rechtse bar op de LockScreen" 11 | } 12 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Status Bar"; 3 | "Top_Padding" = "Top Padding"; 4 | "Top_Padding_(Landscape)" = "Top Padding (Landscape)"; 5 | "Control_Centre" = "Control Center"; 6 | "Show_Centre" = "Show the status bar in Control Center"; 7 | "Change_Centre" = "Change top padding in Control Center"; 8 | "Change_CC" = "Change top padding in Landscape CC"; 9 | "Enable_Padding" = "Enable Padding options below"; 10 | "Padding_Info" = "This will cause the status bar to glitch when returning from the control center"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/controlCentre.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Status_Bar" = "Status Bar"; 3 | "Top_Padding" = "Top Padding"; 4 | "Top_Padding_(Landscape)" = "Top Padding (Landscape)"; 5 | "Control_Centre" = "Control Center"; 6 | "Show_Centre" = "Show the status bar in Control Centre"; 7 | "Change_Centre" = "Change top padding in Control Centre"; 8 | "Change_CC" = "Change top padding in Landscape CC"; 9 | "Enable_Padding" = "Enable Padding options below"; 10 | "Padding_Info" = "This will cause the status bar to glitch when returning from the control center"; 11 | } 12 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Desactiva los gestos con el teclado"; 3 | "Enable_App_Blacklist" = "Activa la lista negra de apps"; 4 | "Select_Blacklisted_Apps" = "Elige las apps que estarán en la lista negra"; 5 | "Select_Apps_Fully_Disabled" = "Elige las apps que se desactivarán por completo"; 6 | "Disables_present." = "Desactiva los gestos cuando el teclado está presente."; 7 | "Disables_mode" = "Desactiva HomeGestures cuando está el dispositivo en horizontal"; 8 | "Disables_app" = "Desactiva HomeGestures completamente dentro de apps"; 9 | } 10 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Nascondi Tasto Torcia"; 3 | "Hide_Camera" = "Nascondi Tasto Fotocamera"; 4 | "Hide_Page_Dots" = "Nascondi indicatori Pagina"; 5 | "Hide_swipe" = 'Nascondi "Scorri verso l'alto per sbloccare"'; 6 | "Hide_Hint" = "Nascondi il suggerimento per il Control Center"; 7 | "Lock_Screen" = "LockScreen"; 8 | "Hide_dots_LockScreen" = "Nascondi indicatori pagina dalla LockScreen"; 9 | "Hide_text_LockScreen" = "Nascondi il testo dalla LockScreen"; 10 | "Hide_small_LockScreen" = "Nascondi la piccola barra in alto a destra sulla LockScreen" 11 | } -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "Status Bar in Stile iPhone X"; 3 | "Add_additional_space" = "Aggiungi ulteriore spazio per simulare il notch"; 4 | "Hide_Carrier" = "Nascondi operatore"; 5 | "Hide_carrier_Status" = "Nascondi operatore dalla Status Bar"; 6 | "Disable_BreadCrumbs" = "Disabilita BreadCrumbs"; 7 | "Hide_back_app" = "Nascondi Torna a dalla Status Bar"; 8 | "Status_Bar" = "Status Bar nel CC"; 9 | "Show_CC" = "Mostra Status Bar nel Control Center"; 10 | "Status_Bar" = "Status Bar"; 11 | "Show_Centre" = "Mostra Status Bar nel Control Center"; 12 | } -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X Style Status Bar"; 3 | "Add_additional_space" = "Voeg extra plaats toe om een notch na te bootsen"; 4 | "Hide_Carrier" = "Verwijder status bar provider"; 5 | "Hide_carrier_Status" = "Verwijder status bar provider"; 6 | "Disable_BreadCrumbs" = "Verwijder BreadCrumbs"; 7 | "Hide_back_app" = "Verwijder terug gaan naar vorige app van de status bar"; 8 | "Status_Bar" = "Status Bar in CC"; 9 | "Show_CC" = "toon de status bar in Control Centre"; 10 | "Status_Bar" = "Status Bar"; 11 | "Show_Centre" = "Toon de status bar in Control Centre"; 12 | } 13 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/lockScreen.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Hide_Torch" = "Esconder el botón de linterna"; 3 | "Hide_Camera" = "Esconder el botón de cámara"; 4 | "Hide_Page_Dots" = "Esconder el número de páginas"; 5 | "Hide_swipe" = 'Esconder "Desliza hacia arriba para desbloquear"'; 6 | "Hide_Hint" = "Esconder indicador de centro de control"; 7 | "Lock_Screen" = "Pantalla de bloqueo"; 8 | "Hide_dots_LockScreen" = "Esconder el número de páginas de la pantalla de bloqueo"; 9 | "Hide_text_LockScreen" = "Esconder el texto de la pantalla de bloqueo"; 10 | "Hide_small_LockScreen" = "Esconder la barra superior derecha en la pantalla de bloqueo" 11 | } 12 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Disable Gestures With Keyboard (iOS 11)"; 3 | "Enable_App_Blacklist" = "Enable App Blacklist (iOS 11)"; 4 | "Select_Blacklisted_Apps" = "Select Blacklisted Apps (iOS 11)"; 5 | "Select_Apps_Fully_Disabled" = "Select Apps to be Fully Disabled (iOS 11)"; 6 | "Disables_present." = "Disables the gestures when keyboard is present. (iOS 11)"; 7 | "Disables_mode" = "Disables HomeGestures while in landscape mode"; 8 | "Disables_app" = "Disables HomeGestures completely in app (iOS 11)"; 9 | "PIP_APPS" = "Disable PIP in Specified Apps"; 10 | "Disables_PIP_app" = "Prevent PIP from crashing some apps"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Disable Gestures With Keyboard (iOS 11)"; 3 | "Enable_App_Blacklist" = "Enable App Blacklist (iOS 11)"; 4 | "Select_Blacklisted_Apps" = "Select Blacklisted Apps (iOS 11)"; 5 | "Select_Apps_Fully_Disabled" = "Select Apps to be Fully Disabled (iOS 11)"; 6 | "Disables_present." = "Disables the gestures when keyboard is present. (iOS 11)"; 7 | "Disables_mode" = "Disables HomeGestures while in landscape mode (iOS 11)"; 8 | "Disables_app" = "Disables HomeGestures completely in app (iOS 11)"; 9 | "PIP_APPS" = "Disable PIP in Specified Apps"; 10 | "Disables_PIP_app" = "Prevent PIP from crashing some apps"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/blackList.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Disable_Gestures_Keyboard" = "Disable Gestures With Keyboard (iOS 11)"; 3 | "Enable_App_Blacklist" = "Enable App Blacklist (iOS 11)"; 4 | "Select_Blacklisted_Apps" = "Select Blacklisted Apps (iOS 11)"; 5 | "Select_Apps_Fully_Disabled" = "Select Apps to be Fully Disabled (iOS 11)"; 6 | "Disables_present." = "Disables the gestures when keyboard is present. (iOS 11)"; 7 | "Disables_mode" = "Disables HomeGestures while in landscape mode (iOS 11)"; 8 | "Disables_app" = "Disables HomeGestures completely in app (iOS 11)"; 9 | "PIP_APPS" = "Disable PIP in Specified Apps"; 10 | "Disables_PIP_app" = "Prevent PIP from crashing some apps"; 11 | } -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "Barra de estado del iPhone X"; 3 | "Add_additional_space" = "Añade espacio adicional para simular el 'notch'; 4 | "Hide_Carrier" = "Ocultar el operador de la barra de estado"; 5 | "Hide_carrier_Status" = "Esconder de la barra de estado el operador"; 6 | "Disable_BreadCrumbs" = "Desactivar BreadCrumbs"; 7 | "Hide_back_app" = "Ocultar el botón de volver a la aplicación de la barra de estado"; 8 | "Status_Bar" = "Barra de estado en el centro de control"; 9 | "Show_CC" = "Mostrar la barra de estado en el centro de control"; 10 | "Status_Bar" = "Barra de estado"; 11 | "Show_Centre" = "Mostrar la barra de estado en el centro de control"; 12 | } 13 | -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "信息"; 3 | "Depiction" = "說明"; 4 | "Learn" = "查看關於 HomeGesture 更多的信息"; 5 | "Donations" = "捐贈"; 6 | "Donation_MidnightChips" = "向 MidnightChips 捐贈"; 7 | "pay" = "以感謝他對這款插件的付出"; 8 | "Donation_PINPAL" = "向 PINPAL 捐贈"; 9 | "Support" = "支持"; 10 | "Submit_Issue" = "提交問題"; 11 | "Report_GitHub" = "在 GitHub 上提交問題"; 12 | "Email_Support" = "電子郵件支持"; 13 | "Need_help" = "需要幫助?發送郵件給我們。我們會盡力而為的。"; 14 | "Copy_Tweak_List" = "複製調整列表"; 15 | "Needing_list" = "需要所有改動的調整列表嗎?"; 16 | "Contact" = "聯繫方式"; 17 | "Follow_MidnightChips" = "關注 MidnightChips"; 18 | "Follow_PINPAL" = "關注 PINPAL"; 19 | "Follow_VitaTaf" = "關注 VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture 支持"; 21 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "信息"; 3 | "Depiction" = "说明"; 4 | "Learn" = "查看关于 HomeGesture 更多的信息"; 5 | "Donations" = "捐赠"; 6 | "Donation_MidnightChips" = "向 MidnightChips 捐赠"; 7 | "pay" = "以感谢他对这款插件的付出"; 8 | "Donation_PINPAL" = "向 PINPAL 捐赠"; 9 | "Support" = "支持"; 10 | "Submit_Issue" = "提交问题"; 11 | "Report_GitHub" = "在 GitHub 上提交问题"; 12 | "Email_Support" = "电子邮件支持"; 13 | "Need_help" = "需要帮助?发送邮件给我们。我们会尽力而为的。"; 14 | "Copy_Tweak_List" = "复制调整列表"; 15 | "Needing_list" = "需要所有改动的调整列表吗?"; 16 | "Contact" = "联系方式"; 17 | "Follow_MidnightChips" = "关注 MidnightChips"; 18 | "Follow_PINPAL" = "关注 PINPAL"; 19 | "Follow_VitaTaf" = "关注 VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture 支持"; 21 | } 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ARCHS = arm64 2 | TARGET = iphone:clang:11.2:10.0 3 | 4 | DEBUG = 0 5 | FINALPACKAGE = 0 6 | GO_EASY_ON_ME = 0 7 | 8 | _CFLAGS = -fobjc-arc 9 | 10 | include $(THEOS)/makefiles/common.mk 11 | 12 | TWEAK_NAME = HomeGesture 13 | HomeGesture_FILES = $(wildcard source/*.m source/*.xm) 14 | HomeGesture_FRAMEWORKS = 15 | HomeGesture_LIBRARIES = sparkapplist MobileGestalt CSColorPicker CSPreferencesProvider 16 | HomeGesture_PRIVATE_FRAMEWORKS = 17 | HomeGesture_CFLAGS += -fobjc-arc -I$(THEOS_PROJECT_DIR)/source 18 | #HomeGesture_LDFLAGS += -lCSColorPicker -lCSPreferencesProvider 19 | 20 | include $(THEOS_MAKE_PATH)/tweak.mk 21 | 22 | SUBPROJECTS += preferences 23 | 24 | include $(THEOS_MAKE_PATH)/aggregate.mk 25 | 26 | after-install:: 27 | install.exec "killall -9 backboardd" 28 | -------------------------------------------------------------------------------- /source/HGPip.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | //Pip 3 | // Override MobileGestalt to always return true for PIP key - Acknowledgements: Andrew Wiik (LittleX) 4 | extern "C" Boolean MGGetBoolAnswer(CFStringRef); 5 | %hookf(Boolean, MGGetBoolAnswer, CFStringRef key) { 6 | #define k(key_) CFEqual(key, CFSTR(key_)) 7 | if (k("nVh/gwNpy7Jv1NOk00CMrw")) 8 | return YES; 9 | return %orig; 10 | } 11 | 12 | %ctor{ 13 | NSString *bundleID = [NSBundle mainBundle].bundleIdentifier; 14 | NSFileManager *fileManager = [NSFileManager defaultManager]; 15 | if (![SparkAppList doesIdentifier:@"com.midnight.homegesture.plist" andKey:@"pipBlack" containBundleIdentifier:bundleID] && [fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]) { 16 | %init(); 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /preferences/Makefile: -------------------------------------------------------------------------------- 1 | ARCHS = arm64 2 | TARGET = iphone:clang:11.2:10.0 3 | 4 | include $(THEOS)/makefiles/common.mk 5 | 6 | BUNDLE_NAME = HomeGesture 7 | $(BUNDLE_NAME)_FILES = HGPPreferenceController.m 8 | $(BUNDLE_NAME)_INSTALL_PATH = /Library/PreferenceBundles 9 | $(BUNDLE_NAME)_FRAMEWORKS = UIKit AudioToolbox 10 | $(BUNDLE_NAME)_PRIVATE_FRAMEWORKS = Preferences 11 | $(BUNDLE_NAME)_CFLAGS += -fobjc-arc 12 | $(BUNDLE_NAME)_LDFLAGS += -lCSPreferences -lCSColorPicker -lCSPUtilities 13 | $(BUNDLE_NAME)_LIBRARIES = sparkapplist 14 | 15 | include $(THEOS_MAKE_PATH)/bundle.mk 16 | 17 | internal-stage:: 18 | $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END) 19 | $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/HomeGesture.plist$(ECHO_END) 20 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "정보"; 3 | "Depiction" = "설명"; 4 | "Learn" = "HomeGesture에 대해서 자세히 알아보기"; 5 | "Donations" = "기부"; 6 | "Donation_MidnightChips" = "MidnightChips에게 기부하기"; 7 | "pay" = "노력에 대해 기부해주세요"; 8 | "Donation_PINPAL" = "PINPAL에게 기부하기"; 9 | "Support" = "지원"; 10 | "Submit_Issue" = "문제 보내기"; 11 | "Report_GitHub" = "GitHub에서 버그를 제보하세요"; 12 | "Email_Support" = "이메일 지원"; 13 | "Need_help" = "도움이 필요하세요? 저희에게 이메일을 보내시면, 최선을 다해 도와드리겠습니다."; 14 | "Copy_Tweak_List" = "트윅 목록 복사"; 15 | "Needing_list" = "설치된 트윅의 목록이 필요하세요?"; 16 | "Contact" = "연락"; 17 | "Follow_MidnightChips" = "MidnightChips을 팔로우하세요"; 18 | "Follow_PINPAL" = "PINPAL을 팔로우하세요"; 19 | "Follow_VitaTaf" = "VitaTaf을 팔로우하세요"; 20 | "HomeGesture_support" = "HomeGesture 지원"; 21 | } -------------------------------------------------------------------------------- /source/HGAppSpecific.xm.testing: -------------------------------------------------------------------------------- 1 | %group Twitter 2 | 3 | @interface TFNCustomTabBar : UIView 4 | @end 5 | 6 | %hook TFNCustomTabBar 7 | 8 | - (void)layoutSubviews { 9 | %orig; 10 | CGRect _frame = self.frame; 11 | if (_frame.origin.y != [[UIScreen mainScreen] bounds].size.height - _frame.size.height) { 12 | _frame.origin.y = _frame.origin.y - 3.5; 13 | } 14 | self.frame = _frame; 15 | } 16 | 17 | %end 18 | 19 | %end 20 | 21 | // MARK: - Calendar 22 | %group Calendar 23 | 24 | @interface CompactMonthDividedListSwitchButton : UIView 25 | @end 26 | 27 | %hook CompactMonthDividedListSwitchButton 28 | - (void)layoutSubviews { 29 | %orig; 30 | 31 | self.layer.cornerRadius = 3; 32 | self.layer.continuousCorners = YES; 33 | self.clipsToBounds = YES; 34 | } 35 | %end; 36 | 37 | %ctor{ 38 | 39 | } -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "Thanh trạng thái giống iPhone X"; 3 | "Add_additional_space" = "Thêm không gian bổ sung để mô phỏng tai thỏ"; 4 | "Hide_Carrier" = "Ẩn tên nhà mạng trên thanh trạng thái"; 5 | "Hide_carrier_Status" = "Ẩn tên nhà mạng khỏi thanh trạng thái"; 6 | "Disable_BreadCrumbs" = "Vô hiệu hóa BreadCrumbs"; 7 | "Hide_back_app" = "Ẩn nút quay trở lại ứng dụng khỏi thanh trạng thái"; 8 | "Status_Bar" = "Thanh trạng thái trong Trung tâm kiểm soát"; 9 | "Show_CC" = "Hiển thị thanh trạng thái trong Trung tâm kiểm soát"; 10 | "Status_Bar" = "Thanh trạng thái"; 11 | "Show_Centre" = "Hiển thị thanh trạng thái trong Trung tâm kiểm soát"; 12 | "iPad_STYLE" = "Thanh trạng thái giống iPad"; 13 | "Mimic_iPad" = "Sao chép thanh trạng thái của iPad, thêm ngày"; 14 | } 15 | -------------------------------------------------------------------------------- /preferences/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | HomeGesture 9 | CFBundleIdentifier 10 | com.vitataf.homegesture 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | NSPrincipalClass 22 | HGPPreferenceController 23 | 24 | 25 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X Style Status Bar"; 3 | "Add_additional_space" = "Add additional space to simulate a notch"; 4 | "Hide_Carrier" = "Hide Status Bar Carrier"; 5 | "Hide_carrier_Status" = "Hide carrier from the Status Bar"; 6 | "Disable_BreadCrumbs" = "Disable BreadCrumbs"; 7 | "Hide_back_app" = "Hide back to app button from Status Bar"; 8 | "Status_Bar" = "Status Bar in CC"; 9 | "Show_CC" = "Show the status bar in Control Centre"; 10 | "Status_Bar" = "Status Bar"; 11 | "Show_Centre" = "Show the status bar in Control Centre"; 12 | "iPad_STYLE" = "iPad Style Status Bar"; 13 | "Mimic_iPad" = "Mimics iPad Status Bar, adds date (iOS 12+)"; 14 | "Disable_IPX_IN_APPS" = "Disable the iPhone X Status bar in incompatible apps (iOS 12)"; 15 | "Turn_ON_iPad_FallBack"= "You can also enable the iPad status bar for those apps as a fallback"; 16 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X Style Status Bar"; 3 | "Add_additional_space" = "Add additional space to simulate a notch"; 4 | "Hide_Carrier" = "Hide Status Bar Carrier"; 5 | "Hide_carrier_Status" = "Hide carrier from the Status Bar"; 6 | "Disable_BreadCrumbs" = "Disable BreadCrumbs"; 7 | "Hide_back_app" = "Hide back to app button from Status Bar"; 8 | "Status_Bar" = "Status Bar in CC"; 9 | "Show_CC" = "Show the status bar in Control Centre"; 10 | "Status_Bar" = "Status Bar"; 11 | "Show_Centre" = "Show the status bar in Control Centre"; 12 | "iPad_STYLE" = "iPad Style Status Bar"; 13 | "Mimic_iPad" = "Mimics iPad Status Bar, adds date (iOS 12)"; 14 | "Disable_IPX_IN_APPS" = "Disable the iPhone X Status bar in incompatible apps (iOS 12)"; 15 | "Turn_ON_iPad_FallBack"= "You can also enable the iPad status bar for those apps as a fallback"; 16 | } 17 | -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/statusBar.strings: -------------------------------------------------------------------------------- 1 | { 2 | "iPhone_X_Style" = "iPhone X Style Status Bar"; 3 | "Add_additional_space" = "Add additional space to simulate a notch"; 4 | "Hide_Carrier" = "Hide Status Bar Carrier"; 5 | "Hide_carrier_Status" = "Hide carrier from the Status Bar"; 6 | "Disable_BreadCrumbs" = "Disable BreadCrumbs"; 7 | "Hide_back_app" = "Hide back to app button from Status Bar"; 8 | "Status_Bar" = "Status Bar in CC"; 9 | "Show_CC" = "Show the status bar in Control Center"; 10 | "Status_Bar" = "Status Bar"; 11 | "Show_Centre" = "Show the status bar in Control Center"; 12 | "iPad_STYLE" = "iPad Style Status Bar"; 13 | "Mimic_iPad" = "Mimics iPad Status Bar, adds date (iOS 12)"; 14 | "Disable_IPX_IN_APPS" = "Disable the iPhone X Status bar in incompatible apps (iOS 12)"; 15 | "Turn_ON_iPad_FallBack"= "You can also enable the iPad status bar for those apps as a fallback"; 16 | } 17 | -------------------------------------------------------------------------------- /source/HGPProvider.m: -------------------------------------------------------------------------------- 1 | #include "HGPProvider.h" 2 | 3 | @implementation HGPProvider 4 | 5 | #pragma mark Initialization 6 | 7 | + (CSPreferencesProvider *)sharedProvider { 8 | static dispatch_once_t once; 9 | static CSPreferencesProvider *sharedProvider; 10 | dispatch_once(&once, ^{ 11 | 12 | NSString *tweakId = @"com.vitataf.homegesture"; 13 | NSString *prefsNotification = [tweakId stringByAppendingString:@".prefschanged"]; 14 | NSString *defaultsPath = @"/Library/PreferenceBundles/HomeGesture.bundle/defaults.plist"; 15 | 16 | sharedProvider = [[CSPreferencesProvider alloc] initWithTweakID:tweakId defaultsPath:defaultsPath postNotification:prefsNotification notificationCallback:^void (CSPreferencesProvider *provider) { 17 | [[NSNotificationCenter defaultCenter] postNotificationName:@"HGPSettingsChanged" object:nil userInfo:nil]; 18 | }]; 19 | 20 | }); 21 | return sharedProvider; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Info"; 3 | "Depiction" = "Depiction"; 4 | "Learn" = "Leer meer over HomeGesture"; 5 | "Donations" = "Donaties"; 6 | "Donation_MidnightChips" = "Maak een donatie naar MidnightChips"; 7 | "pay" = "Help compenseren voor zijn werk"; 8 | "Donation_PINPAL" = "Maak een donatie naar PINPAL"; 9 | "Support" = "Support"; 10 | "Submit_Issue" = "Rapporteer een probleem"; 11 | "Report_GitHub" = "Rapporteer een probleem op Github"; 12 | "Email_Support" = "Email Support"; 13 | "Need_help" = "Hulp nodig? stuur mij een email."; 14 | "Copy_Tweak_List" = "Kopieer Tweak lijsr"; 15 | "Needing_list" = "Heb je een lijst voor geinstalleerde tweaks nodig?"; 16 | "Contact" = "Contact"; 17 | "Follow_MidnightChips" = "Volg MidnightChips"; 18 | "Follow_PINPAL" = "Volg PINPAL"; 19 | "Follow_VitaTaf" = "Volg VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture support"; 21 | } 22 | -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Info"; 3 | "Depiction" = "Depiction"; 4 | "Learn" = "Learn more about HomeGesture"; 5 | "Donations" = "Donations"; 6 | "Donation_MidnightChips" = "Make a Donation To MidnightChips"; 7 | "pay" = "Help compensate him for his efforts"; 8 | "Donation_PINPAL" = "Make a Donation To PINPAL"; 9 | "Support" = "Support"; 10 | "Submit_Issue" = "Submit an Issue"; 11 | "Report_GitHub" = "Report a bug on GitHub and feel warm and fuzzy"; 12 | "Email_Support" = "Email Support"; 13 | "Need_help" = "Need_help? Send me an email and we will do our best."; 14 | "Copy_Tweak_List" = "Copy Tweak List"; 15 | "Needing_list" = "Needing a list of all installed tweaks?"; 16 | "Contact" = "Contact"; 17 | "Follow_MidnightChips" = "Follow MidnightChips"; 18 | "Follow_PINPAL" = "Follow PINPAL"; 19 | "Follow_VitaTaf" = "Follow VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture support"; 21 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Info"; 3 | "Depiction" = "Depiction"; 4 | "Learn" = "Learn more about HomeGesture"; 5 | "Donations" = "Donations"; 6 | "Donation_MidnightChips" = "Make a Donation To MidnightChips"; 7 | "pay" = "Help compensate him for his efforts"; 8 | "Donation_PINPAL" = "Make a Donation To PINPAL"; 9 | "Support" = "Support"; 10 | "Submit_Issue" = "Submit an Issue"; 11 | "Report_GitHub" = "Report a bug on GitHub and feel warm and fuzzy"; 12 | "Email_Support" = "Email Support"; 13 | "Need_help" = "Need_help? Send me an email and we will do our best."; 14 | "Copy_Tweak_List" = "Copy Tweak List"; 15 | "Needing_list" = "Needing a list of all installed tweaks?"; 16 | "Contact" = "Contact"; 17 | "Follow_MidnightChips" = "Follow MidnightChips"; 18 | "Follow_PINPAL" = "Follow PINPAL"; 19 | "Follow_VitaTaf" = "Follow VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture support"; 21 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Info"; 3 | "Depiction" = "Depiction"; 4 | "Learn" = "Learn more about HomeGesture"; 5 | "Donations" = "Donations"; 6 | "Donation_MidnightChips" = "Make a Donation To MidnightChips"; 7 | "pay" = "Help compensate him for his efforts"; 8 | "Donation_PINPAL" = "Make a Donation To PINPAL"; 9 | "Support" = "Support"; 10 | "Submit_Issue" = "Submit an Issue"; 11 | "Report_GitHub" = "Report a bug on GitHub and feel warm and fuzzy"; 12 | "Email_Support" = "Email Support"; 13 | "Need_help" = "Need_help? Send me an email and we will do our best."; 14 | "Copy_Tweak_List" = "Copy Tweak List"; 15 | "Needing_list" = "Needing a list of all installed tweaks?"; 16 | "Contact" = "Contact"; 17 | "Follow_MidnightChips" = "Follow MidnightChips"; 18 | "Follow_PINPAL" = "Follow PINPAL"; 19 | "Follow_VitaTaf" = "Follow VitaTaf"; 20 | "HomeGesture_support" = "HomeGesture support"; 21 | } -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Thông tin"; 3 | "Depiction" = "Mô tả"; 4 | "Learn" = "Tìm hiểu thêm về HomeGesture"; 5 | "Donations" = "Ủng hộ"; 6 | "Donation_MidnightChips" = "Ủng hộ cho MidnightChips"; 7 | "pay" = "Giúp anh ấy bù đắp cho những nỗ lực của anh ấy"; 8 | "Donation_PINPAL" = "Ủng hộ cho PINPAL"; 9 | "Support" = "Hỗ trợ"; 10 | "Submit_Issue" = "Gửi một vấn đề"; 11 | "Report_GitHub" = "Báo cáo lỗi trên GitHub"; 12 | "Email_Support" = "Hỗ trợ email"; 13 | "Need_help" = "Cần giúp đỡ? Gửi cho tôi một email và chúng tôi sẽ cố gắng giúp bạn."; 14 | "Copy_Tweak_List" = "Sao chép danh sách Tweak"; 15 | "Needing_list" = "Cần một danh sách tất cả các tweak được cài đặt?"; 16 | "Contact" = "Liên hệ"; 17 | "Follow_MidnightChips" = "Theo dõi MidnightChips"; 18 | "Follow_PINPAL" = "Theo dõi PINPAL"; 19 | "Follow_VitaTaf" = "Theo dõi VitaTaf"; 20 | "HomeGesture_support" = "Hỗ trợ HomeGesture"; 21 | } 22 | -------------------------------------------------------------------------------- /preferences/entry.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | HomeGesture 9 | cell 10 | PSLinkCell 11 | detail 12 | CSPListController 13 | icon 14 | icon.png 15 | isController 16 | 17 | label 18 | HomeGesture 19 | primaryFontSize 20 | 36 21 | secondaryFontSize 22 | 17 23 | primaryColor 24 | 000000 25 | secondaryColor 26 | #5c5555 27 | packageID 28 | com.vitataf.homegesture 29 | repo 30 | https://repo.dynastic.co 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Información"; 3 | "Depiction" = "Representación"; 4 | "Learn" = "Leer más sobre HomeGesture"; 5 | "Donations" = "Donaciones"; 6 | "Donation_MidnightChips" = "Haz una donación a MidnightChips"; 7 | "pay" = "Ayuda a compensar a él sus esfuerzos"; 8 | "Donation_PINPAL" = "Haz una donación a PINPAL"; 9 | "Support" = "Soporte"; 10 | "Submit_Issue" = "Enviar un problema"; 11 | "Report_GitHub" = "Reportar un bug en GitHub"; 12 | "Email_Support" = "Soporte de e-mail"; 13 | "Need_help" = "¿Necesitas_ayuda? Envíanos un e-mail y haremos lo mejor que podamos."; 14 | "Copy_Tweak_List" = "Copiar lista de tweaks"; 15 | "Needing_list" = "¿Necesitas una lista de todos los tweaks instalados?"; 16 | "Contact" = "Contacto"; 17 | "Follow_MidnightChips" = "Sigue a MidnightChips"; 18 | "Follow_PINPAL" = "Sigue a PINPAL"; 19 | "Follow_VitaTaf" = "Sigue a VitaTaf"; 20 | "HomeGesture_support" = "Soporte de HomeGesture"; 21 | } 22 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/Support.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Info" = "Info"; 3 | "Depiction" = "Descrizione"; 4 | "Learn" = "Informazioni su HomeGesture"; 5 | "Donations" = "Donazioni"; 6 | "Donation_MidnightChips" = "Effettua una donazione a MidnightChips"; 7 | "pay" = "Un compenso per i suoi sforzi"; 8 | "Donation_PINPAL" = "Effettua una donazione a PINPAL"; 9 | "Support" = "Supporto"; 10 | "Submit_Issue" = "Segnala un problema"; 11 | "Report_GitHub" = "Segnala un bug su GitHub"; 12 | "Email_Support" = "Supporto via Email"; 13 | "Need_help" = "Hai bisogno di aiuto? Mandami un'email e faremo del nostro meglio per assisterti."; 14 | "Copy_Tweak_List" = "Copia lista Tweaks"; 15 | "Needing_list" = "Serve una lista di tutti i Tweaks installati?"; 16 | "Contact" = "Contatti"; 17 | "Follow_MidnightChips" = "Segui MidnightChips"; 18 | "Follow_PINPAL" = "Segui PINPAL"; 19 | "Follow_VitaTaf" = "Segui VitaTaf"; 20 | "HomeGesture_support" = "Supporto HomeGesture"; 21 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-TW.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "歡迎"; 3 |     "Thanks_Installing" = "感謝安裝 HomeGesture \n 讓我們來快速設置..."; 4 |     "Get_Fast" = "返回主頁面"; 5 |     "Swipe_Home" = "向上滑動返回主頁面。"; 6 |     "Next" = "下一步"; 7 |     "Doing_Lot" = "多任務界面"; 8 |     "Multi_Info" = "上滑後暫停來打開多任務界面。"; 9 |     "Back" = "返回"; 10 |     "Control_Demand" = "控制中心"; 11 |     "Access_CC" = "從右上角向下滑動打開控制中心。"; 12 |     "Status_Style" = "狀態欄風格"; 13 |     "Choose_iPX" = "iPhone X 樣式狀態欄"; 14 |     "Enable_iPX" = "開啟 iPhone X 狀態欄"; 15 |     "Not_Now" = "暫時不用"; 16 |     "Close_Ease" = "關閉應用"; 17 |     "Choose_Swipe" = "上滑關閉程序"; 18 |     "Enable_Swipe" = "啟用上滑關閉程序"; 19 |     "One_Hand" = "單手操作"; 20 |     "Choose_Screen" = "音量鍵+電源鍵截圖"; 21 |     "Enable_Feature" = "已啟用此功能"; 22 |     "Classic_Siri" = "Siri"; 23 |     "Home_Siri" = "長按 Home 鍵"; 24 |     "Hold_Lock_Button" = "長按鎖屏鍵"; 25 |     "Hold_Home_Siri" = "長按 Home 鍵打開Siri"; 26 |     "Forgot_Everything" = "Home 條"; 27 |     "Ask_Home" = "開啟 Home 條"; 28 |     "Enable_Home" = "啟用 Home 條"; 29 |     "Completed" = "全部完成"; 30 |     "Notify_Respring" = "安裝程序必須重新啟動才能完成更改"; 31 |     "Finish" = "安裝完成,正在重啟中"; 32 | } -------------------------------------------------------------------------------- /preferences/Resources/zh-CN.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "欢迎"; 3 | "Thanks_Installing" = "感谢安装 HomeGesture \n 让我们来快速设置..."; 4 | "Get_Fast" = "返回主页面"; 5 | "Swipe_Home" = "向上滑动返回主页面。"; 6 | "Next" = "下一步"; 7 | "Doing_Lot" = "多任务界面"; 8 | "Multi_Info" = "上滑后暂停来打开多任务界面。"; 9 | "Back" = "返回"; 10 | "Control_Demand" = "控制中心"; 11 | "Access_CC" = "从右上角向下滑动打开控制中心。"; 12 | "Status_Style" = "状态栏风格"; 13 | "Choose_iPX" = "iPhone X 样式状态栏"; 14 | "Enable_iPX" = "开启 iPhone X 状态栏"; 15 | "Not_Now" = "暂时不用"; 16 | "Close_Ease" = "关闭应用"; 17 | "Choose_Swipe" = "上滑关闭程序"; 18 | "Enable_Swipe" = "启用上滑关闭程序"; 19 | "One_Hand" = "单手操作"; 20 | "Choose_Screen" = "音量键+电源键截图"; 21 | "Enable_Feature" = "已启用此功能"; 22 | "Classic_Siri" = "Siri"; 23 | "Home_Siri" = "长按 Home 键"; 24 | "Hold_Lock_Button" = "长按锁屏键"; 25 | "Hold_Home_Siri" = "长按 Home 键打开Siri"; 26 | "Forgot_Everything" = "Home 条"; 27 | "Ask_Home" = "开启 Home 条"; 28 | "Enable_Home" = "启用 Home 条"; 29 | "Completed" = "全部完成"; 30 | "Notify_Respring" = "安装程序必须重新启动才能完成更改"; 31 | "Finish" = "安装完成,正在重启中"; 32 | } 33 | -------------------------------------------------------------------------------- /preferences/Resources/ko.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "안녕하세요"; 3 | "Thanks_Installing" = "HomeGesture를 설치해주셔서 감사합니다 \n 어서 설정합시다..."; 4 | "Get_Fast" = "빠르게 홈으로 이동"; 5 | "Swipe_Home" = "쓸어올려서 홈으로 이동하세요."; 6 | "Next" = "다음"; 7 | "Doing_Lot" = "멀티 태스킹"; 8 | "Multi_Info" = "쓸어올린 후 잠깐 멈추어 멀티태스킹을 하세요."; 9 | "Back" = "뒤로"; 10 | "Control_Demand" = "제어 센터"; 11 | "Access_CC" = "우측 상단을 스와이프 하여 제어 센터를 불러오세요."; 12 | "Status_Style" = "상단바"; 13 | "Choose_iPX" = "iPhone X의 상단바로 변경할까요?"; 14 | "Enable_iPX" = "iPhone X 상단바 활성화"; 15 | "Not_Now" = "지금 안함"; 16 | "Close_Ease" = "쉼게 종료하기"; 17 | "Choose_Swipe" = "쓸어올려서 앱을 종료할까요?"; 18 | "Enable_Swipe" = "쓸어올려서 종료 활성화"; 19 | "One_Hand" = "한손 스크린샷"; 20 | "Choose_Screen" = "볼륨 상 + 잠자기 버튼으로 스크린샷을 찍을까요?"; 21 | "Enable_Feature" = "기능 활성화"; 22 | "Classic_Siri" = "Siri"; 23 | "Home_Siri" = "잠자기 버튼이 싫으세요? 홈버튼을 눌러 Siri를 사용하세요!"; 24 | "Hold_Lock_Button" = "잠자기 버튼 누르기"; 25 | "Hold_Home_Siri" = "홈버튼을 눌러 Siri 사용하기"; 26 | "Forgot_Everything" = "홈바"; 27 | "Ask_Home" = "홈바를 활성화할까요?"; 28 | "Enable_Home" = "홈바 활성화"; 29 | "Completed" = "모두 마쳤습니다"; 30 | "Notify_Respring" = "리스프링을 하여, 설정을 끝내세요."; 31 | "Finish" = "끝내고 리스프링하기"; 32 | } -------------------------------------------------------------------------------- /source/HGKeyboard.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | //Keyboard 3 | 4 | %hook UIRemoteKeyboardWindowHosted 5 | - (UIEdgeInsets)safeAreaInsets { 6 | UIEdgeInsets orig = %orig; 7 | orig.bottom = 44; 8 | return orig; 9 | } 10 | %end 11 | 12 | %hook UIKeyboardImpl 13 | +(UIEdgeInsets)deviceSpecificPaddingForInterfaceOrientation:(NSInteger)orientation inputMode:(id)mode { 14 | UIEdgeInsets orig = %orig; 15 | orig.bottom = 44; 16 | return orig; 17 | } 18 | 19 | %end 20 | 21 | 22 | 23 | %hook UIKeyboardDockView 24 | 25 | - (CGRect)bounds { 26 | CGRect bounds = %orig; 27 | if (bounds.origin.y == 0) { 28 | bounds.origin.y -=13; 29 | } 30 | return bounds; 31 | } 32 | 33 | - (void)layoutSubviews { 34 | %orig; 35 | } 36 | 37 | %end 38 | 39 | 40 | %hook UIInputWindowController 41 | - (UIEdgeInsets)_viewSafeAreaInsetsFromScene { 42 | return UIEdgeInsetsMake(0,0,44,0); 43 | } 44 | %end 45 | //End Keyboard 46 | 47 | %ctor { 48 | //NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier; 49 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 50 | NSFileManager *fileManager = [NSFileManager defaultManager]; 51 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"] && [prefs boolForKey:@"ipxKeyboard"]){ 52 | %init(); 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /preferences/Resources/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Welcome"; 3 | "Thanks_Installing" = "Thanks for installing HomeGesture \n Let's get setup fast..."; 4 | "Get_Fast" = "Get Home Fast"; 5 | "Swipe_Home" = "Swipe up to go Home."; 6 | "Next" = "Next"; 7 | "Doing_Lot" = "Doing a lot?"; 8 | "Multi_Info" = "Swipe up and hold to enter multitasking."; 9 | "Back" = "Back"; 10 | "Control_Demand" = "Control On Demand"; 11 | "Access_CC" = "Swipe down from the top right for the Control Center."; 12 | "Status_Style" = "Status in Style?"; 13 | "Choose_iPX" = "Style your status bar like the iPhone X?"; 14 | "Enable_iPX" = "Enable X Status Bar"; 15 | "Not_Now" = "Not Now"; 16 | "Close_Ease" = "Close with Ease"; 17 | "Choose_Swipe" = "Swipe up to close your applications?"; 18 | "Enable_Swipe" = "Enable Swipe to Close"; 19 | "One_Hand" = "One Handed?"; 20 | "Choose_Screen" = "Take screenshots with Volume Up + Lock?"; 21 | "Enable_Feature" = "Enable Feature"; 22 | "Classic_Siri" = "Classic Siri?"; 23 | "Home_Siri" = "Don't like the power button? Hold Home to access Siri!"; 24 | "Hold_Lock_Button" = "Hold Lock Button"; 25 | "Hold_Home_Siri" = "Hold Home for Siri"; 26 | "Forgot_Everything" = "Forgot Everything?"; 27 | "Ask_Home" = "Enable the Home Bar indicator?"; 28 | "Enable_Home" = "Enable Home Bar"; 29 | "Completed" = "All Done"; 30 | "Notify_Respring" = "Setup must respring to complete changes."; 31 | "Finish" = "Finish and Respring"; 32 | } -------------------------------------------------------------------------------- /preferences/Resources/base.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Welcome"; 3 | "Thanks_Installing" = "Thanks for installing HomeGesture \n Let's get setup fast..."; 4 | "Get_Fast" = "Get Home Fast"; 5 | "Swipe_Home" = "Swipe up to go Home."; 6 | "Next" = "Next"; 7 | "Doing_Lot" = "Doing a lot?"; 8 | "Multi_Info" = "Swipe up and hold to enter multitasking."; 9 | "Back" = "Back"; 10 | "Control_Demand" = "Control On Demand"; 11 | "Access_CC" = "Swipe down from the top right for the Control Center."; 12 | "Status_Style" = "Status in Style?"; 13 | "Choose_iPX" = "Style your status bar like the iPhone X?"; 14 | "Enable_iPX" = "Enable X Status Bar"; 15 | "Not_Now" = "Not Now"; 16 | "Close_Ease" = "Close with Ease"; 17 | "Choose_Swipe" = "Swipe up to close your applications?"; 18 | "Enable_Swipe" = "Enable Swipe to Close"; 19 | "One_Hand" = "One Handed?"; 20 | "Choose_Screen" = "Take screenshots with Volume Up + Lock?"; 21 | "Enable_Feature" = "Enable Feature"; 22 | "Classic_Siri" = "Classic Siri?"; 23 | "Home_Siri" = "Don't like the power button? Hold Home to access Siri!"; 24 | "Hold_Lock_Button" = "Hold Lock Button"; 25 | "Hold_Home_Siri" = "Hold Home for Siri"; 26 | "Forgot_Everything" = "Forgot Everything?"; 27 | "Ask_Home" = "Enable the Home Bar indicator?"; 28 | "Enable_Home" = "Enable Home Bar"; 29 | "Completed" = "All Done"; 30 | "Notify_Respring" = "Setup must respring to complete changes."; 31 | "Finish" = "Finish and Respring"; 32 | } -------------------------------------------------------------------------------- /preferences/Resources/en-GB.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Welcome"; 3 | "Thanks_Installing" = "Thanks for installing HomeGesture \n Let's get setup fast..."; 4 | "Get_Fast" = "Get Home Fast"; 5 | "Swipe_Home" = "Swipe up to go Home."; 6 | "Next" = "Next"; 7 | "Doing_Lot" = "Doing a lot?"; 8 | "Multi_Info" = "Swipe up and hold to enter multitasking."; 9 | "Back" = "Back"; 10 | "Control_Demand" = "Control On Demand"; 11 | "Access_CC" = "Swipe down from the top right for the Control Centre."; 12 | "Status_Style" = "Status in Style?"; 13 | "Choose_iPX" = "Style your status bar like the iPhone X?"; 14 | "Enable_iPX" = "Enable X Status Bar"; 15 | "Not_Now" = "Not Now"; 16 | "Close_Ease" = "Close with Ease"; 17 | "Choose_Swipe" = "Swipe up to close your applications?"; 18 | "Enable_Swipe" = "Enable Swipe to Close"; 19 | "One_Hand" = "One Handed?"; 20 | "Choose_Screen" = "Take screenshots with Volume Up + Lock?"; 21 | "Enable_Feature" = "Enable Feature"; 22 | "Classic_Siri" = "Classic Siri?"; 23 | "Home_Siri" = "Don't like the power button? Hold Home to access Siri!"; 24 | "Hold_Lock_Button" = "Hold Lock Button"; 25 | "Hold_Home_Siri" = "Hold Home for Siri"; 26 | "Forgot_Everything" = "Forgot Everything?"; 27 | "Ask_Home" = "Enable the Home Bar indicator?"; 28 | "Enable_Home" = "Enable Home Bar"; 29 | "Completed" = "All Done"; 30 | "Notify_Respring" = "Setup must respring to complete changes."; 31 | "Finish" = "Finish and Respring"; 32 | } 33 | -------------------------------------------------------------------------------- /preferences/Resources/nl.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Welkom"; 3 | "Thanks_Installing" = "Bedankt voor het installeren van HomeGesture \n Laten we snel klaarkomen..."; 4 | "Get_Fast" = "Get Home Fast"; 5 | "Swipe_Home" = "Swipe up to go Home."; 6 | "Next" = "Volgende"; 7 | "Doing_Lot" = "Veel doen?"; 8 | "Multi_Info" = "Swipe omhoog en houd voor multitasking."; 9 | "Back" = "terug"; 10 | "Control_Demand" = "Control On Demand"; 11 | "Access_CC" = "Swip naar beneden van rechts boven voor de Control Center."; 12 | "Status_Style" = "Status in stijl?"; 13 | "Choose_iPX" = "Stijl je status bar als de iPhone X?"; 14 | "Enable_iPX" = "Enable X Status Bar"; 15 | "Not_Now" = "Niet nu!"; 16 | "Close_Ease" = "Sluit Zacht"; 17 | "Choose_Swipe" = "Swipe omhoog om je apps te sluiten"; 18 | "Enable_Swipe" = "Ze swipe om te sluiten aan"; 19 | "One_Hand" = "1 hand?"; 20 | "Choose_Screen" = "Maak screenshot met volume + lock?"; 21 | "Enable_Feature" = "zet mogenlijkheid aan?"; 22 | "Classic_Siri" = "Classic Siri?"; 23 | "Home_Siri" = "Vind je de power button vasthouden niet leuk? Open siri !"; 24 | "Hold_Lock_Button" = "Houd Lock Knop"; 25 | "Hold_Home_Siri" = "Houd Home voor Siri"; 26 | "Forgot_Everything" = "Vergeet alles?"; 27 | "Ask_Home" = "zet Home Bar indicator aan?"; 28 | "Enable_Home" = "Zet Home Bar Aan"; 29 | "Completed" = "Klaar!"; 30 | "Notify_Respring" = "Moest herstarten om de veranderingen te laten werken."; 31 | "Finish" = "Klaar en Respring"; 32 | } 33 | -------------------------------------------------------------------------------- /preferences/Resources/vi.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Xin chào"; 3 | "Thanks_Installing" = "Cảm ơn bạn đã cài đặt HomeGesture \n Hãy nhanh chóng thiết lập..."; 4 | "Get_Fast" = "Quay về màn hình chính"; 5 | "Swipe_Home" = "Vuốt từ dưới lên để về home."; 6 | "Next" = "Tiếp"; 7 | "Doing_Lot" = "Giao diện đa nhiệm"; 8 | "Multi_Info" = "Vuốt lên và giữ để vào giao diện đa nhiệm"; 9 | "Back" = "Quay lại"; 10 | "Control_Demand" = "Trung tâm kiểm soát"; 11 | "Access_CC" = "Vuốt xuống từ cạnh trên cùng bên phải để truy cập Trung tâm kiểm soát."; 12 | "Status_Style" = "Kiểu thanh trạng thái"; 13 | "Choose_iPX" = "Làm cho thanh trạng thái trông giống như iPhone X?"; 14 | "Enable_iPX" = "Bật thanh trạng thái của iPhone X"; 15 | "Not_Now" = "Không phải bây giờ"; 16 | "Close_Ease" = "Đóng ứng dụng chạy nền"; 17 | "Choose_Swipe" = "Vuốt lên để đóng ứng dụng chạy nền của bạn?"; 18 | "Enable_Swipe" = "Bật Vuốt lên để đóng"; 19 | "One_Hand" = "Thao tác bằng một tay?"; 20 | "Choose_Screen" = "Chụp ảnh màn hình với nút Tăng âm + nút Nguồn?"; 21 | "Enable_Feature" = "Kích hoạt tính năng"; 22 | "Classic_Siri" = "Siri"; 23 | "Home_Siri" = "Không thích nút nguồn? Nhấn giữ nút Home để mở Siri!"; 24 | "Hold_Lock_Button" = "Giữ nút Nguồn"; 25 | "Hold_Home_Siri" = "Giữ nút Home cho Siri"; 26 | "Forgot_Everything" = "Thanh Home"; 27 | "Ask_Home" = "Bật thanh Home giống iPhone X"; 28 | "Enable_Home" = "Bật thanh Home"; 29 | "Completed" = "Tất cả đã xong"; 30 | "Notify_Respring" = "Bạn cần phải respring lại thiết bị để lưu thay đổi."; 31 | "Finish" = "Kết thúc và Respring"; 32 | } 33 | -------------------------------------------------------------------------------- /preferences/Resources/it.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Benvenuto"; 3 | "Thanks_Installing" = "Grazie per aver installato HomeGesture \n Configuriamo rapidamente..."; 4 | "Get_Fast" = "Torna rapidamente alla Home"; 5 | "Swipe_Home" = "Scorri verso l'alto per la Home"; 6 | "Next" = "Avanti"; 7 | "Doing_Lot" = "Stai facendo molto?"; 8 | "Multi_Info" = "Scorri verso l'alto e tieni premuto per il Multitasking"; 9 | "Back" = "Indietro"; 10 | "Control_Demand" = "Control Center a richiesta"; 11 | "Access_CC" = "Scorri da in alto a destra verso il basso per il Centro di Controllo."; 12 | "Status_Style" = "Status in Stile?"; 13 | "Choose_iPX" = "Rendi la Status Bar come quella di iPhone X"; 14 | "Enable_iPX" = "Abilita la Status Bar di iPhone X"; 15 | "Not_Now" = "Non ora"; 16 | "Close_Ease" = "Chiudi facilmente"; 17 | "Choose_Swipe" = "Scorri verso l'alto per chiudere le App?"; 18 | "Enable_Swipe" = "Abilita Scorrimento per chiudere"; 19 | "One_Hand" = "Uso con una mano?"; 20 | "Choose_Screen" = "Crea screenshot con Volume Su + Tasto di Blocco?"; 21 | "Enable_Feature" = "Abilita funzione"; 22 | "Classic_Siri" = "Siri Classico?"; 23 | "Home_Siri" = "Non ti piace il tasto Power? Tieni premuto Home per Siri!"; 24 | "Hold_Lock_Button" = "Tieni premuto il tasto di Blocco"; 25 | "Hold_Home_Siri" = "Tieni premuto Home per Siri"; 26 | "Forgot_Everything" = "Dimenticato tutto?"; 27 | "Ask_Home" = "Abilita l'indicatore Barra Home?"; 28 | "Enable_Home" = "Abilita Barra Home"; 29 | "Completed" = "Fatto"; 30 | "Notify_Respring" = "Occorre un Respring per applicare i cambiamenti."; 31 | "Finish" = "Concludi e Respringa"; 32 | } -------------------------------------------------------------------------------- /preferences/Resources/buttonMapping.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSSwitchCell 11 | label 12 | Original_Screenshot 13 | sublabel 14 | Use_Lock 15 | key 16 | remapScreen 17 | PostNotification 18 | com.vitataf.homegesture.prefschanged 19 | defaults 20 | com.vitataf.homegesture 21 | defaultsPath 22 | /Library/PreferenceBundles/HomeGesture.bundle 23 | 24 | 25 | 26 | cell 27 | PSSwitchCell 28 | label 29 | Press_Home 30 | sublabel 31 | Activate_Button 32 | key 33 | siriHome 34 | PostNotification 35 | com.vitataf.homegesture.prefschanged 36 | defaults 37 | com.vitataf.homegesture 38 | defaultsPath 39 | /Library/PreferenceBundles/HomeGesture.bundle 40 | 41 | 42 | 43 | 44 | cell 45 | PSGroupCell 46 | footerText 47 | MidnightChips, VitaTaf, PINPAL © 2018 48 | footerAlignment 49 | 1 50 | 51 | 52 | 53 | title 54 | Hardware_Buttons 55 | 56 | 57 | -------------------------------------------------------------------------------- /preferences/Resources/es.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | { 2 | "Welcome" = "Bienvenido"; 3 | "Thanks_Installing" = "Gracias por installar HomeGestures \n Vamos a configurarlo rápido..."; 4 | "Get_Fast" = "Vuelve al inicio rápido"; 5 | "Swipe_Home" = "Desliza hacia arriba para ir a inicio"; 6 | "Next" = "Siguiente"; 7 | "Doing_Lot" = "¿Haciendo mucho?"; 8 | "Multi_Info" = "Desliza hacia arriba y haz una pausa para ir a la multitarea"; 9 | "Back" = "Atrás"; 10 | "Control_Demand" = "Controla según la demanda"; 11 | "Access_CC" = "Desliza hacia abajo desde la esquina derecha para abrir el centro de control."; 12 | "Status_Style" = "¿Estado con estilo?"; 13 | "Choose_iPX" = "¿Personaliza la barra de estado como el iPhone X?"; 14 | "Enable_iPX" = "Activar la barra de estado del iPhone X"; 15 | "Not_Now" = "Ahora no"; 16 | "Close_Ease" = "Cierra con facilidad"; 17 | "Choose_Swipe" = "¿Desliza hacia arriba para cerrar las apps?"; 18 | "Enable_Swipe" = "Activar deslizar para cerrar"; 19 | "One_Hand" = "¿Una mano?"; 20 | "Choose_Screen" = "¿Haz capturas de pantalla con Subir volumen + Reposo?"; 21 | "Enable_Feature" = "Activar característica"; 22 | "Classic_Siri" = "¿Siri clásico?"; 23 | "Home_Siri" = "¿No te gusta el botón de reposo? ¡Usa el botón de inicio para activar Siri!"; 24 | "Hold_Lock_Button" = "Mantén el botón de reposo"; 25 | "Hold_Home_Siri" = "Mantén el botón de inicio para activar Siri"; 26 | "Forgot_Everything" = "¿Olvidar todo?"; 27 | "Ask_Home" = "¿Activar el indicador de la barra de inicio?"; 28 | "Enable_Home" = "Activar barra de inicio"; 29 | "Completed" = "Todo está listo"; 30 | "Notify_Respring" = "El asistente debe hacer un respring para que los cambios hagan efecto."; 31 | "Finish" = "Acabar y hacer Respring"; 32 | } 33 | -------------------------------------------------------------------------------- /source/HGBlacklist+Remap.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | 3 | int applicationDidFinishLaunching; 4 | long _homeButtonTypeRemap = 1; 5 | %hook SpringBoard 6 | -(void)applicationDidFinishLaunching:(id)application { 7 | applicationDidFinishLaunching = 2; 8 | %orig; 9 | } 10 | %end 11 | 12 | %hook SBPressGestureRecognizer 13 | - (void)setAllowedPressTypes:(NSArray *)arg1 { 14 | NSArray * lockHome = @[@104, @101]; 15 | NSArray * lockVol = @[@104, @102, @103]; 16 | if ([arg1 isEqual:lockVol] && applicationDidFinishLaunching == 2) { 17 | %orig(lockHome); 18 | applicationDidFinishLaunching--; 19 | return; 20 | } 21 | %orig; 22 | } 23 | %end 24 | 25 | %hook SBClickGestureRecognizer 26 | - (void)addShortcutWithPressTypes:(id)arg1 { 27 | if (applicationDidFinishLaunching == 1) { 28 | applicationDidFinishLaunching--; 29 | return; 30 | } 31 | %orig; 32 | } 33 | %end 34 | 35 | %hook SBVolumeHardwareButton 36 | - (id)initWithScreenshotGestureRecognizer:(id)arg1 shutdownGestureRecognizer:(id)arg2 proximitySensorManager:(id)arg3 homeHardwareButton:(id)arg4 volumeHardwareButton:(id)arg5 buttonActions:(id)arg6 homeButtonType:(long long)arg7 createGestures:(_Bool)arg8 { 37 | return %orig(arg1,arg2,arg3,arg4,arg5,arg6,_homeButtonTypeRemap,arg8); 38 | } 39 | - (id)initWithScreenshotGestureRecognizer:(id)arg1 shutdownGestureRecognizer:(id)arg2 proximitySensorManager:(id)arg3 homeHardwareButton:(id)arg4 volumeHardwareButton:(id)arg5 homeButtonType:(long long)arg6 { 40 | return %orig(arg1,arg2,arg3,arg4,arg5,_homeButtonTypeRemap); 41 | } 42 | %end 43 | 44 | %ctor{ 45 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 46 | NSFileManager *fileManager = [NSFileManager defaultManager]; 47 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]) { 48 | if([prefs boolForKey:@"remapScreen"]){ 49 | %init(); 50 | } 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /source/HGInset.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | //UIBar 3 | %hook UITabBar 4 | 5 | - (void)layoutSubviews { 6 | %orig; 7 | if([prefs boolForKey:@"inset"]){ 8 | CGRect _frame = self.frame; 9 | if (_frame.size.height == 49) { 10 | _frame.size.height = 70; 11 | _frame.origin.y = [[UIScreen mainScreen] bounds].size.height - 70; 12 | } 13 | self.frame = _frame; 14 | } 15 | } 16 | 17 | %end 18 | 19 | 20 | 21 | %hook UIApplicationSceneSettings 22 | 23 | - (UIEdgeInsets)_inferredLayoutMargins { 24 | if([prefs boolForKey:@"inset"]){ 25 | return UIEdgeInsetsMake(32,0,0,0); 26 | }else{ 27 | return %orig; 28 | } 29 | 30 | } 31 | - (UIEdgeInsets)safeAreaInsetsLandscapeLeft { 32 | if([prefs boolForKey:@"inset"]){ 33 | UIEdgeInsets _insets = %orig; 34 | _insets.bottom = 21; 35 | return _insets; 36 | }else{ 37 | return %orig; 38 | } 39 | } 40 | - (UIEdgeInsets)safeAreaInsetsLandscapeRight { 41 | if([prefs boolForKey:@"inset"]){ 42 | UIEdgeInsets _insets = %orig; 43 | _insets.bottom = 21; 44 | return _insets; 45 | }else{ 46 | return %orig; 47 | } 48 | } 49 | - (UIEdgeInsets)safeAreaInsetsPortrait { 50 | if([prefs boolForKey:@"inset"]){ 51 | UIEdgeInsets _insets = %orig; 52 | _insets.bottom = 21; 53 | return _insets; 54 | }else{ 55 | return %orig; 56 | } 57 | } 58 | - (UIEdgeInsets)safeAreaInsetsPortraitUpsideDown { 59 | if([prefs boolForKey:@"inset"]){ 60 | UIEdgeInsets _insets = %orig; 61 | _insets.bottom = 21; 62 | return _insets; 63 | }else{ 64 | return %orig; 65 | } 66 | } 67 | 68 | %end 69 | 70 | %ctor { 71 | //NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier; 72 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 73 | NSFileManager *fileManager = [NSFileManager defaultManager]; 74 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]){ 75 | %init(); 76 | } 77 | } 78 | } -------------------------------------------------------------------------------- /preferences/Resources/miscellaneous.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSGroupCell 11 | footerText 12 | MidnightChips, VitaTaf, PINPAL © 2018 13 | footerAlignment 14 | 1 15 | 16 | 17 | 18 | cell 19 | PSTableCell 20 | cellClass 21 | CSPImageCell 22 | height 23 | 80 24 | static 25 | 26 | key 27 | selectPhotos 28 | storePath 29 | /Library/PreferenceBundles/HomeGesture.bundle/banners/round_screenshot.png 30 | defaults 31 | com.vitataf.homegesture 32 | defaultsPath 33 | /Library/PreferenceBundles/HomeGesture.bundle 34 | 35 | 36 | 37 | cell 38 | PSSwitchCell 39 | label 40 | Round_Screenshot_Preview 41 | sublabel 42 | Does_itself 43 | key 44 | roundScreenshot 45 | PostNotification 46 | com.vitataf.homegesture.prefschanged 47 | defaults 48 | com.vitataf.homegesture 49 | defaultsPath 50 | /Library/PreferenceBundles/HomeGesture.bundle 51 | 52 | 53 | 54 | cell 55 | PSSwitchCell 56 | label 57 | iPhone_X_KEYBOARD 58 | sublabel 59 | iPhone_X_STYLE 60 | key 61 | ipxKeyboard 62 | PostNotification 63 | com.vitataf.homegesture.prefschanged 64 | defaults 65 | com.vitataf.homegesture 66 | defaultsPath 67 | /Library/PreferenceBundles/HomeGesture.bundle 68 | 69 | 70 | 71 | 72 | 73 | title 74 | Miscellaneous 75 | 76 | 77 | -------------------------------------------------------------------------------- /preferences/Resources/appSwitcher.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSGroupCell 11 | 12 | 13 | 14 | cell 15 | PSSwitchCell 16 | label 17 | Swipe_Up_Close 18 | sublabel 19 | Swipe_them 20 | key 21 | enableKill 22 | PostNotification 23 | com.vitataf.homegesture.prefschanged 24 | defaults 25 | com.vitataf.homegesture 26 | defaultsPath 27 | /Library/PreferenceBundles/HomeGesture.bundle 28 | 29 | 30 | 31 | cell 32 | PSGroupCell 33 | footerText 34 | MidnightChips, VitaTaf, PINPAL © 2018 35 | footerAlignment 36 | 1 37 | 38 | 39 | 40 | cell 41 | PSSwitchCell 42 | label 43 | Round_Card_Corners 44 | sublabel 45 | Also_dock 46 | key 47 | roundSwitcher 48 | PostNotification 49 | com.vitataf.homegesture.prefschanged 50 | defaults 51 | com.vitataf.homegesture 52 | defaultsPath 53 | /Library/PreferenceBundles/HomeGesture.bundle 54 | 55 | 56 | 57 | cell 58 | PSSliderCell 59 | isContinuous 60 | 61 | key 62 | switcherRoundness 63 | leftImage 64 | 65 | max 66 | 60 67 | min 68 | 0 69 | rightImage 70 | 71 | showValue 72 | 73 | PostNotification 74 | com.vitataf.homegesture.prefschanged 75 | defaults 76 | com.vitataf.homegesture 77 | defaultsPath 78 | /Library/PreferenceBundles/HomeGesture.bundle 79 | 80 | 81 | 82 | title 83 | App_Switcher 84 | 85 | 86 | -------------------------------------------------------------------------------- /preferences/Resources/blackList.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | cell 9 | PSSwitchCell 10 | label 11 | Disable_Gestures_Keyboard 12 | sublabel 13 | Disables_present. 14 | key 15 | stopKeyboard 16 | PostNotification 17 | com.vitataf.homegesture.prefschanged 18 | defaults 19 | com.vitataf.homegesture 20 | defaultsPath 21 | /Library/PreferenceBundles/HomeGesture.bundle 22 | 23 | 24 | 25 | cell 26 | PSGroupCell 27 | footerText 28 | MidnightChips, VitaTaf, PINPAL © 2018 29 | footerAlignment 30 | 1 31 | 32 | 33 | 34 | cell 35 | PSSwitchCell 36 | label 37 | Enable_App_Blacklist 38 | key 39 | enableBlacklist 40 | PostNotification 41 | com.vitataf.homegesture.prefschanged 42 | defaults 43 | com.vitataf.homegesture 44 | defaultsPath 45 | /Library/PreferenceBundles/HomeGesture.bundle 46 | 47 | 48 | 49 | cell 50 | PSButtonCell 51 | label 52 | Select_Blacklisted_Apps 53 | sublabel 54 | Disables_mode 55 | action 56 | selectExcludeApps 57 | 58 | 59 | cell 60 | PSButtonCell 61 | label 62 | Select_Apps_Fully_Disabled 63 | action 64 | selectBlackList 65 | sublabel 66 | Disables_app 67 | 68 | 69 | 70 | cell 71 | PSButtonCell 72 | label 73 | PIP_APPS 74 | action 75 | pipBlack 76 | sublabel 77 | Disables_PIP_app 78 | 79 | 80 | 81 | title 82 | Blacklisting 83 | 84 | 85 | -------------------------------------------------------------------------------- /source/HGControlCenter.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | 3 | %hook CCUIHeaderPocketView 4 | -(void)layoutSubviews{ 5 | %orig; 6 | CGRect _frame = self.frame; 7 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 8 | _frame.origin.y = -10; 9 | }else{ 10 | _frame.origin.y = -24; 11 | } 12 | self.frame = _frame; 13 | if ([self valueForKey:@"_headerBackgroundView"]) { 14 | UIView *backgroundView = (UIView *)[self valueForKey:@"_headerBackgroundView"]; 15 | backgroundView.hidden = YES; 16 | } 17 | if ([self valueForKey:@"_headerLineView"]) { 18 | UIView *lineView = (UIView *)[self valueForKey:@"_headerLineView"]; 19 | lineView.hidden = YES; 20 | } 21 | } 22 | %end 23 | 24 | //Hide Status Bar in Control Center 25 | %hook CCUIOverlayStatusBarPresentationProvider 26 | - (void)_addHeaderContentTransformAnimationToBatch:(id)arg1 transitionState:(id)arg2 { 27 | if ([prefs boolForKey:@"statusBarCC"]){ 28 | return %orig; 29 | } 30 | else { 31 | return; 32 | } 33 | } 34 | %end 35 | 36 | %group FUGap 37 | //Start FUGap 38 | %hook CCUIHeaderPocketView 39 | 40 | -(CGRect)contentBounds{ 41 | if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){ 42 | return CGRectMake (0,0,SCREEN_WIDTH,30); 43 | } 44 | else{ 45 | return CGRectMake (0,0,SCREEN_WIDTH,65); 46 | } 47 | } 48 | //Make Frame Match our Inset 49 | -(CGRect)frame { 50 | return CGRectMake (0,0,SCREEN_WIDTH,[prefs floatForKey:@"vertical"]); 51 | } 52 | //Hide Header Blur 53 | -(void)setBackgroundAlpha:(double)arg1{ 54 | arg1 = 0.0; 55 | %orig; 56 | } 57 | //Nedded to Make Buttons Work 58 | -(BOOL)isUserInteractionEnabled { 59 | return NO; 60 | } 61 | %end 62 | 63 | %hook CCUIScrollView 64 | -(void)setContentInset:(UIEdgeInsets)arg1 { 65 | if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){ 66 | arg1 = UIEdgeInsetsMake([prefs floatForKey:@"verticalLandscape"],0,0,0); 67 | %orig; 68 | } 69 | else if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation)) { 70 | arg1 = UIEdgeInsetsMake([prefs floatForKey:@"vertical"],0,0,0); 71 | %orig; 72 | } 73 | } 74 | %end 75 | %end 76 | 77 | %ctor{ 78 | //NSString *bundleID = [NSBundle mainBundle].bundleIdentifier; 79 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 80 | NSFileManager *fileManager = [NSFileManager defaultManager]; 81 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]) { 82 | %init(); 83 | if([prefs boolForKey:@"enableFUGAP"]){ 84 | %init(FUGap); 85 | } 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /source/HGMisc.xm: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | //Grid Switcher 4 | /* 5 | %hook SBGridSwitcherPersonality 6 | -(BOOL)shouldShowControlCenter { 7 | return NO; 8 | } 9 | %end 10 | */ 11 | 12 | /*+ (BOOL)forceSplit { 13 | if([prefs boolForKey:@"statusBarX"]){ 14 | return [prefs boolForKey:@"statusBarX"]; 15 | }else{ 16 | return %orig; 17 | } 18 | }*/ 19 | /*+ (CGFloat)heightForOrientation:(NSInteger)orientation { 20 | //if (isActualIPhoneX) return %orig; 21 | if ([prefs boolForKey:@"statusBarX"]) { 22 | return [NSClassFromString(@"_UIStatusBarVisualProvider_Split58") intrinsicContentSizeForOrientation:orientation].height; 23 | } 24 | return [NSClassFromString(@"_UIStatusBarVisualProvider_iOS") intrinsicContentSizeForOrientation:orientation].height; 25 | }*/ 26 | //%end 27 | /*%hook _UIStatusBarVisualProvider_Split58 28 | +(double)referenceWidth{ 29 | return [UIScreen mainScreen].bounds.size.width; 30 | } 31 | %end */ 32 | 33 | //Round Screenshot Preview 34 | %hook UITraitCollection 35 | + (id)traitCollectionWithDisplayCornerRadius:(CGFloat)arg1 { 36 | if([prefs boolForKey:@"roundScreenshot"]){ 37 | return %orig(19); 38 | }else{ 39 | return %orig; 40 | } 41 | } 42 | 43 | //Round App Switcher (Bug: Enables Rounded Dock) 44 | - (CGFloat)displayCornerRadius { 45 | if([prefs boolForKey:@"roundSwitcher"]){ 46 | return [prefs floatForKey:@"switcherRoundness"]; 47 | }else{ 48 | return %orig; 49 | } 50 | } 51 | %end 52 | 53 | // Workaround for crash when launching app and invoking control center simultaneously 54 | %hook SBSceneHandle 55 | - (id)scene { 56 | @try { 57 | return %orig; 58 | } 59 | @catch (NSException *e) { 60 | return nil; 61 | } 62 | } 63 | %end 64 | 65 | 66 | //Fix Status Bar in Third Party Apps 67 | /* 68 | //Fix the flickering at top and bottom 69 | static BOOL (*old__IS_D2x)(); 70 | BOOL _IS_D2x(){ 71 | return YES; 72 | } 73 | 74 | //Move the UI up/down respectively 75 | static BOOL (*old___UIScreenHasDevicePeripheryInsets)(); 76 | BOOL __UIScreenHasDevicePeripheryInsets() { 77 | return YES; 78 | } 79 | 80 | static void FixTheMotherFuckingStatusBar(){ 81 | if ([prefs boolForKey:@"statusBarX"]) { 82 | MSHookFunction(((void*)MSFindSymbol(NULL, "_IS_D2x")),(void*)_IS_D2x, (void**)&old__IS_D2x); 83 | MSHookFunction(((void*)MSFindSymbol(NULL, "__UIScreenHasDevicePeripheryInsets")),(void*)__UIScreenHasDevicePeripheryInsets, (void**)&old___UIScreenHasDevicePeripheryInsets); 84 | } 85 | } 86 | */ 87 | 88 | 89 | 90 | %ctor { 91 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 92 | NSFileManager *fileManager = [NSFileManager defaultManager]; 93 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]){ 94 | %init(); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /preferences/Resources/homeBar.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSTableCell 11 | cellClass 12 | CSPImageCell 13 | height 14 | 50 15 | static 16 | 17 | key 18 | selectPhotos 19 | storePath 20 | /Library/PreferenceBundles/HomeGesture.bundle/banners/homebar.png 21 | defaults 22 | com.vitataf.homegesture 23 | defaultsPath 24 | /Library/PreferenceBundles/HomeGesture.bundle 25 | 26 | 27 | 28 | cell 29 | PSSwitchCell 30 | label 31 | Home_Bar_(HomeScreen) 32 | key 33 | hideBar 34 | PostNotification 35 | com.vitataf.homegesture.prefschanged 36 | defaults 37 | com.vitataf.homegesture 38 | defaultsPath 39 | /Library/PreferenceBundles/HomeGesture.bundle 40 | 41 | 42 | 43 | cell 44 | PSSwitchCell 45 | label 46 | Home_Bar_(LockScreen) 47 | key 48 | hideBarCover 49 | PostNotification 50 | com.vitataf.homegesture.prefschanged 51 | defaults 52 | com.vitataf.homegesture 53 | defaultsPath 54 | /Library/PreferenceBundles/HomeGesture.bundle 55 | 56 | 57 | cell 58 | PSSwitchCell 59 | label 60 | iPhone_X_INSET 61 | sublabel 62 | iPhone_X_STYLEIN 63 | key 64 | inset 65 | PostNotification 66 | com.vitataf.homegesture.prefschanged 67 | defaults 68 | com.vitataf.homegesture 69 | defaultsPath 70 | /Library/PreferenceBundles/HomeGesture.bundle 71 | 72 | 73 | 74 | cell 75 | PSGroupCell 76 | footerText 77 | MidnightChips, VitaTaf, PINPAL © 2018 78 | footerAlignment 79 | 1 80 | 81 | 82 | 83 | cell 84 | PSSwitchCell 85 | label 86 | Custom_Homebar_Color 87 | sublabel 88 | Only_LockScreen 89 | key 90 | enablePillColor 91 | PostNotification 92 | com.vitataf.homegesture.prefschanged 93 | defaults 94 | com.vitataf.homegesture 95 | defaultsPath 96 | /Library/PreferenceBundles/HomeGesture.bundle 97 | 98 | 99 | 100 | 101 | 102 | PostNotification 103 | com.vitataf.homegesture.prefschanged 104 | cell 105 | PSLinkCell 106 | cellClass 107 | CSColorDisplayCell 108 | defaults 109 | com.vitataf.homegesture 110 | key 111 | customColor 112 | label 113 | Select_HomeBar_Color 114 | fallback 115 | FF0000 116 | alpha 117 | 118 | defaultsPath 119 | /Library/PreferenceBundles/HomeGesture.bundle 120 | 121 | 122 | 123 | title 124 | Home_Bar 125 | 126 | 127 | -------------------------------------------------------------------------------- /source/HGStatusBar.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | 3 | // Hide Carrier Text in Status Bar 4 | %hook UIStatusBarServiceItemView 5 | - (id)_serviceContentsImage { 6 | if ([prefs boolForKey: @"hidecarrier"]){ 7 | return nil; 8 | }else{ 9 | return %orig; 10 | } 11 | } 12 | - (CGFloat)extraRightPadding { 13 | if ([prefs boolForKey: @"hidecarrier"]){ 14 | return 0.0f; 15 | }else{ 16 | return %orig; 17 | } 18 | } 19 | - (CGFloat)standardPadding { 20 | if ([prefs boolForKey: @"hidecarrier"]){ 21 | return 2.0f; 22 | }else{ 23 | return %orig; 24 | } 25 | } 26 | %end 27 | 28 | %hook _UIStatusBarData 29 | - (void)setBackNavigationEntry:(id)arg1 { 30 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 31 | return; 32 | }else{ 33 | %orig; 34 | } 35 | } 36 | %end 37 | 38 | // iPhone X Status bar 39 | %hook UIStatusBar_Base 40 | + (BOOL)forceModern { 41 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 42 | return [prefs boolForKey:@"statusBarX"]; 43 | }else{ 44 | return %orig; 45 | } 46 | } 47 | + (Class)_statusBarImplementationClass { 48 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 49 | return NSClassFromString(@"UIStatusBar_Modern"); 50 | }else{ 51 | return %orig; 52 | } 53 | //return NSClassFromString(@"UIStatusBar_Modern"); 54 | } 55 | 56 | 57 | + (Class)_implementationClass { 58 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")) { 59 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 60 | return NSClassFromString(@"UIStatusBar_Modern"); 61 | }else if([prefs boolForKey:@"statusBarPad"]){ 62 | return NSClassFromString(@"UIStatusBar_Modern"); 63 | }else{ 64 | return %orig; 65 | } 66 | }else{ 67 | return %orig; 68 | } 69 | } 70 | + (void)_setImplementationClass:(Class)arg1 { 71 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")) { 72 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 73 | %orig(NSClassFromString(@"UIStatusBar_Modern")); 74 | }else if([prefs boolForKey:@"statusBarPad"]){ 75 | %orig(NSClassFromString(@"UIStatusBar_Modern")); 76 | }else{ 77 | %orig; 78 | } 79 | }else{ 80 | %orig; 81 | } 82 | } 83 | %end 84 | 85 | 86 | 87 | %hook _UIStatusBar 88 | //TODO ONLY FOR SPLIT 58 89 | + (double)heightForOrientation:(long long)arg1 { 90 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED ){ 91 | if (arg1 == 1 || arg1 == 2) { 92 | return %orig - 10; 93 | } else { 94 | return %orig; 95 | } 96 | }else{ 97 | return %orig; 98 | } 99 | 100 | } 101 | %end 102 | 103 | %hook _UIStatusBarVisualProvider_iOS 104 | + (Class)class { 105 | /*NSString *currentApp; 106 | if (![CURRENT_BUNDLE isEqualToString:@"com.apple.springboard"]){ 107 | SpringBoard *springBoard = (SpringBoard *)[UIApplication sharedApplication]; 108 | SBApplication *frontApp = (SBApplication *)[springBoard _accessibilityFrontMostApplication]; 109 | currentApp = [frontApp valueForKey:@"_bundleIdentifier"]; 110 | }else{ 111 | currentApp = CURRENT_BUNDLE; 112 | }*/ 113 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")) { 114 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 115 | return NSClassFromString(@"_UIStatusBarVisualProvider_Split58"); 116 | }else if([prefs boolForKey:@"statusBarPad"]){ 117 | return NSClassFromString(@"_UIStatusBarVisualProvider_Pad_ForcedCellular"); 118 | }else if (@available(iOS 12.1, *)){ 119 | return NSClassFromString(@"_UIStatusBarVisualProvider_RoundedPad_ForcedCellular"); 120 | }else{ 121 | return NSClassFromString(@"_UIStatusBarVisualProvider_Pad_ForcedCellular");//%orig; 122 | } 123 | // 124 | }else{ 125 | return %orig; 126 | } 127 | } 128 | %end 129 | // Thanks duraid 130 | 131 | %hook UIStatusBarWindow 132 | + (void)setStatusBar:(Class)arg1 { 133 | if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")) { 134 | if([prefs boolForKey:@"statusBarX"] && !IS_BLOCKED){ 135 | %orig(NSClassFromString(@"UIStatusBar_Modern")); 136 | }else if([prefs boolForKey:@"statusBarPad"]){ 137 | %orig(NSClassFromString(@"UIStatusBar_Modern")); 138 | }else{ 139 | %orig; 140 | } 141 | }else{ 142 | %orig; 143 | } 144 | } 145 | %end 146 | 147 | %ctor { 148 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 149 | NSFileManager *fileManager = [NSFileManager defaultManager]; 150 | if ([fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]){ 151 | %init(); 152 | } 153 | } 154 | } 155 | -------------------------------------------------------------------------------- /source/HomeGesture.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import 4 | 5 | #include 6 | 7 | #import 8 | #import 9 | #import 10 | #import 11 | #import 12 | #import 13 | #import 14 | #import 15 | 16 | #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) 17 | #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) 18 | #define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT)) 19 | #define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT)) 20 | #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) 21 | #define CURRENT_BUNDLE [NSBundle mainBundle].bundleIdentifier 22 | #define IS_BLOCKED [SparkAppList doesIdentifier:@"com.midnight.homegesture.plist" andKey:@"statusBlack" containBundleIdentifier:CURRENT_BUNDLE] 23 | 24 | //Quick Setup 25 | @interface SBDashBoardViewController : UIViewController 26 | @property (retain, nonatomic) UIView *welcomeView; 27 | @property (retain, nonatomic) UIView *swipeExplainView; 28 | @property (retain, nonatomic) UIView *thirdView; 29 | @property (retain, nonatomic) UIButton *but; 30 | @property (retain, nonatomic) UIView *swipeUpView; 31 | @property (retain, nonatomic) UIView *videoView; 32 | @property (retain, nonatomic) UIView *doingAlot; 33 | @property (retain, nonatomic) UIView *controlCenterView; 34 | @property (retain, nonatomic) UIView *statusBarView; 35 | @property (retain, nonatomic) UIView *killStyleView; 36 | @property (retain, nonatomic) UIView *oneHandSSView; 37 | @property (retain, nonatomic) UIView *classicSiriView; 38 | @property (retain, nonatomic) UIView *homeBarView; 39 | @property (retain, nonatomic) UIView *exitView; 40 | @property (retain, nonatomic) UIView *hideView; 41 | @end 42 | 43 | @interface SBDashBoardViewController (HomeGesture) 44 | -(void)buttonAction; 45 | -(void)closeWithEase; 46 | -(void)oneHandSS; 47 | -(void)classicSiri; 48 | -(void)homeBar; 49 | -(void)exitSetup; 50 | -(void)graduallyAdjustBrightnessToValue:(CGFloat)endValue; 51 | - (void)startRespring; 52 | @end 53 | 54 | //Fancy Button 55 | @interface fancyButton : UIButton 56 | @property (nonatomic, assign) CGFloat highlightAlpha; 57 | @end 58 | 59 | 60 | @interface MTLumaDodgePillView : UIView 61 | @end 62 | 63 | @interface MTStaticColorPillView : UIView 64 | @end 65 | 66 | @interface SBDashboardHomeAffordanceView : UIView 67 | @end 68 | 69 | @interface SBDashBoardPageControl : UIView 70 | @end 71 | 72 | @interface CCUIHeaderPocketView : UIView 73 | @end 74 | 75 | @interface CCUIStatusLabelViewController : UIViewController 76 | -(void)setEdgeInsets:(UIEdgeInsets)arg1 ; 77 | @end 78 | 79 | @interface CCUIScrollView : UIScrollView 80 | @end 81 | 82 | @interface _UIStatusBarVisualProvider_iOS : NSObject 83 | + (CGSize)intrinsicContentSizeForOrientation:(NSInteger)orientation; 84 | @end 85 | 86 | 87 | @interface _UIStatusBarVisualProvider_Phone : _UIStatusBarVisualProvider_iOS 88 | @end 89 | 90 | @interface _UIStatusBarVisualProvider_Split : _UIStatusBarVisualProvider_Phone 91 | @end 92 | 93 | @interface _UIStatusBarVisualProvider_Split58 : _UIStatusBarVisualProvider_Split 94 | +(double)referenceWidth; 95 | @end 96 | 97 | @interface _UIStatusBar 98 | + (void)setVisualProviderClass:(Class)classOb; 99 | @end 100 | 101 | @interface UIView (SpringBoardAdditions) 102 | - (void)sb_removeAllSubviews; 103 | @end 104 | 105 | @interface SBDashBoardQuickActionsView : UIView 106 | @end 107 | 108 | @interface UIKeyboardDockView : UIView 109 | @end 110 | 111 | @interface MediaControlsRoutingButtonView : UIView 112 | - (long long)currentMode; 113 | @end 114 | 115 | @interface SBIconView : UIView 116 | - (void)setHighlighted:(bool)arg1; 117 | @property(nonatomic, getter=isHighlighted) _Bool highlighted; 118 | @end 119 | 120 | @interface SBAppSwitcherPageView : UIView 121 | @property(nonatomic, assign) double cornerRadius; 122 | @end 123 | 124 | @interface CALayer (CornerAddition) 125 | -(bool)continuousCorners; 126 | @property (assign) bool continuousCorners; 127 | -(void)setContinuousCorners:(bool)arg1; 128 | @end 129 | 130 | @interface PTSettings : NSObject 131 | @end 132 | 133 | @interface _UISettings : PTSettings 134 | @end 135 | 136 | @interface SBUISettings : _UISettings 137 | @end 138 | 139 | @interface SBHomeGestureSettings : SBUISettings 140 | + (SBHomeGestureSettings *)sharedInstance; 141 | @end 142 | 143 | -------------------------------------------------------------------------------- /preferences/Resources/lockScreen.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSTableCell 11 | cellClass 12 | CSPImageCell 13 | height 14 | 50 15 | static 16 | 17 | key 18 | selectPhotos 19 | storePath 20 | /Library/PreferenceBundles/HomeGesture.bundle/banners/torch_camera.png 21 | defaults 22 | com.vitataf.homegesture 23 | defaultsPath 24 | /Library/PreferenceBundles/HomeGesture.bundle 25 | 26 | 27 | 28 | cell 29 | PSSwitchCell 30 | label 31 | Hide_Torch 32 | key 33 | hideTorch 34 | PostNotification 35 | com.vitataf.homegesture.prefschanged 36 | defaults 37 | com.vitataf.homegesture 38 | defaultsPath 39 | /Library/PreferenceBundles/HomeGesture.bundle 40 | 41 | 42 | 43 | cell 44 | PSSwitchCell 45 | label 46 | Hide_Camera 47 | key 48 | hideCamera 49 | PostNotification 50 | com.vitataf.homegesture.prefschanged 51 | defaults 52 | com.vitataf.homegesture 53 | defaultsPath 54 | /Library/PreferenceBundles/HomeGesture.bundle 55 | 56 | 57 | 58 | cell 59 | PSGroupCell 60 | 61 | 62 | 63 | cell 64 | PSTableCell 65 | cellClass 66 | CSPImageCell 67 | height 68 | 50 69 | static 70 | 71 | key 72 | selectPhotos 73 | storePath 74 | /Library/PreferenceBundles/HomeGesture.bundle/banners/ls_dots.png 75 | defaults 76 | com.vitataf.homegesture 77 | defaultsPath 78 | /Library/PreferenceBundles/HomeGesture.bundle 79 | 80 | 81 | 82 | cell 83 | PSSwitchCell 84 | label 85 | Hide_Page_Dots 86 | sublabel 87 | Hide_dots_LockScreen 88 | key 89 | dots 90 | PostNotification 91 | com.vitataf.homegesture.prefschanged 92 | defaults 93 | com.vitataf.homegesture 94 | defaultsPath 95 | /Library/PreferenceBundles/HomeGesture.bundle 96 | 97 | 98 | 99 | cell 100 | PSTableCell 101 | cellClass 102 | CSPImageCell 103 | height 104 | 50 105 | static 106 | 107 | key 108 | selectPhotos 109 | storePath 110 | /Library/PreferenceBundles/HomeGesture.bundle/banners/swipe_up.png 111 | defaults 112 | com.vitataf.homegesture 113 | defaultsPath 114 | /Library/PreferenceBundles/HomeGesture.bundle 115 | 116 | 117 | 118 | cell 119 | PSSwitchCell 120 | label 121 | Hide_swipe 122 | sublabel 123 | Hide_text_LockScreen 124 | key 125 | unlockHint 126 | PostNotification 127 | com.vitataf.homegesture.prefschanged 128 | defaults 129 | com.vitataf.homegesture 130 | defaultsPath 131 | /Library/PreferenceBundles/HomeGesture.bundle 132 | 133 | 134 | 135 | cell 136 | PSGroupCell 137 | footerText 138 | MidnightChips, VitaTaf, PINPAL © 2018 139 | footerAlignment 140 | 1 141 | 142 | 143 | 144 | cell 145 | PSTableCell 146 | cellClass 147 | CSPImageCell 148 | height 149 | 78 150 | static 151 | 152 | key 153 | selectPhotos 154 | storePath 155 | /Library/PreferenceBundles/HomeGesture.bundle/banners/cc_hint.png 156 | defaults 157 | com.vitataf.homegesture 158 | defaultsPath 159 | /Library/PreferenceBundles/HomeGesture.bundle 160 | 161 | 162 | 163 | cell 164 | PSSwitchCell 165 | label 166 | Hide_Hint 167 | sublabel 168 | Hide_small_LockScreen 169 | key 170 | notificationHint 171 | PostNotification 172 | com.vitataf.homegesture.prefschanged 173 | defaults 174 | com.vitataf.homegesture 175 | defaultsPath 176 | /Library/PreferenceBundles/HomeGesture.bundle 177 | 178 | 179 | 180 | title 181 | Lock_Screen 182 | 183 | 184 | -------------------------------------------------------------------------------- /preferences/Resources/controlCentre.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSGroupCell 11 | 12 | 13 | 14 | cell 15 | PSTableCell 16 | cellClass 17 | CSPImageCell 18 | height 19 | 130 20 | static 21 | 22 | key 23 | selectPhotos 24 | storePath 25 | /Library/PreferenceBundles/HomeGesture.bundle/banners/cc_status.png 26 | defaults 27 | com.vitataf.homegesture 28 | defaultsPath 29 | /Library/PreferenceBundles/HomeGesture.bundle 30 | 31 | 32 | 33 | cell 34 | PSSwitchCell 35 | label 36 | Status_Bar 37 | sublabel 38 | Show_Centre 39 | key 40 | statusBarCC 41 | PostNotification 42 | com.vitataf.homegesture.prefschanged 43 | defaults 44 | com.vitataf.homegesture 45 | defaultsPath 46 | /Library/PreferenceBundles/HomeGesture.bundle 47 | 48 | 49 | 50 | cell 51 | PSGroupCell 52 | 53 | 54 | 55 | cell 56 | PSSwitchCell 57 | label 58 | Enable_Padding 59 | sublabel 60 | Padding_Info 61 | key 62 | enableFUGAP 63 | PostNotification 64 | com.vitataf.homegesture.prefschanged 65 | defaults 66 | com.vitataf.homegesture 67 | defaultsPath 68 | /Library/PreferenceBundles/HomeGesture.bundle 69 | 70 | 71 | 72 | cell 73 | PSTableCell 74 | cellClass 75 | CSPImageCell 76 | height 77 | 180 78 | static 79 | 80 | key 81 | selectPhotos 82 | storePath 83 | /Library/PreferenceBundles/HomeGesture.bundle/banners/cc_vert.png 84 | defaults 85 | com.vitataf.homegesture 86 | defaultsPath 87 | /Library/PreferenceBundles/HomeGesture.bundle 88 | 89 | 90 | 91 | cell 92 | PSStaticTextCell 93 | pushToPlist 94 | 95 | label 96 | Top_Padding 97 | sublabel 98 | Change_Centre 99 | icon 100 | icons/vertical 101 | 102 | 103 | 104 | cell 105 | PSSliderCell 106 | isContinuous 107 | 108 | key 109 | vertical 110 | leftImage 111 | 112 | max 113 | 100 114 | min 115 | 0 116 | rightImage 117 | 118 | showValue 119 | 120 | PostNotification 121 | com.vitataf.homegesture.prefschanged 122 | defaults 123 | com.vitataf.homegesture 124 | defaultsPath 125 | /Library/PreferenceBundles/HomeGesture.bundle 126 | 127 | 128 | 129 | cell 130 | PSGroupCell 131 | 132 | 133 | 134 | cell 135 | PSTableCell 136 | cellClass 137 | CSPImageCell 138 | height 139 | 185 140 | static 141 | 142 | key 143 | selectPhotos 144 | storePath 145 | /Library/PreferenceBundles/HomeGesture.bundle/banners/cc_landscape.png 146 | defaults 147 | com.vitataf.homegesture 148 | defaultsPath 149 | /Library/PreferenceBundles/HomeGesture.bundle 150 | 151 | 152 | 153 | 154 | 155 | cell 156 | PSStaticTextCell 157 | pushToPlist 158 | 159 | label 160 | Top_Padding_(Landscape) 161 | sublabel 162 | Change_CC 163 | icon 164 | icons/horizontal 165 | 166 | 167 | 168 | cell 169 | PSSliderCell 170 | isContinuous 171 | 172 | key 173 | verticalLandscape 174 | leftImage 175 | 176 | max 177 | 100 178 | min 179 | 0 180 | rightImage 181 | 182 | showValue 183 | 184 | PostNotification 185 | com.vitataf.homegesture.prefschanged 186 | defaults 187 | com.vitataf.homegesture 188 | defaultsPath 189 | /Library/PreferenceBundles/HomeGesture.bundle 190 | 191 | 192 | 193 | cell 194 | PSGroupCell 195 | footerText 196 | MidnightChips, VitaTaf, PINPAL © 2018 197 | footerAlignment 198 | 1 199 | 200 | 201 | 202 | title 203 | Control_Centre 204 | 205 | 206 | -------------------------------------------------------------------------------- /preferences/Resources/statusBar.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSTableCell 11 | cellClass 12 | CSPImageCell 13 | height 14 | 70 15 | static 16 | 17 | key 18 | selectPhotos 19 | storePath 20 | /Library/PreferenceBundles/HomeGesture.bundle/banners/x_bar.png 21 | defaults 22 | com.vitataf.homegesture 23 | defaultsPath 24 | /Library/PreferenceBundles/HomeGesture.bundle 25 | 26 | 27 | 28 | cell 29 | PSSwitchCell 30 | label 31 | iPhone_X_Style 32 | sublabel 33 | Add_additional_space 34 | key 35 | statusBarX 36 | PostNotification 37 | com.vitataf.homegesture.prefschanged 38 | defaults 39 | com.vitataf.homegesture 40 | defaultsPath 41 | /Library/PreferenceBundles/HomeGesture.bundle 42 | 43 | 44 | 45 | cell 46 | PSButtonCell 47 | label 48 | Disable_IPX_IN_APPS 49 | sublabel 50 | Turn_ON_iPad_FallBack 51 | action 52 | selectStatusBlacklist 53 | 54 | 55 | 56 | cell 57 | PSSwitchCell 58 | label 59 | iPad_STYLE 60 | sublabel 61 | Mimic_iPad 62 | key 63 | statusBarPad 64 | PostNotification 65 | com.vitataf.homegesture.prefschanged 66 | defaults 67 | com.vitataf.homegesture 68 | defaultsPath 69 | /Library/PreferenceBundles/HomeGesture.bundle 70 | 71 | 72 | 73 | cell 74 | PSGroupCell 75 | 76 | 77 | 78 | cell 79 | PSTableCell 80 | cellClass 81 | CSPImageCell 82 | height 83 | 70 84 | static 85 | 86 | key 87 | selectPhotos 88 | storePath 89 | /Library/PreferenceBundles/HomeGesture.bundle/banners/carrier.png 90 | defaults 91 | com.vitataf.homegesture 92 | defaultsPath 93 | /Library/PreferenceBundles/HomeGesture.bundle 94 | 95 | 96 | 97 | cell 98 | PSSwitchCell 99 | label 100 | Hide_Carrier 101 | sublabel 102 | Hide_carrier_Status 103 | key 104 | hidecarrier 105 | PostNotification 106 | com.vitataf.homegesture.prefschanged 107 | defaults 108 | com.vitataf.homegesture 109 | defaultsPath 110 | /Library/PreferenceBundles/HomeGesture.bundle 111 | 112 | 113 | 114 | cell 115 | PSTableCell 116 | cellClass 117 | CSPImageCell 118 | height 119 | 70 120 | static 121 | 122 | key 123 | selectPhotos 124 | storePath 125 | /Library/PreferenceBundles/HomeGesture.bundle/banners/breadcrumb.png 126 | defaults 127 | com.vitataf.homegesture 128 | defaultsPath 129 | /Library/PreferenceBundles/HomeGesture.bundle 130 | 131 | 132 | 133 | cell 134 | PSSwitchCell 135 | label 136 | Disable_BreadCrumbs 137 | sublabel 138 | Hide_back_app 139 | key 140 | enableBread 141 | PostNotification 142 | com.vitataf.homegesture.prefschanged 143 | defaults 144 | com.vitataf.homegesture 145 | defaultsPath 146 | /Library/PreferenceBundles/HomeGesture.bundle 147 | 148 | 149 | 150 | cell 151 | PSGroupCell 152 | footerText 153 | MidnightChips, VitaTaf, PINPAL © 2018 154 | footerAlignment 155 | 1 156 | 157 | 158 | 159 | cell 160 | PSTableCell 161 | cellClass 162 | CSPImageCell 163 | height 164 | 130 165 | static 166 | 167 | key 168 | selectPhotos 169 | storePath 170 | /Library/PreferenceBundles/HomeGesture.bundle/banners/cc_status.png 171 | defaults 172 | com.vitataf.homegesture 173 | defaultsPath 174 | /Library/PreferenceBundles/HomeGesture.bundle 175 | 176 | 177 | 178 | cell 179 | PSSwitchCell 180 | label 181 | Status_Bar 182 | sublabel 183 | Show_Centre 184 | key 185 | statusBarCC 186 | PostNotification 187 | com.vitataf.homegesture.prefschanged 188 | defaults 189 | com.vitataf.homegesture 190 | defaultsPath 191 | /Library/PreferenceBundles/HomeGesture.bundle 192 | 193 | 194 | 195 | title 196 | Status_Bar 197 | 198 | 199 | -------------------------------------------------------------------------------- /preferences/HGPPreferenceController.m: -------------------------------------------------------------------------------- 1 | #include "HGPPreferenceController.h" 2 | #import 3 | #import 4 | #import 5 | 6 | @interface UIApplication (existing) 7 | - (void)suspend; 8 | - (void)terminateWithSuccess; 9 | @end 10 | @interface UIApplication (close) 11 | - (void)close; 12 | @end 13 | @implementation UIApplication (close) 14 | - (void)close{ 15 | // Check if the current device supports background execution. 16 | BOOL multitaskingSupported = NO; 17 | // iOS < 4.0 compatibility check. 18 | if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]) 19 | multitaskingSupported = [UIDevice currentDevice].multitaskingSupported; 20 | // Good practice, we're using a private method. 21 | if ([self respondsToSelector:@selector(suspend)]) 22 | { 23 | if (multitaskingSupported) 24 | { 25 | [self beginBackgroundTaskWithExpirationHandler:^{}]; 26 | // Change the delay to your liking. I think 0.4 seconds feels just right (the "close" animation lasts 0.3 seconds). 27 | [self performSelector:@selector(exit) withObject:nil afterDelay:0.4]; 28 | } 29 | [self suspend]; 30 | } 31 | else 32 | [self exit]; 33 | } 34 | 35 | - (void)exit 36 | { 37 | // Again, good practice. 38 | if ([self respondsToSelector:@selector(terminateWithSuccess)]) 39 | [self terminateWithSuccess]; 40 | else 41 | exit(EXIT_SUCCESS); 42 | } 43 | 44 | @end 45 | 46 | @implementation CSPListController (BetterSettings) 47 | -(void)selectExcludeApps{ 48 | SparkAppListTableViewController* s = [[SparkAppListTableViewController alloc] initWithIdentifier:@"com.midnight.homegesture.plist" andKey:@"excludedApps"]; 49 | [self.navigationController pushViewController:s animated:YES]; 50 | self.navigationItem.hidesBackButton = FALSE; 51 | } 52 | -(void)selectBlackList{ 53 | SparkAppListTableViewController* s = [[SparkAppListTableViewController alloc] initWithIdentifier:@"com.midnight.homegesture.plist" andKey:@"blackList"]; 54 | [self.navigationController pushViewController:s animated:YES]; 55 | self.navigationItem.hidesBackButton = FALSE; 56 | } 57 | -(void)selectStatusBlacklist{ 58 | SparkAppListTableViewController* s = [[SparkAppListTableViewController alloc] initWithIdentifier:@"com.midnight.homegesture.plist" andKey:@"statusBlack"]; 59 | [self.navigationController pushViewController:s animated:YES]; 60 | self.navigationItem.hidesBackButton = FALSE; 61 | } 62 | @end 63 | 64 | @implementation HGPPreferenceController 65 | - (void)viewWillAppear:(BOOL)animated { 66 | [super viewWillAppear:animated]; 67 | UIBarButtonItem *applyButton = [[UIBarButtonItem alloc] initWithTitle:@"Apply" style:UIBarButtonItemStylePlain target:self action:@selector(applySettings)]; 68 | self.navigationItem.rightBarButtonItem = applyButton; 69 | 70 | 71 | } 72 | 73 | //Make The Respring Pretty 74 | - (void)graduallyAdjustBrightnessToValue:(CGFloat)endValue{ 75 | CGFloat startValue = [[UIScreen mainScreen] brightness]; 76 | 77 | CGFloat fadeInterval = 0.01; 78 | double delayInSeconds = 0.005; 79 | if (endValue < startValue) 80 | fadeInterval = -fadeInterval; 81 | 82 | CGFloat brightness = startValue; 83 | while (fabs(brightness-endValue)>0) { 84 | 85 | brightness += fadeInterval; 86 | 87 | if (fabs(brightness-endValue) < fabs(fadeInterval)) 88 | brightness = endValue; 89 | 90 | dispatch_time_t dispatchTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 91 | dispatch_after(dispatchTime, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 92 | [[UIScreen mainScreen] setBrightness:brightness]; 93 | }); 94 | } 95 | UIView *finalDarkScreen = [[UIView alloc] initWithFrame:[[UIApplication sharedApplication] keyWindow].bounds]; 96 | finalDarkScreen.backgroundColor = [UIColor blackColor]; 97 | finalDarkScreen.alpha = 0.3; 98 | 99 | //add it to the main window, but with no alpha 100 | [[[UIApplication sharedApplication] keyWindow] addSubview:finalDarkScreen]; 101 | 102 | [UIView animateWithDuration:1.0f 103 | delay:0.0f 104 | options:UIViewAnimationOptionCurveEaseOut 105 | animations:^{ 106 | finalDarkScreen.alpha = 1.0f; 107 | } 108 | completion:^(BOOL finished){ 109 | if (finished) { 110 | //DIE 111 | AudioServicesPlaySystemSound(1521); 112 | sleep(1); 113 | pid_t pid; 114 | const char* args[] = {"killall", "-9", "backboardd", NULL}; 115 | posix_spawn(&pid, "/usr/bin/killall", NULL, NULL, (char* const*)args, NULL); 116 | } 117 | }]; 118 | } 119 | 120 | -(void)applySettings { 121 | 122 | UIAlertController* respringAlert = [UIAlertController alertControllerWithTitle:@"Respring Warning" 123 | message:@"Applying settings will respring your device" 124 | preferredStyle:UIAlertControllerStyleAlert]; 125 | UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDestructive 126 | handler:^(UIAlertAction * action) {}]; 127 | UIAlertAction* respringAction = [UIAlertAction actionWithTitle:@"Respring" style:UIAlertActionStyleDefault 128 | handler:^(UIAlertAction * action) { 129 | [self startRespring]; 130 | }]; 131 | 132 | [respringAlert addAction:cancelAction]; 133 | [respringAlert addAction:respringAction]; 134 | [self presentViewController:respringAlert animated:YES completion:nil]; 135 | } 136 | 137 | - (void)startRespring { 138 | //make a visual effect view to fade in for the blur 139 | [self.view endEditing:YES]; //save changes to text fields and dismiss keyboard 140 | 141 | UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; 142 | 143 | UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; 144 | 145 | visualEffectView.frame = [[UIApplication sharedApplication] keyWindow].bounds; 146 | visualEffectView.alpha = 0.0; 147 | 148 | //add it to the main window, but with no alpha 149 | [[[UIApplication sharedApplication] keyWindow] addSubview:visualEffectView]; 150 | 151 | //animate in the alpha 152 | [UIView animateWithDuration:3.5f 153 | delay:0.0f 154 | options:UIViewAnimationOptionCurveEaseOut 155 | animations:^{ 156 | visualEffectView.alpha = 1.0f; 157 | } 158 | completion:^(BOOL finished){ 159 | if (finished) { 160 | NSLog(@"Squiddy says hello"); 161 | NSLog(@"Midnight replys with 'where am I?'"); 162 | //call the animation here for the screen fade and respring 163 | [self graduallyAdjustBrightnessToValue:0.0f]; 164 | } 165 | }]; 166 | 167 | //sleep(15); 168 | 169 | //[[UIScreen mainScreen] setBrightness:0.0f]; //so the screen fades back in when the respringing is done 170 | } 171 | @end 172 | -------------------------------------------------------------------------------- /preferences/Resources/Root.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | 9 | cell 10 | PSTableCell 11 | cellClass 12 | CSPImageCell 13 | height 14 | 160 15 | static 16 | 17 | key 18 | selectPhotos 19 | storePath 20 | /Library/PreferenceBundles/HomeGesture.bundle/banner.png 21 | defaults 22 | com.vitataf.homegesture 23 | defaultsPath 24 | /Library/PreferenceBundles/HomeGesture.bundle 25 | 26 | 27 | 28 | cell 29 | PSGroupCell 30 | 31 | 32 | 33 | action 34 | pushToView: 35 | cell 36 | PSLinkCell 37 | pushToPlist 38 | appSwitcher 39 | label 40 | App_Switcher 41 | icon 42 | icons/appSwitcher 43 | 44 | 45 | 46 | action 47 | pushToView: 48 | cell 49 | PSLinkCell 50 | pushToPlist 51 | blackList 52 | label 53 | Blacklisting 54 | icon 55 | icons/blacklist 56 | 57 | 58 | 59 | 60 | action 61 | pushToView: 62 | cell 63 | PSLinkCell 64 | pushToPlist 65 | controlCentre 66 | label 67 | Control_Center 68 | icon 69 | icons/controlCentre 70 | 71 | 72 | 73 | action 74 | pushToView: 75 | cell 76 | PSLinkCell 77 | pushToPlist 78 | buttonMapping 79 | label 80 | Hardware_Buttons 81 | icon 82 | icons/buttons 83 | 84 | 85 | 86 | action 87 | pushToView: 88 | cell 89 | PSLinkCell 90 | pushToPlist 91 | homeBar 92 | label 93 | Home_Bar 94 | icon 95 | icons/homeBar 96 | 97 | 98 | 99 | action 100 | pushToView: 101 | cell 102 | PSLinkCell 103 | pushToPlist 104 | lockScreen 105 | label 106 | Lock_Screen 107 | icon 108 | icons/lockScreen 109 | 110 | 111 | 112 | action 113 | pushToView: 114 | cell 115 | PSLinkCell 116 | pushToPlist 117 | statusBar 118 | label 119 | Status_Bar 120 | icon 121 | icons/statusBar 122 | 123 | 124 | 125 | action 126 | pushToView: 127 | cell 128 | PSLinkCell 129 | pushToPlist 130 | miscellaneous 131 | label 132 | Miscellaneous 133 | icon 134 | icons/miscellaneous 135 | 136 | 137 | 138 | cell 139 | PSGroupCell 140 | footerText 141 | MidnightChips, VitaTaf, PINPAL © 2018 142 | footerAlignment 143 | 1 144 | 145 | 146 | 147 | action 148 | pushToView: 149 | cell 150 | PSLinkCell 151 | pushToPlist 152 | Support 153 | label 154 | Support 155 | key 156 | support 157 | icon 158 | icons/donate 159 | 160 | 161 | 162 | cell 163 | PSLinkCell 164 | detail 165 | CSPBackupListViewController 166 | isController 167 | 168 | PostNotification 169 | com.vitataf.homegesture.prefschanged 170 | defaultsPath 171 | /Library/PreferenceBundles/HomeGesture.bundle/defaults.plist 172 | label 173 | Backup_Restore 174 | icon 175 | icons/backupRestore 176 | 177 | 178 | 285 | 286 | cell 287 | PSStaticTextCell 288 | cellClass 289 | CSPVersionCell 290 | bundleID 291 | com.vitataf.homegesture 292 | label 293 | Version 294 | icon 295 | icons/currentVersion 296 | 297 | 298 | 299 | title 300 | HomeGesture 301 | 302 | 303 | -------------------------------------------------------------------------------- /preferences/Resources/Support.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | items 7 | 8 | 9 | 10 | cell 11 | PSLinkCell 12 | cellClass 13 | CSPDeveloperCell 14 | action 15 | openInBrowser: 16 | username 17 | MidnightChip 18 | provider 19 | 0 20 | height 21 | 81 22 | devName 23 | MidnightChips 24 | devTitle 25 | MidnightChips 26 | devSubtitle 27 | Developer 28 | 29 | 30 | 31 | cell 32 | PSLinkCell 33 | cellClass 34 | CSPDeveloperCell 35 | action 36 | openInBrowser: 37 | username 38 | PINPAL 39 | provider 40 | 0 41 | height 42 | 81 43 | devName 44 | PINPAL 45 | devTitle 46 | PINPAL 47 | devSubtitle 48 | Developer & Designer 49 | 50 | 51 | 52 | cell 53 | PSLinkCell 54 | cellClass 55 | CSPDeveloperCell 56 | action 57 | openInBrowser: 58 | username 59 | VitaTaf 60 | provider 61 | 0 62 | height 63 | 81 64 | devName 65 | VitaTaf 66 | devTitle 67 | VitaTaf 68 | devSubtitle 69 | Developer 70 | 71 | 72 | 73 | cell 74 | PSLinkCell 75 | cellClass 76 | CSPDeveloperCell 77 | action 78 | openInBrowser: 79 | username 80 | duraidabdul 81 | provider 82 | 0 83 | height 84 | 81 85 | devName 86 | Duraid Abdul 87 | devTitle 88 | duraidabdul 89 | devSubtitle 90 | Developer 91 | 92 | 93 | 94 | cell 95 | PSGroupCell 96 | label 97 | Info 98 | 99 | 100 | 101 | action 102 | openInBrowser: 103 | cell 104 | PSLinkCell 105 | url 106 | https://repo.dynastic.co/package/com.vitataf.homegesture 107 | label 108 | Depiction 109 | sublabel 110 | Learn 111 | 112 | 113 | 114 | cell 115 | PSGroupCell 116 | label 117 | Donations 118 | 119 | 120 | 121 | action 122 | openInBrowser: 123 | cell 124 | PSLinkCell 125 | cellClass 126 | CSPCalloutCell 127 | calloutColor 128 | #0f7438 129 | url 130 | https://www.paypal.me/midnighttweaks 131 | icon 132 | 133 | label 134 | Donation_MidnightChips 135 | sublabel 136 | pay 137 | 138 | 139 | 140 | action 141 | openInBrowser: 142 | cell 143 | PSLinkCell 144 | cellClass 145 | CSPCalloutCell 146 | calloutColor 147 | #10a29e 148 | url 149 | https://www.paypal.me/thepinpal/ 150 | icon 151 | 152 | label 153 | Donation_PINPAL 154 | sublabel 155 | pay 156 | 157 | 158 | 159 | cell 160 | PSGroupCell 161 | label 162 | Support 163 | 164 | 165 | 166 | action 167 | openInBrowser: 168 | cell 169 | PSLinkCell 170 | url 171 | https://github.com/midnightchip/HomeGesture-Applist/issues 172 | label 173 | Submit_Issue 174 | sublabel 175 | Report_GitHub 176 | 177 | 178 | 179 | action 180 | email: 181 | cell 182 | PSLinkCell 183 | mailto 184 | mailto:midnightchips@gmail.com?subject=HomeGesture%20v0.0.1 185 | includeLogs 186 | 187 | label 188 | Email_Support 189 | sublabel 190 | Need_help 191 | 192 | 193 | 194 | action 195 | copyTweakList 196 | cell 197 | PSButtonCell 198 | label 199 | Copy_Tweak_List 200 | sublabel 201 | Needing_list 202 | 203 | 204 | 205 | cell 206 | PSGroupCell 207 | label 208 | Contact 209 | footerText 210 | MidnightChips, VitaTaf, PINPAL © 2018 211 | footerAlignment 212 | 1 213 | 214 | 215 | 216 | cell 217 | PSLinkCell 218 | cellClass 219 | CSPDeveloperCell 220 | action 221 | openInBrowser: 222 | username 223 | MidnightChip 224 | provider 225 | 1 226 | height 227 | 81 228 | devName 229 | 230 | devTitle 231 | @MidnightChip 232 | devSubtitle 233 | 234 | 235 | 236 | 237 | cell 238 | PSLinkCell 239 | cellClass 240 | CSPDeveloperCell 241 | action 242 | openInBrowser: 243 | username 244 | TPinpal 245 | provider 246 | 1 247 | height 248 | 81 249 | devName 250 | 251 | devTitle 252 | @TPinpal 253 | devSubtitle 254 | 255 | 256 | 257 | cell 258 | PSLinkCell 259 | cellClass 260 | CSPDeveloperCell 261 | action 262 | openInBrowser: 263 | username 264 | duraidabdul 265 | provider 266 | 1 267 | height 268 | 81 269 | devName 270 | 271 | devTitle 272 | @duraidabdul 273 | devSubtitle 274 | 275 | 276 | 277 | 278 | 279 | action 280 | openInBrowser: 281 | cell 282 | PSLinkCell 283 | url 284 | https://www.reddit.com/user/MidnightChips 285 | icon 286 | 287 | label 288 | u/MidnightChips 289 | sublabel 290 | Follow_MidnightChips 291 | 292 | 293 | action 294 | openInBrowser: 295 | cell 296 | PSLinkCell 297 | url 298 | https://www.reddit.com/user/THE_PINPAL614 299 | icon 300 | 301 | label 302 | u/THE_PINPAL614 303 | sublabel 304 | Follow_PINPAL 305 | 306 | 307 | 308 | action 309 | openInBrowser: 310 | cell 311 | PSLinkCell 312 | url 313 | https://www.reddit.com/user/VitaTaf 314 | icon 315 | 316 | label 317 | u/VitaTaf 318 | sublabel 319 | Follow_VitaTaf 320 | 321 | 322 | action 323 | openInBrowser: 324 | cell 325 | PSLinkCell 326 | url 327 | https://www.reddit.com/user/duraidabdul 328 | icon 329 | 330 | label 331 | u/DuraidAbdul 332 | sublabel 333 | Follow Duraid Abdul 334 | 335 | 336 | action 337 | openInBrowser: 338 | cell 339 | PSLinkCell 340 | url 341 | https://github.com/duraidabdul/Neptune 342 | icon 343 | 344 | label 345 | Checkout Neptune! 346 | sublabel 347 | An Amazing fork of HomeGesture by Duraid Abdul! 348 | 349 | 350 | 351 | 352 | title 353 | HomeGesture_support 354 | 355 | 356 | -------------------------------------------------------------------------------- /source/HGSpringBoard.xm: -------------------------------------------------------------------------------- 1 | #import "HomeGesture.h" 2 | 3 | bool originalButton; 4 | long _homeButtonType = 1; 5 | long _dismissalSlidingMode = 0; 6 | //SpringBoard Stuff 7 | 8 | // Enable Home Gestures 9 | %hook BSPlatform 10 | - (NSInteger)homeButtonType { 11 | _homeButtonType = %orig; 12 | if (originalButton) { 13 | originalButton = NO; 14 | return %orig; 15 | } else { 16 | return 2; 17 | } 18 | } 19 | %end 20 | 21 | // Restore Footer Indicators 22 | %hook SBDashBoardViewController 23 | - (void)viewDidLoad { 24 | originalButton = YES; 25 | %orig; 26 | } 27 | %end 28 | 29 | // Press Home Button for Siri 30 | %hook SBLockHardwareButtonActions 31 | - (id)initWithHomeButtonType:(long long)arg1 proximitySensorManager:(id)arg2 { 32 | if([prefs boolForKey:@"siriHome"]){ 33 | return %orig(_homeButtonType, arg2); 34 | }else{ 35 | return %orig; 36 | } 37 | } 38 | %end 39 | 40 | %hook SBVolumeHardwareButton 41 | - (id)initWithScreenshotGestureRecognizer:(id)arg1 shutdownGestureRecognizer:(id)arg2 homeButtonType:(long long)arg3 { 42 | return %orig(arg1,arg2,_homeButtonType); 43 | } 44 | %end 45 | 46 | %hook SBHomeHardwareButtonActions 47 | - (id)initWitHomeButtonType:(long long)arg1 { 48 | if([prefs boolForKey:@"siriHome"]){ 49 | return %orig(_homeButtonType); 50 | }else{ 51 | return %orig; 52 | } 53 | } 54 | %end 55 | 56 | %hook SBHomeHardwareButton 57 | - (id)initWithScreenshotGestureRecognizer:(id)arg1 homeButtonType:(long long)arg2 buttonActions:(id)arg3 gestureRecognizerConfiguration:(id)arg4 { 58 | if ([prefs boolForKey:@"remapScreen"]) { 59 | return %orig(arg1, _homeButtonType, arg3, arg4); 60 | } 61 | return %orig; 62 | } 63 | - (id)initWithScreenshotGestureRecognizer:(id)arg1 homeButtonType:(long long)arg2 { 64 | if ([prefs boolForKey:@"remapScreen"]) { 65 | return %orig(arg1, _homeButtonType); 66 | } 67 | return %orig; 68 | } 69 | %end 70 | 71 | 72 | long currentCachedMode = 99; 73 | 74 | static CALayer* playbackIcon; 75 | static CALayer* AirPlayIcon; 76 | static CALayer* platterLayer; 77 | 78 | %hook MediaControlsRoutingButtonView 79 | - (void)_updateGlyph { 80 | 81 | if (self.currentMode == currentCachedMode) { return; } 82 | 83 | currentCachedMode = self.currentMode; 84 | 85 | 86 | if (self.layer.sublayers.count >= 1) { 87 | if (self.layer.sublayers[0].sublayers.count >= 1) { 88 | if (self.layer.sublayers[0].sublayers[0].sublayers.count == 2) { 89 | 90 | playbackIcon = self.layer.sublayers[0].sublayers[0].sublayers[1].sublayers[0]; 91 | AirPlayIcon = self.layer.sublayers[0].sublayers[0].sublayers[1].sublayers[1]; 92 | platterLayer = self.layer.sublayers[0].sublayers[0].sublayers[1]; 93 | 94 | if (self.currentMode == 2) { // Play/Pause Mode 95 | 96 | // Play/Pause Icon 97 | playbackIcon.speed = 0.5; 98 | 99 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:1 dampingRatio:1 animations:^{ 100 | playbackIcon.transform = CATransform3DMakeScale(-1, -1, 1); 101 | playbackIcon.opacity = 0.75; 102 | }]; 103 | [animator startAnimation]; 104 | 105 | // AirPlay Icon 106 | AirPlayIcon.speed = 0.75; 107 | 108 | UIViewPropertyAnimator *animator2 = [[UIViewPropertyAnimator alloc] initWithDuration:1 dampingRatio:1 animations:^{ 109 | AirPlayIcon.transform = CATransform3DMakeScale(0.85, 0.85, 1); 110 | AirPlayIcon.opacity = -0.75; 111 | }]; 112 | [animator2 startAnimation]; 113 | 114 | platterLayer.backgroundColor = [[UIColor colorWithRed:0 green:0.478 blue:1.0 alpha:0.0] CGColor]; 115 | 116 | } else if (self.currentMode == 0 || self.currentMode == 1) { // AirPlay Mode 117 | 118 | // Play/Pause Icon 119 | playbackIcon.speed = 0.75; 120 | 121 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:1 dampingRatio:1 animations:^{ 122 | playbackIcon.transform = CATransform3DMakeScale(-0.85, -0.85, 1); 123 | playbackIcon.opacity = -0.75; 124 | }]; 125 | [animator startAnimation]; 126 | 127 | // AirPlay Icon 128 | AirPlayIcon.speed = 0.5; 129 | 130 | UIViewPropertyAnimator *animator2 = [[UIViewPropertyAnimator alloc] initWithDuration:1 dampingRatio:1 animations:^{ 131 | AirPlayIcon.transform = CATransform3DMakeScale(1, 1, 1); 132 | if (self.currentMode == 0) { 133 | AirPlayIcon.opacity = 0.75; 134 | platterLayer.backgroundColor = [[UIColor colorWithRed:0 green:0.478 blue:1.0 alpha:0.0] CGColor]; 135 | } else if (self.currentMode == 1) { 136 | AirPlayIcon.opacity = 1; 137 | platterLayer.backgroundColor = [[UIColor colorWithRed:0 green:0.478 blue:1.0 alpha:1.0] CGColor]; 138 | platterLayer.cornerRadius = 18; 139 | } 140 | }]; 141 | [animator2 startAnimation]; 142 | } 143 | } 144 | } 145 | } 146 | } 147 | %end 148 | 149 | 150 | // Hide Torch Button on CoverSheet 151 | %hook SBDashBoardQuickActionsViewController 152 | -(BOOL)hasFlashlight{ 153 | if([prefs boolForKey:@"hideTorch"]){ 154 | return NO; 155 | }else{ 156 | return %orig; 157 | } 158 | } 159 | 160 | // Hide Camera Button on Coversheet 161 | -(BOOL)hasCamera{ 162 | if([prefs boolForKey:@"hideCamera"]){ 163 | return NO; 164 | }else{ 165 | return %orig; 166 | } 167 | } 168 | %end 169 | 170 | //Enable Torch/Camera buttons on unsupported devices 171 | %hook SBDashBoardQuickActionsViewController 172 | + (BOOL)deviceSupportsButtons { 173 | return YES; 174 | } 175 | %end 176 | 177 | // Reinitialize quick action toggles 178 | %hook SBDashBoardQuickActionsView 179 | - (void)_layoutQuickActionButtons { 180 | %orig; 181 | for (UIView *subview in self.subviews) { 182 | if (subview.frame.size.width < 50) { 183 | if (subview.frame.origin.x < 50) { 184 | CGRect _frame = subview.frame; 185 | _frame = CGRectMake(46, _frame.origin.y - 90, 50, 50); 186 | subview.frame = _frame; 187 | [subview sb_removeAllSubviews]; 188 | #pragma clang diagnostic push 189 | #pragma clang diagnostic ignored "-Wunused-value" 190 | [subview init]; 191 | #pragma clang diagnostic pop 192 | } else if (subview.frame.origin.x > 100) { 193 | CGFloat _screenWidth = subview.frame.origin.x + subview.frame.size.width / 2; 194 | CGRect _frame = subview.frame; 195 | _frame = CGRectMake(_screenWidth - 96, _frame.origin.y - 90, 50, 50); 196 | subview.frame = _frame; 197 | [subview sb_removeAllSubviews]; 198 | #pragma clang diagnostic push 199 | #pragma clang diagnostic ignored "-Wunused-value" 200 | [subview init]; 201 | #pragma clang diagnostic pop 202 | } 203 | } 204 | } 205 | } 206 | %end 207 | 208 | // Override rendered corner radius in app switcher page, (for anytime the fluid switcher gestures are running). 209 | %hook SBAppSwitcherPageView 210 | - (void)_updateCornerRadius { 211 | if (self.cornerRadius == 20) { 212 | self.cornerRadius = 5; 213 | } 214 | %orig; 215 | return; 216 | } 217 | %end 218 | 219 | // Override Reachability corner radius. 220 | %hook SBReachabilityBackgroundView 221 | - (double)_displayCornerRadius { 222 | return 5; 223 | } 224 | %end 225 | 226 | //Icon transition 227 | long _iconHighlightInitiationSkipper = 0; 228 | 229 | %hook SBIconView 230 | - (void)setHighlighted:(bool)arg1 { 231 | 232 | if (_iconHighlightInitiationSkipper) { 233 | %orig; 234 | return; 235 | } 236 | 237 | if (arg1 == YES) { 238 | 239 | if (!self.highlighted) { 240 | _iconHighlightInitiationSkipper = 1; 241 | %orig; 242 | %orig(NO); 243 | _iconHighlightInitiationSkipper = 0; 244 | } 245 | 246 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.125 dampingRatio:1 animations:^{ 247 | %orig; 248 | }]; 249 | [animator startAnimation]; 250 | } else { 251 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.25 dampingRatio:1 animations:^{ 252 | %orig; 253 | }]; 254 | [animator startAnimation]; 255 | } 256 | return; 257 | } 258 | %end 259 | 260 | 261 | @interface NCToggleControl : UIView 262 | - (void)setHighlighted:(bool)arg1; 263 | @end 264 | 265 | %hook NCToggleControl 266 | - (void)setHighlighted:(bool)arg1 { 267 | if (arg1 == YES) { 268 | 269 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.125 curve:UIViewAnimationCurveEaseOut animations:^{ 270 | %orig; 271 | }]; 272 | [animator startAnimation]; 273 | } else { 274 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.5 dampingRatio:1 animations:^{ 275 | %orig; 276 | }]; 277 | [animator startAnimation]; 278 | } 279 | return; 280 | } 281 | %end 282 | 283 | 284 | @interface SBEditingDoneButton : UIView 285 | - (void)setHighlighted:(bool)arg1; 286 | @end 287 | 288 | %hook SBEditingDoneButton 289 | -(void)layoutSubviews { 290 | %orig; 291 | 292 | if (!self.layer.masksToBounds) { 293 | self.layer.continuousCorners = YES; 294 | self.layer.masksToBounds = YES; 295 | self.layer.cornerRadius = 13; 296 | } 297 | 298 | /* 299 | CGRect _frame = self.frame; 300 | if (_frame.origin.y != 16) { 301 | _frame.origin.y = 16; 302 | self.frame = _frame; 303 | }*/ 304 | } 305 | - (void)setHighlighted:(bool)arg1 { 306 | if (arg1 == YES) { 307 | 308 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.1 curve:UIViewAnimationCurveEaseOut animations:^{ 309 | %orig; 310 | }]; 311 | [animator startAnimation]; 312 | } else { 313 | UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:0.5 dampingRatio:1 animations:^{ 314 | %orig; 315 | }]; 316 | [animator startAnimation]; 317 | } 318 | return; 319 | } 320 | %end 321 | 322 | //Home Bar 323 | // Hide HomeBar 324 | %hook MTLumaDodgePillView 325 | - (id)initWithFrame:(struct CGRect)arg1 { 326 | if ([prefs boolForKey:@"hideBar"]){ 327 | return %orig; 328 | }else{ 329 | return NULL; 330 | } 331 | } 332 | %end 333 | 334 | // Coversheet Home Bar Color 335 | %hook MTStaticColorPillView 336 | -(UIColor *)pillColor { 337 | if([prefs boolForKey:@"enablePillColor"]){ 338 | return [prefs colorForKey:@"customColor"]; 339 | }else { 340 | return %orig; 341 | } 342 | } 343 | 344 | -(void)setPillColor:(UIColor *)pillColor { 345 | if([prefs boolForKey:@"enablePillColor"]){ 346 | pillColor = [prefs colorForKey:@"customColor"]; 347 | %orig(pillColor); 348 | }else { 349 | %orig; 350 | } 351 | 352 | } 353 | -(id)initWithFrame:(CGRect)arg1{ 354 | if ([prefs boolForKey:@"hideBar"]){ 355 | return %orig; 356 | }else{ 357 | return NULL; 358 | } 359 | } 360 | %end 361 | 362 | // Hide home bar in cover sheet 363 | %hook SBDashboardHomeAffordanceView 364 | - (void)_createStaticHomeAffordance { 365 | if ([prefs boolForKey:@"hideBarCover"]){ 366 | return %orig; 367 | }else{ 368 | return; 369 | } 370 | } 371 | %end 372 | 373 | //TODO ADDED HERE 374 | 375 | // Workaround for TouchID respring bug 376 | %hook SBCoverSheetSlidingViewController 377 | - (void)_finishTransitionToPresented:(_Bool)arg1 animated:(_Bool)arg2 withCompletion:(id)arg3 { 378 | if ((_dismissalSlidingMode != 1) && (arg1 == 0)) { 379 | return; 380 | } else { 381 | %orig; 382 | } 383 | } 384 | - (long long)dismissalSlidingMode { 385 | _dismissalSlidingMode = %orig; 386 | return %orig; 387 | } 388 | %end 389 | 390 | // Hide Notification Hints 391 | %hook NCNotificationListSectionRevealHintView 392 | - (void)_updateHintTitle { 393 | if(![prefs boolForKey:@"notificationHint"]){ 394 | %orig; 395 | }else{ 396 | return; 397 | } 398 | } 399 | %end 400 | 401 | // Disable Breadcrumb 402 | %hook SBWorkspaceDefaults 403 | - (bool)isBreadcrumbDisabled { 404 | if (![prefs boolForKey:@"enableBread"]){ 405 | return NO; 406 | }else{ 407 | return YES; 408 | } 409 | } 410 | %end 411 | 412 | // Swipe to Kill in App Switcher 413 | %hook SBAppSwitcherSettings 414 | - (long long)effectiveKillAffordanceStyle { 415 | if([prefs boolForKey:@"enableKill"]){ 416 | return 2; 417 | }else{ 418 | return %orig; 419 | } 420 | } 421 | - (NSInteger)killAffordanceStyle { 422 | if([prefs boolForKey:@"enableKill"]){ 423 | return 2; 424 | }else{ 425 | return %orig; 426 | } 427 | } 428 | - (void)setKillAffordanceStyle:(NSInteger)style { 429 | if([prefs boolForKey:@"enableKill"]){ 430 | %orig(2); 431 | }else{ 432 | %orig; 433 | } 434 | } 435 | 436 | //Grid Swicher 437 | /* 438 | -(NSInteger)switcherStyle { 439 | return 2; 440 | } 441 | */ 442 | 443 | %end 444 | 445 | // Enable Simutaneous Scrolling and Dismissing 446 | %hook SBFluidSwitcherViewController 447 | - (double)_killGestureHysteresis { 448 | if([prefs boolForKey:@"enableKill"]){ 449 | double orig = %orig; 450 | return orig == 30 ? 10 : orig; 451 | }else{ 452 | return %orig; 453 | } 454 | } 455 | %end 456 | 457 | 458 | typedef enum { 459 | Tall=0, 460 | Regular=1 461 | } NEPStatusBarHeightStyle; 462 | 463 | @interface SBDashBoardTeachableMomentsContainerView : UIView 464 | @property(retain, nonatomic) UIView *controlCenterGrabberView; 465 | @property(retain, nonatomic) UIView *controlCenterGrabberEffectContainerView; 466 | @end 467 | 468 | // Hide Control Center Indicator on Coversheet 469 | %hook SBDashBoardTeachableMomentsContainerView 470 | -(void)_addControlCenterGrabber { 471 | if ([prefs boolForKey:@"notificationHint"]){ 472 | return; 473 | }else{ 474 | return %orig; 475 | } 476 | } 477 | %end 478 | 479 | // Hide Coversheet Page Dots 480 | 481 | %hook SBDashBoardPageControl 482 | -(id)_pageIndicatorColor{ 483 | if ([prefs boolForKey:@"dots"]){ 484 | return [UIColor clearColor]; 485 | }else{ 486 | return %orig; 487 | } 488 | } 489 | -(id)_currentPageIndicatorColor{ 490 | if ([prefs boolForKey:@"dots"]){ 491 | return [UIColor clearColor]; 492 | }else{ 493 | return %orig; 494 | } 495 | } 496 | %end 497 | 498 | // Hide "Swipe up to unlock" on Coversheet 499 | %hook SBDashBoardTeachableMomentsContainerViewController 500 | - (void)_updateTextLabel { 501 | if(![prefs boolForKey:@"unlockHint"]){ 502 | %orig; 503 | }else{ 504 | return; 505 | } 506 | } 507 | %end 508 | 509 | //Fix Reachability from neptune 510 | 511 | %hook SBReachabilitySettings 512 | - (void)setSystemWideSwipeDownHeight:(double) systemWideSwipeDownHeight { 513 | return %orig(100); 514 | } 515 | %end 516 | 517 | 518 | 519 | 520 | 521 | 522 | %ctor{ 523 | if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"12.0")){ 524 | NSString *bundleID = [NSBundle mainBundle].bundleIdentifier; 525 | NSFileManager *fileManager = [NSFileManager defaultManager]; 526 | if ([bundleID isEqualToString:@"com.apple.springboard"] && [fileManager fileExistsAtPath:@"/var/mobile/Library/Preferences/HomeGesture/setup"]) { 527 | %init(); 528 | } 529 | } 530 | } 531 | 532 | 533 | --------------------------------------------------------------------------------