<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: TangoMan75</title>
    <description>The latest articles on DEV Community by TangoMan75 (@tangoman75).</description>
    <link>https://dev.to/tangoman75</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2975012%2F094a89e1-0d2d-41e3-bf10-191bd79302fc.png</url>
      <title>DEV Community: TangoMan75</title>
      <link>https://dev.to/tangoman75</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tangoman75"/>
    <language>en</language>
    <item>
      <title>⚠️ Android : AppManager Interceptor breaks `android.intent.action.OPEN_DOCUMENT` Intent.</title>
      <dc:creator>TangoMan75</dc:creator>
      <pubDate>Tue, 07 Oct 2025 09:57:27 +0000</pubDate>
      <link>https://dev.to/tangoman75/android-appmanager-interceptor-breaks-androidintentactionopendocument-intent-44kn</link>
      <guid>https://dev.to/tangoman75/android-appmanager-interceptor-breaks-androidintentactionopendocument-intent-44kn</guid>
      <description>&lt;p&gt;📦 &lt;strong&gt;AppManager by Muntashir Al-Islam&lt;/strong&gt; (&lt;code&gt;io.github.muntashirakon.AppManager&lt;/code&gt;) is a powerful, open-source Android package manager designed for advanced users, developers, and privacy enthusiasts.&lt;br&gt;
Available on &lt;a href="https://github.com/MuntashirAkon/AppManager" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and &lt;a href="https://f-droid.org/packages/io.github.muntashirakon.AppManager" rel="noopener noreferrer"&gt;F-Droid&lt;/a&gt;, it offers deep control over installed apps, permissions, trackers, and system components.&lt;/p&gt;

&lt;p&gt;But one of its features - &lt;strong&gt;Interceptor&lt;/strong&gt; - can unintentionally disrupt core Android functionality.&lt;/p&gt;
&lt;h3&gt;
  
  
  🚫 The Problem: Interceptor Hijacks &lt;code&gt;OPEN_DOCUMENT&lt;/code&gt; Intents
&lt;/h3&gt;

&lt;p&gt;By default, AppManager enables a feature called &lt;strong&gt;Interceptor&lt;/strong&gt;, designed to catch and reroute app intents for inspection. While useful for debugging or privacy analysis, it can interfere with legitimate system actions - most notably the &lt;code&gt;android.intent.action.OPEN_DOCUMENT&lt;/code&gt; intent used by Android's Storage Access Framework (SAF).&lt;/p&gt;

&lt;p&gt;This intent is critical for apps that allow users to browse and select files from their device.&lt;/p&gt;

&lt;p&gt;When Interceptor is active, apps that rely on this intent - like &lt;strong&gt;DropBox&lt;/strong&gt; (when using  &lt;em&gt;"save to device"&lt;/em&gt; feature) or &lt;strong&gt;NewPipe&lt;/strong&gt; (when downloading media) - will fail with the following error:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT ... }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This breaks file access across multiple apps, leaving users unable to save or open documents properly.&lt;/p&gt;

&lt;p&gt;The problem is that &lt;strong&gt;the default Intent will be removed permanently&lt;/strong&gt; !&lt;/p&gt;

&lt;p&gt;Even if you &lt;strong&gt;Disable Interceptor in AppManager&lt;/strong&gt; like so :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. Open AppManager&lt;/li&gt;
&lt;li&gt;2. Navigate to &lt;strong&gt;Settings &amp;gt; Appearance &amp;gt; Enable/disable features&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;3. Uncheck &lt;strong&gt;Interceptor&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or even if &lt;strong&gt;AppManager&lt;/strong&gt; is completely uninstalled from system.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠️ Attempted Fix: Resetting App Preferences
&lt;/h3&gt;

&lt;p&gt;Some forums suggest resetting app defaults:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings &amp;gt; Apps&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Tap the three-dot menu in the top-right corner&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Reset app preferences&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Unfortunately, this doesn't resolve the issue caused by Interceptor.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ The Workaround: Restore SAF
&lt;/h3&gt;

