All Projects → chylex → Tweetduck

chylex / Tweetduck

Licence: mit
A Windows Client for TweetDeck. Not affiliated with Twitter.

Programming Languages

javascript
184084 projects - #8 most used programming language
csharp
926 projects

Projects that are alternatives of or similar to Tweetduck

Quick Picture Viewer
🖼️ Lightweight, versatile desktop image viewer for Windows. The best replacement for the default Windows photo viewer.
Stars: ✭ 237 (+85.16%)
Mutual labels:  app, desktop, winforms
Quick Screen Recorder
Lightweight desktop screen recorder for Windows.
Stars: ✭ 80 (-37.5%)
Mutual labels:  app, desktop, winforms
FoldingBrowser
FoldingCoin & CureCoin All-In-One Installer
Stars: ✭ 48 (-62.5%)
Mutual labels:  winforms, desktop, cef
Chirp
🐦 A cross platform twitter application
Stars: ✭ 129 (+0.78%)
Mutual labels:  twitter, app, desktop
Org Wiki
Wiki for Emacs org-mode built on top of Emacs org-mode.
Stars: ✭ 319 (+149.22%)
Mutual labels:  app, desktop
Tusk
Refined Evernote desktop app
Stars: ✭ 3,076 (+2303.13%)
Mutual labels:  app, desktop
Phaser Ce Npm Webpack Typescript Starter Project
Project to get you started with your Phaser-CE (using the npm module) game using Typescript and Webpack for building! No hassle asset management, Google Web Font loader, live server, development vs distribution build pipeline, Electron packaging for desktop builds, and more...
Stars: ✭ 414 (+223.44%)
Mutual labels:  app, desktop
Kubenav
kubenav is the navigator for your Kubernetes clusters right in your pocket.
Stars: ✭ 901 (+603.91%)
Mutual labels:  app, desktop
Opentween
TwitterクライアントのTweenからフォークしたオープンなプロジェクト
Stars: ✭ 203 (+58.59%)
Mutual labels:  twitter, winforms
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (+239.06%)
Mutual labels:  twitter, app
Scheduled Tweets App
A Laravel app to schedule tweets
Stars: ✭ 21 (-83.59%)
Mutual labels:  twitter, app
Winforms
Windows Forms is a .NET UI framework for building Windows desktop applications.
Stars: ✭ 3,301 (+2478.91%)
Mutual labels:  desktop, winforms
Talon For Twitter Android
The most powerful and beautiful Twitter client available.
Stars: ✭ 1,022 (+698.44%)
Mutual labels:  twitter, app
Nanoleaf Desktop
A modern desktop application for the Nanoleaf Aurora and Canvas
Stars: ✭ 90 (-29.69%)
Mutual labels:  app, desktop
Appify
Create a macOS Application from an executable (like a Go binary)
Stars: ✭ 372 (+190.63%)
Mutual labels:  app, desktop
Chromely
Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS
Stars: ✭ 2,728 (+2031.25%)
Mutual labels:  cef, desktop
Brisk
✨Cross-platform set of tools for building native UIs with Reason/OCaml
Stars: ✭ 518 (+304.69%)
Mutual labels:  app, desktop
Ao
Elegant Microsoft To-Do desktop app
Stars: ✭ 1,923 (+1402.34%)
Mutual labels:  app, desktop
Revery
⚡ Native, high-performance, cross-platform desktop apps - built with Reason!
Stars: ✭ 7,812 (+6003.13%)
Mutual labels:  app, desktop
Ytmdesktop
A Desktop App for YouTube Music
Stars: ✭ 1,297 (+913.28%)
Mutual labels:  app, desktop

Support

Follow TweetDuck on Twitter  |  Support via Ko-fi  |  Support via Patreon

Build Instructions

Setup

The program can be built using Visual Studio 2019. Before opening the solution, please make sure you have the following workloads and components installed (optional components that are not listed can be deselected to save space):

  • .NET desktop development
    • .NET Framework 4.7.2 SDK
    • F# desktop language support
  • Desktop development with C++
    • MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)

