This gist's comment stream is a collection of webdev apps for OS X. Feel free to add links to apps you like, just make sure you add some context to what it does — either from the creator's website or your own thoughts.
— Erik
| import Foundation | |
| class MyService: NSObject, MyServiceProtocol { | |
| func upperCaseString(_ string: String, withReply reply: @escaping (String) -> Void) { | |
| let response = string.uppercased() | |
| reply(response) | |
| } | |
| } |
| // | |
| // UIView+Tooltips.h | |
| // Crossword | |
| // | |
| // Created by Steven Troughton-Smith on 13/09/2019. | |
| // Copyright © 2019 Steven Troughton-Smith. All rights reserved. | |
| // | |
| #import <UIKit/UIKit.h> |
| // The SwiftUI Lab | |
| // Website: https://swiftui-lab.com | |
| // Article: https://swiftui-lab.com/alignment-guides | |
| import SwiftUI | |
| class Model: ObservableObject { | |
| @Published var minimumContainer = true | |
| @Published var extendedTouchBar = false | |
| @Published var twoPhases = true |
| protocol KeyPathUpdatable {} | |
| extension KeyPathUpdatable { | |
| func updating<LeafType>(_ keyPath: WritableKeyPath<Self, LeafType>, to value: LeafType) -> Self { | |
| var copy = self | |
| copy[keyPath: keyPath] = value | |
| return copy | |
| } | |
| } |
| Byobu is a suite of enhancements to tmux, as a command line | |
| tool providing live system status, dynamic window management, | |
| and some convenient keybindings: | |
| F1 * Used by X11 * | |
| Shift-F1 Display this help | |
| F2 Create a new window | |
| Shift-F2 Create a horizontal split | |
| Ctrl-F2 Create a vertical split | |
| Ctrl-Shift-F2 Create a new session |
| extension NSAttributedString { | |
| func highlighting(_ substring: String, using color: UIColor) -> NSAttributedString { | |
| let attributedString = NSMutableAttributedString(attributedString: self) | |
| attributedString.addAttribute(.foregroundColor, value: color, range: (self.string as NSString).range(of: substring)) | |
| return attributedString | |
| } | |
| } | |
| // Usage: |
| # the following two lines give a two-line status, with the current window highlighted | |
| hardstatus alwayslastline | |
| hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]' | |
| # huge scrollback buffer | |
| defscrollback 5000 | |
| # no welcome message | |
| startup_message off |