&lt;p&gt;To restore &lt;strong&gt;Storage Access Framework (SAF)&lt;/strong&gt; provider, which handles &lt;code&gt;OPEN_DOCUMENT&lt;/code&gt; intents and repair normal file access, you will need to reinstall Android's Default File Picker.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;strong&gt;"Files"&lt;/strong&gt; (&lt;code&gt;com.google.android.documentsui&lt;/code&gt;) - the official system picker (with the blue folder icon):
👉 &lt;a href="https://www.apkmirror.com/apk/google-inc/files-6" rel="noopener noreferrer"&gt;Download from APKMirror&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Do not confuse this with "Files by Google"&lt;/strong&gt; (&lt;code&gt;com.google.android.apps.nbu.files&lt;/code&gt;) - a separate app focused on storage cleanup and file management.&lt;/p&gt;

&lt;p&gt;Once installed, apps should be able to invoke the file picker correctly again.&lt;/p&gt;

</description>
      <category>android</category>
      <category>appmanager</category>
    </item>
    <item>
      <title>TangoMan vscode-command-cycle: Simplify Your Workflow with Command Cycling in VSCode</title>
      <dc:creator>TangoMan75</dc:creator>
      <pubDate>Fri, 28 Mar 2025 15:52:55 +0000</pubDate>
      <link>https://dev.to/tangoman75/tangoman-vscode-command-cycle-simplify-your-workflow-with-command-cycling-in-vscode-4830</link>
      <guid>https://dev.to/tangoman75/tangoman-vscode-command-cycle-simplify-your-workflow-with-command-cycling-in-vscode-4830</guid>
      <description>&lt;p&gt;Are you tired of manually executing the same sequence of commands in Visual Studio Code? Do you wish there was an easier way to streamline repetitive tasks? Look no further! The &lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt; extension is here to revolutionize your workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔁 What is TangoMan vscode-command-cycle?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt; is a lightweight and powerful Visual Studio Code extension that allows you to loop through a user-defined sequence of commands with every press of the same keybinding. Whether you're transforming text, automating tasks, or cycling through tools, this extension makes it effortless to execute commands in a predefined order.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Command Cycling&lt;/strong&gt;: Define a sequence of commands and execute them in a loop with a single keybinding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customizable&lt;/strong&gt;: Configure your command sequences directly in &lt;code&gt;keybindings.json&lt;/code&gt; to suit your workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy&lt;/strong&gt;: No telemetry, no collection of personal data, no &lt;em&gt;Google Analytics&lt;/em&gt; or any other third-party tracking services included.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Source&lt;/strong&gt;: Fully open source and licensed under MIT, so you can use, modify, and contribute freely.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔧 How It Works
&lt;/h2&gt;

&lt;p&gt;Using &lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt; is as simple as 1-2-3:&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 1. Install the Extension
&lt;/h3&gt;

&lt;p&gt;Launch &lt;em&gt;VSCode Quick Open&lt;/em&gt; (&lt;code&gt;Ctrl+P&lt;/code&gt;), paste the following command, and press &lt;code&gt;Enter&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ext install TangoMan75.command-cycle
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxjqulhmaitzj20r0rl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxjqulhmaitzj20r0rl9.png" alt="ext install TangoMan75.command-cycle" width="744" height="92"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ 2. Configure Your Keybindings
&lt;/h3&gt;

&lt;p&gt;Add a custom keybinding in your &lt;code&gt;keybindings.json&lt;/code&gt; file to define the commands you want to cycle through. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="nl"&gt;"key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ctrl+e"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command-cycle.loop"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
       &lt;/span&gt;&lt;span class="nl"&gt;"commands"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
           &lt;/span&gt;&lt;span class="s2"&gt;"Command1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
           &lt;/span&gt;&lt;span class="s2"&gt;"Command2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
           &lt;/span&gt;&lt;span class="s2"&gt;"Command3"&lt;/span&gt;&lt;span class="w"&gt;
       &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
   &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To open the &lt;code&gt;keybindings.json&lt;/code&gt; file: Open &lt;code&gt;Keyboard Shortcuts&lt;/code&gt; editor (&lt;code&gt;Ctrl+K Ctrl+S&lt;/code&gt;), and then select the &lt;code&gt;Open Keyboard Shortcuts (JSON)&lt;/code&gt; button on the right of the editor title bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewm6xs8fdtrvmiv6p8ob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fewm6xs8fdtrvmiv6p8ob.png" alt="Open Keyboard Shortcuts" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔁 3. Execute Commands in a Loop
&lt;/h3&gt;