After opening the solution, right-click the solution and select Restore NuGet Packages, or manually run this command in the Package Manager Console:

PM> Install-Package CefSharp.WinForms -Version 67.0.0

Debug

The Debug configuration uses a separate data folder by default (%LOCALAPPDATA%\TweetDuckDebug) to avoid affecting an existing installation of TweetDuck. You can modify this by opening TweetDuck Properties in Visual Studio, clicking the Debug tab, and changing the Command line arguments field.

While debugging, opening the main menu and clicking Reload browser automatically rebuilds all resources in Resources/Scripts and Resources/Plugins. This allows editing HTML/CSS/JS files without restarting the program, but it will cause a short delay between browser reloads.

Release

Open Batch Build, tick all Release configurations with x86 platform, and click Rebuild. Check the status bar to make sure it says Rebuild All succeeded; if not, see the Troubleshooting section.

After the build succeeds, the bin/x86/Release folder will contain files intended for distribution (no debug symbols or other unnecessary files). You may package these files yourself, or see the Installers section for automated installer generation.

The Release configuration omits debug symbols and other unnecessary files, and it will automatically generate the update installer if the environment is setup correctly. You can modify this behavior by opening TweetDuck.csproj, and editing the <Target Name="AfterBuild" Condition="$(ConfigurationName) == Release"> section.

If you decide to publicly release a custom version, please make it clear that it is not an official release of TweetDuck. There are many references to the official website and this repository, especially in the update system, so search for chylex.com and github.com in all files and replace them appropriately.

Troubleshooting

Error: The command (...) exited with code 1

  • This indicates a failed post-build event, open the Output tab for logs
  • Determine if there was an IO error from the rmdir commands, the custom MSBuild targets near the end of the .csproj file, or in the PostBuild.fsx script (Encountered an error while running PostBuild)
  • Some files are checked for invalid characters:
    • Resources/Plugins/emoji-keyboard/emoji-ordering.txt line endings must be LF (line feed); any CR (carriage return) in the file will cause a failed build, and you will need to ensure correct line endings in your text editor

Installers

TweetDuck uses Inno Setup for installers and updates. First, download and install InnoSetup 5.6.1 (with Preprocessor support) and the Inno Download Plugin 1.5.0.

Next, add the Inno Setup installation folder (usually C:\Program Files (x86)\Inno Setup 5) into your PATH environment variable. You may need to restart File Explorer and Visual Studio for the change to take place.

Now you can generate installers by running bld/GEN INSTALLERS.bat. Note that this will only package the files, you still need to run the release build in Visual Studio first!

After the window closes, three installers will be generated inside the bld/Output folder:

  • TweetDuck.exe
    • This is the main installer that creates entries in the Start Menu & Programs and Features, and an optional desktop icon
  • TweetDuck.Update.exe
    • This is a lightweight update installer that only contains the most important files that usually change across releases
    • It will automatically download and apply the full installer if the user's current version of CEF does not match
  • TweetDuck.Portable.exe
    • This is a portable installer that does not need administrator privileges
    • It automatically creates a makeportable file in the program folder, which forces TweetDuck to run in portable mode

The installers are built for GitHub Releases, where the main and portable installers can download and install Visual C++ if it's missing, and the update installer will download and apply the full installer when needed. If you plan to distribute your own installers via GitHub, you can change the variables in the installer files (.iss) and in the update system to point to your repository, and use the power of the existing update system.

Notes

When opening Batch Build, you will also see x64 and AnyCPU configurations. These are visible due to what I consider a Visual Studio bug, and will not work without significant changes to the project. Manually running the Resources/PostCefUpdate.ps1 PowerShell script modifies the downloaded CefSharp packages, and removes the invalid configurations.

There is a small chance running GEN INSTALLERS.bat immediately shows a resource error. If that happens, close the console window (which terminates all Inno Setup processes and leaves corrupted installers in the output folder), and run it again.

Running GEN INSTALLERS.bat uses about 400 MB of RAM due to high compression. You can lower this to about 140 MB by opening gen_full.iss and gen_port.iss, and changing LZMADictionarySize=15360 to LZMADictionarySize=4096.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].