&lt;p&gt;Press the configured keybinding (e.g., &lt;code&gt;Ctrl+E&lt;/code&gt;) to execute the commands in the specified order. Each subsequent press cycles to the next command.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 Why Use TangoMan vscode-command-cycle?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Boost Productivity&lt;/strong&gt;: Save time by automating repetitive tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplify Workflows&lt;/strong&gt;: Execute complex command sequences with ease.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customizable for Any Use Case&lt;/strong&gt;: From text transformations to tool integrations, the possibilities are endless.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless Integration&lt;/strong&gt;: Works natively with Visual Studio Code's command system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔥 Example Use Case: Text Case Transformation
&lt;/h2&gt;

&lt;p&gt;While working on code you often need to change text case formats (e.g., &lt;code&gt;camelCase&lt;/code&gt;, &lt;code&gt;kebab-case&lt;/code&gt;,&lt;code&gt;CONSTANT_CASE&lt;/code&gt;, etc.). With &lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt;, you can configure a keybinding to cycle through these transformations effortlessly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ctrl+k ctrl+t"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command-cycle.loop"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"commands"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"extension.changeCase.sentence"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"extension.changeCase.title"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"extension.changeCase.camel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"extension.changeCase.pascal"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="s2"&gt;"extension.changeCase.no"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"when"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"editorTextFocus &amp;amp;&amp;amp; !editorReadonly"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, every time you press &lt;code&gt;Ctrl+K Ctrl+T&lt;/code&gt;, the text will transform to the next case in the sequence.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnrcjmmt3f6w0x7oi0f5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnrcjmmt3f6w0x7oi0f5.gif" alt="vscode-command-cycle example" width="800" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 Contribute to the Project
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt; is an open-source project, and we welcome contributions from the community. Whether you want to report a bug, suggest a feature, or contribute code, check out the &lt;a href="https://github.com/TangoMan75/vscode-command-cycle" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;This extension is licensed under the &lt;a href="https://github.com/TangoMan75/vscode-command-cycle/blob/master/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;, so you can use it freely in your projects.&lt;/p&gt;




&lt;p&gt;Ready to take your Visual Studio Code experience to the next level? Install &lt;strong&gt;TangoMan vscode-command-cycle&lt;/strong&gt; today and start cycling through commands with ease!&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/TangoMan75/vscode-command-cycle" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;br&gt;
👉 &lt;a href="https://marketplace.visualstudio.com/items?itemName=TangoMan75.command-cycle" rel="noopener noreferrer"&gt;VSCode Marketplace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find this extension helpful, don't forget to star the repository and share it with your friends and colleagues!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>extensions</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Créer un GIF animé avec GIMP</title>
      <dc:creator>TangoMan75</dc:creator>
      <pubDate>Thu, 27 Mar 2025 18:44:16 +0000</pubDate>
      <link>https://dev.to/tangoman75/creer-un-gif-anime-avec-gimp-3cg7</link>
      <guid>https://dev.to/tangoman75/creer-un-gif-anime-avec-gimp-3cg7</guid>
      <description>&lt;p&gt;Créer un GIF animé avec GIMP est un processus qui implique de préparer vos images, de les importer en tant que calques, de définir les délais et d'exporter le fichier. Voici les étapes détaillées 🌟 :&lt;/p&gt;

&lt;h3&gt;
  
  
  1. 🖼️ Préparation des images :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Créez ou rassemblez vos images 🖍️ :&lt;/strong&gt; Vous pouvez créer chaque image individuellement dans GIMP ou utiliser des images existantes. Assurez-vous que toutes les images ont la même taille pour un GIF fluide 🎥.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vérifiez la taille des images 📏 :&lt;/strong&gt; Toutes les images doivent avoir les mêmes dimensions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nommez vos calques (facultatif) ✍️ :&lt;/strong&gt; Si vous créez les images dans GIMP, nommez chaque calque de manière séquentielle (par exemple, "image1", "image2", etc.). Cela facilitera l'organisation ultérieure 🔢.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. 📂 Importation des images en tant que calques :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ouvrez GIMP 🖌️.&lt;/li&gt;
&lt;li&gt;Allez dans &lt;code&gt;Fichier&lt;/code&gt; &amp;gt; &lt;code&gt;Ouvrir en tant que calques...&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffi3d0sw6tdeikpkqcul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffi3d0sw6tdeikpkqcul.png" alt="Ouvrir en tant que calques..." width="581" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sélectionnez toutes les images que vous souhaitez utiliser pour votre GIF et cliquez sur &lt;code&gt;Ouvrir&lt;/code&gt; ✅.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspz4k7pp1fvsf7hj8r4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspz4k7pp1fvsf7hj8r4p.png" alt="Sélectionnez les images" width="800" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Les fichiers "&lt;code&gt;.png&lt;/code&gt;" permettent de générer un fichier GIF moins volumineux et de meilleure qualité 🌈.&lt;/li&gt;
&lt;li&gt;GIMP importera chaque image en tant que calque distinct dans un seul fichier 📁.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. 🕒 Organisation des calques et définition des délais  :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ordre des calques 📑 :&lt;/strong&gt; L'ordre des calques dans la fenêtre des calques détermine l'ordre des images dans le GIF. Assurez-vous qu'ils sont dans l'ordre souhaité 🔄.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobbnror404hwqejsr3qv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fobbnror404hwqejsr3qv.png" alt="L'ordre des images dans le GIF" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Définition des délais ⏱️ :&lt;/strong&gt;
    * Double-cliquez sur le nom de chaque calque dans la fenêtre des calques 🖱️.
    * Dans la boîte de dialogue qui s'ouvre, ajoutez un délai entre parenthèses après le nom du calque 🗂️. Le délai est exprimé en millisecondes (ms). Par exemple, pour un délai de 100 ms, renommez le calque en "image1 (100ms)".
    * Répétez cette étape pour chaque calque, en définissant le délai souhaité pour chaque image 🔄.
    * Si vous ne mettez pas de temps, Gimp utilisera un temps par défaut 🎯.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. 👀 Prévisualisation du GIF (facultatif) :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Allez dans &lt;code&gt;Filtres&lt;/code&gt; &amp;gt; &lt;code&gt;Animation&lt;/code&gt; &amp;gt; &lt;code&gt;Lecture...&lt;/code&gt; 🎛️.&lt;/li&gt;
&lt;li&gt;Une fenêtre de prévisualisation s'ouvrira, vous permettant de voir votre GIF animé 🎬.&lt;/li&gt;
&lt;li&gt;Ajustez les délais des calques si nécessaire pour obtenir l'effet souhaité 🎥.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. 💾 Exportation du GIF :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Allez dans &lt;code&gt;Fichier&lt;/code&gt; &amp;gt; &lt;code&gt;Exporter sous...&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Choisissez un emplacement pour enregistrer votre fichier 📂.&lt;/li&gt;
&lt;li&gt;Dans le champ &lt;code&gt;Sélectionner le type de fichier (par extension)&lt;/code&gt;, choisissez &lt;code&gt;GIF image (*.gif)&lt;/code&gt; ✨.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsi78p4qtn24k91eniam.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsi78p4qtn24k91eniam.png" alt="Exporter sous..." width="800" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cliquez sur &lt;code&gt;Exporter&lt;/code&gt; 🔄.&lt;/li&gt;
&lt;li&gt;Dans la boîte de dialogue &lt;code&gt;Exporter en tant que GIF&lt;/code&gt;, cochez la case &lt;code&gt;Enregistrer en tant qu'animation&lt;/code&gt; 💡.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmt2g31h2z49snifwuvo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmt2g31h2z49snifwuvo.png" alt="Exporter sous..." width="532" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vous pouvez également choisir si vous souhaitez que le GIF soit en boucle (boucle infinie) ou non 🔁.&lt;/li&gt;
&lt;li&gt;Cliquez sur &lt;code&gt;Exporter&lt;/code&gt; 🎉.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conseils supplémentaires 💡 :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Optimisation ⚙️ :&lt;/strong&gt; Les GIF peuvent rapidement devenir volumineux. Pour réduire la taille du fichier, vous pouvez réduire le nombre de couleurs, réduire la taille des images ou optimiser le GIF lors de l'exportation 📉.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparence 🌟 :&lt;/strong&gt; GIMP gère la transparence dans les GIF. Si vous avez des calques avec des zones transparentes, elles seront conservées dans le GIF animé 💎.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calques de texte 📝 :&lt;/strong&gt; Vous pouvez ajouter des calques de texte pour créer des animations de texte 💬.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filtres et effets 🎨 :&lt;/strong&gt; Vous pouvez appliquer des filtres et des effets à vos calques pour créer des animations plus complexes ✨.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En suivant ces étapes, vous devriez être en mesure de créer des GIF animés avec GIMP 🚀.&lt;/p&gt;

</description>
      <category>gimp</category>
      <category>animated</category>
      <category>gif</category>
      <category>howto</category>
    </item>
  </channel>
</rss>
